Я создал гостя VM с libvirt с Мостом NAT по умолчанию. (Хост и Гость Сервер Ubuntu 14.04) После создания позволяют правила для SSH и включающий ufw - на госте - я не могу больше соединяться с гостем.
Из системного журнала (гостя):
Oct 6 17:36:51 ubuntu kernel: [ 5969.693057] [UFW BLOCK] IN=eth0 OUT=MAC=52:54:00:ea:b5:2e:fe:54:00:ea:b5:2e:08:00 SRC=192.168.122.1 DST=192.168.122.152 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=5379 DF PROTO=TCP SPT=34376 DPT=22 WINDOW=29200 RES=0x00 SYN URGP=0
Состояние ufw (на госте):
root@ubuntu:~# ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
To Action From
-- ------ ----
Anywhere ALLOW IN 148.251.139.136 22/tcp
Anywhere ALLOW IN 148.251.139.133 22/tcp
Anywhere ALLOW IN 141.7.0.0/16 22/tcp
Anywhere ALLOW IN 192.168.122.0/24 22/tcp
Anywhere ALLOW IN 192.168.122.1 22/tcp
148.251.139.136 IP Хоста, Гость 192.168.122.152. Я понятия не имею почему ufw блоки позволенный IP Хоста/NAT.
Если я отключаю ufw на госте, я могу соединиться от хоста через SSH без проблем.
править: для разъяснения это журналы гостя. Маршрутизация NAT работает. Проблема, кажется, находится на гостевой стороне VM.
после большого метода проб и ошибок я наконец нашел решение:
вместо:
Anywhere ALLOW IN 192.168.122.0/24 22/tcp
корректное правило должно быть:
22/tcp ALLOW IN 192.168.122.0/24
я по ошибке определил исходный порт вместо целевого порта. Это было вызвано при помощи краткой формы ufw, позволяют команду:
ufw allow from 192.168.122.0/24 port 22 proto tcp
правильная форма:
ufw allow from 192.168.122.0/24 to any port 22 proto tcp