Есть много журналов, связанных с действием брандмауэра, который блокирует TCP-пакеты с установленными флагами ACK, FIN или RST.
Примеры журналов:
- kernel: [836798.488524] [UFW BLOCK] IN=eth0 OUT= MAC=00:15:5d:0a:ef:06:00:15:5d:0a:ef:09:08:00 SRC=192.168.10.194 DST=192.168.10.103 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=53356 DF PROTO=TCP SPT=55362 DPT=80 WINDOW=262 RES=0x00 ACK FIN URGP=0
- kernel: [836797.671222] [UFW BLOCK] IN=eth0 OUT= MAC=00:15:5d:0a:ef:06:00:15:5d:0a:ef:09:08:00 SRC=192.168.10.194 DST=192.168.10.103 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=53355 DF PROTO=TCP SPT=55362 DPT=80 WINDOW=262 RES=0x00 ACK FIN URGP=0
- kernel: [836385.439944] [UFW BLOCK] IN=eth0 OUT= MAC=00:15:5d:0a:ef:06:00:15:5d:0a:ef:03:08:00 SRC=192.168.10.110 DST=192.168.10.103 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=64384 DF PROTO=TCP SPT=56586 DPT=80 WINDOW=245 RES=0x00 ACK FIN URGP=0
- kernel: [836364.963264] [UFW BLOCK] IN=eth0 OUT= MAC=00:15:5d:0a:ef:06:00:15:5d:0a:ef:09:08:00 SRC=192.168.10.194 DST=192.168.10.103 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=9500 DF PROTO=TCP SPT=55302 DPT=80 WINDOW=245 RES=0x00 ACK FIN URGP=0
- kernel: [836365.807993] [UFW BLOCK] IN=eth0 OUT= MAC=00:15:5d:0a:ef:06:00:15:5d:0a:ef:03:08:00 SRC=192.168.10.110 DST=192.168.10.103 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=64382 DF PROTO=TCP SPT=56586 DPT=80 WINDOW=245 RES=0x00 ACK FIN URGP=0
- kernel: [836122.534158] [UFW BLOCK] IN=eth0 OUT= MAC=00:15:5d:0a:ef:06:00:15:5d:0a:ef:09:08:00 SRC=192.168.10.194 DST=192.168.10.103 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=52748 DF PROTO=TCP SPT=80 DPT=49434 WINDOW=0 RES=0x00 RST URGP=0
Это в основном говорит нам, что пакет, полученный на интерфейсе eth0, который имеет адрес источника 192.168.10.194, адрес назначения 192.168.10.103, протокол tcp, порт назначения 80, был заблокирован.
Поэтому нам нужно указать iptables принимать эти пакеты:
1 2 | sudo iptables -I ufw-before-input -s 192.168.10.110 -d 192.168.10.103 -p tcp --dport 80 -j ACCEPT sudo iptables -I ufw-before-input -s 192.168.10.194 -d 192.168.10.103 -p tcp --dport 80 -j ACCEPT |
Обратите внимание, что эти записи будут удалены после перезагрузки, чтобы сделать их постоянными.
Возможно, вы захотите использовать пакет iptables-persistent, а не возиться с загрузочными скриптами. Во-первых, запустите свой сценарий для настройки правил брандмауэра. Во-вторых, запустите sudo apt-get install iptables-persistent и следуйте подсказкам. Когда появится запрос на сохранение текущих правил, нажмите "Да" на оба запроса. Теперь, при перезагрузке, ваши правила iptables будут восстановлены.
Если вы измените свои правила после этого, вам нужно будет выполнить следующую команду (команды) после изменений:
Чтобы сохранить правила IPv4 iptables:
1 | sudo su -c 'iptables-save > /etc/iptables/rules.v4' |
Чтобы сохранить правила IPv6 ip6tables:
1 | sudo su -c 'ip6tables-save > /etc/iptables/rules.v6' |