Какой порт должен быть разрешен в UFW для разрешения определенного исходящего трафика и почему - SPT против DPT
У меня проблемы с пониманием того, как SPT
а также DPT
перевести для исходящих соединений. когда ufw
блокирует определенное исходящее соединение, которое является портом, который должен быть разблокирован, и почему.
Например, глядя на эту строку журнала:
Feb 13 20:54:06 ubuntuvm kernel: [73952.037709] [UFW BLOCK] IN= OUT=enp0s3 SRC=192.168.1.100 DST=192.168.1.1 LEN=328 TOS=0x00 PREC=0x00 TTL=64 ID=32199 DF PROTO=UDP SPT=68 DPT=67 LEN=308
Просто соответствующие части для краткости:
... OUT=enp0s3 SRC=192.168.1.100 DST=192.168.1.1 ... SPT=68 DPT=67 ...
ubuntuvm
является 192.168.1.100
и мой роутер 192.168.1.1
и я понимаю, что сервер пытается обновить DHCP с сервера.
Итак, исходя из этого, я понимаю, что 192.168.1.100:68
пытается поговорить с 192.168.1.1:67
,
Это будет означать, что я бы на ubuntuvm
, пропустите на порт 68 (sudo ufw allow out 68
). Я сделал это, но это не сработало. Я должен был выпустить на порт 67.
Может кто-нибудь, пожалуйста, объясните мне это, потому что это не имеет смысла для меня.
1 ответ
UFW - это просто интерфейс для iptables. Команда sudo ufw allow out 68
Результаты в этих правилах iptables:
Chain ufw-user-output (1 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:68
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:68
это не то, что вы на самом деле хотите, потому что ваш исходный порт (SPT) равен 68, а порт назначения (DPT) равен 67.
Чтобы быть строгим, предположите, что вы действительно хотите:
sudo ufw allow out proto udp from 192.168.1.100 port 68 to 192.168.1.1 port 67
в результате (я использую эту команду: sudo iptables -v -x -n -L
):
Chain ufw-user-output (1 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT udp -- * * 192.168.1.100 192.168.1.1 udp spt:68 dpt:67