Я пробую использовать правила iptables, чтобы заблокировать следующий трафик; который является ответом на недоступный хост.
17:50:11.140992 IP 10.1.1.93 > 72.21.91.29: ICMP host 10.1.1.93 unreachable, length 48
17:50:11.140997 IP 10.1.1.93 > 72.21.91.29: ICMP host 10.1.1.93 unreachable, length 48
Я добавил следующее правило
[admin@user ~]# iptables -I OUTPUT -p icmp -m icmp --icmp-type 3/1 -s 10.1.1.93 -j DROP
[admin@user ~]# iptables -nL
Chain INPUT (policy DROP)
...
...
Chain OUTPUT (policy DROP)
target prot opt source destination
DROP icmp -- 10.1.1.93 0.0.0.0/0 icmptype 3 code 1
ACCEPT all -- 0.0.0.0/0 8.8.8.8 /* COMMENT */
Также попытался заблокировать все пакеты icmp типа 3, но каким-то образом я все еще вижу пакеты в tcpdump. Может ли кто-нибудь помочь в том, что я здесь делаю неправильно?
[admin@user ~]# iptables -I OUTPUT -p icmp -m icmp --icmp-type 3 -s 10.1.1.93 -j DROP
Edit: Ближайший вопрос, который я вижу, - это тот, на который еще нет ответа. https://unix.stackexchange.com/questions/217750/undesired-icmp-destionation-unreachable-message
С тех пор 10.1.1.93
не адрес никакого интерфейса, и у Вас есть правило SNAT, я предположил бы, что пакет ICMP сгенерирован с адресом другого источника, таким образом, Ваш iptables
правило не соответствует.
Для избавлений от тех Destination Host Unreachable
пакеты Вы могли добавить корректный адрес к эти iptables
правило или никакой адрес вообще:
iptables -I OUTPUT -p icmp -m icmp --icmp-type host-unreachable -j DROP
Однако я работал бы над их причиной: кто-то пытается соединиться с адресом, который может появиться только на выходе, не входящих соединениях. Правило как:
iptables -A FORWARD -d 10.1.1.93 -m conntrack --ctstate NEW -j DROP
должен решить Вашу проблему. Комментарий: это находится в FORWARD
таблица, так как те соединения не достигнут INPUT
.