REJECT

Что лучше использовать для блокировки: REJECT или DROP?

DROP — закрывает соединение и не отправляет ничего в ответ отправителю, получается «мертвое» соединение, которое потом убивается по таймауту. Нужно учесть что при сканировании закрытых портов, они будут помечаться как filtered.

REJECT — сбрасывает соединение и отправляет в ответ сообщение, указанное в опции —reject-with. При сканировании (если установлено —reject-with icmp-port-unreachable) порт будет казаться закрытым, в отличии от DROP.

Примеры iptables reject

Действие 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.