Я испытываю затруднения при понимании как 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.
Может кто-то объяснять это мне причина, она не имеет смысла мне.
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