Что лучше использовать для блокировки: REJECT или DROP?
DROP — закрывает соединение и не отправляет ничего в ответ отправителю, получается «мертвое» соединение, которое потом убивается по таймауту. Нужно учесть что при сканировании закрытых портов, они будут помечаться как filtered.
REJECT — сбрасывает соединение и отправляет в ответ сообщение, указанное в опции —reject-with. При сканировании (если установлено —reject-with icmp-port-unreachable) порт будет казаться закрытым, в отличии от DROP.
Действие REJECT в Руководство по iptables: Настройка и оптимизация фаервола Linux имеет опцию –reject-with.
iptables -A INPUT -s 10.26.95.20 -j REJECT --reject-with tcp-reset iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset iptables -A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable iptables -A INPUT -j REJECT --reject-with icmp-proto-unreach
У опции –reject-with есть следующие аргументы:
По умолчанию будет передано сообщение port-unreachable.