DROP — закрывает соединение и не отправляет ничего в ответ отправителю, получается «мертвое» соединение, которое потом убивается по таймауту. Нужно учесть что при сканировании закрытых портов, они будут помечаться как filtered.
REJECT — сбрасывает соединение и отправляет в ответ сообщение, указанное в опции —reject-with. При сканировании (если установлено —reject-with icmp-port-unreachable) порт будет казаться закрытым, в отличии от DROP.
Кратко: чем отличаются DROP от REJECT
REJECT — отправляет уведомление о сбросе пакета удалённому хосту
DROP — просто рубит без уведомления
REJECT в основном используют в локальной сети, а DROP применяют, если сервис смотрит в интернет. Теперь понятно чем в Iptables отличается DROP от REJECT?
Примеры iptables reject
Действие REJECT в правилах iptables имеет опцию –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 есть следующие аргументы:
- icmp-net-unreachable — сеть недоступна;
- icmp-host-unreachable — узел недоступен;
- icmp-port-unreachable — порт недоступен;
- icmp-proto-unreahable — неподдерживаемый протокол;
- icmp-net-prohibited — сеть запрещена;
- icmp-host-prohibited — узел запрещен;
- tcp-reset — отправляет RST- сообщения отправителю. TCP RST пакеты используются для закрытия TCP соединений. Желательно использовать этот метод вместо вышеуказанных ICMP протокол диагностики перегрузки сети сообщений.
По умолчанию будет передано сообщение port-unreachable.
Отправить ответ