UFW блокирует трафик в NAT

UFW блокирует трафик в NAT

Я создал гостевую виртуальную машину с помощью libvirt с мостом NAT по умолчанию. (Хост и гостевой сервер Ubuntu 14.04) После создания разрешающих правил для SSH и включения UFW на гостевой машине я больше не могу подключиться к гостевой машине.

Из системного журнала (гостя):

6 окт 17:36:51 ядро ​​ubuntu: [ 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 ОКНО=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 без проблем.

edit: для ясности, это логи гостя. Маршрутизация NAT работает. Проблема, похоже, на стороне гостя VM.

решение1

После долгих проб и ошибок я наконец нашел решение:

вместо:

Anywhere                   ALLOW IN    192.168.122.0/24 22/tcp

правильное правило должно быть таким:

 22/tcp                     ALLOW IN    192.168.122.0/24

я ошибочно указал исходный порт вместо порта назначения. Это было вызвано использованием короткой формы команды ufw allow:

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

Связанный контент