В Linux, использование маршрута к "черной дыре" IP приводит к лучшей производительности, чем падение в iptables?

Во время DDOS-атаки, если мы находим IP-адреса, которые хотим заблокировать, увидим ли мы лучшую производительность при использовании нулевого маршрута в отличие от iptables?

При нулевой маршрутизации мы бы сделали что-то вроде:

ip route add blackhole <ip or range>

В iptables:

/sbin/iptables -A INPUT -s <ip or range> -j DR

Разницы нет? Я бы заподозрил route будет работать лучше, но я не уверен.

3 ответа

Предполагая, что вы блокируете на основе адреса источника, а не места назначения, выполнение DROP в raw/PREROUTING будет работать хорошо, поскольку вы по существу сможете отбросить пакет до того, как будет принято какое-либо решение о маршрутизации.

Однако помните, что правила iptables по сути являются связным списком, и для оптимальной производительности при блокировке нескольких адресов следует использовать ipset.

С другой стороны, при блокировке по назначению, вероятно, существует небольшая разница между блокировкой в ​​таблице маршрутизации по сравнению с iptables ИСКЛЮЧИТЬ, если исходные IP-адреса подделаны, и в этом случае записи с черным отверстием могут потреблять ресурсы кэша маршрутизации; в этом случае raw/PREROUTING остается предпочтительным.

Ваш исходящий маршрут не будет иметь значения, пока вы не попытаетесь отправить пакет обратно злоумышленнику. К тому времени вы уже понесете большую часть затрат на установку сокетов и, возможно, даже заблокируете поток, ожидая, пока ядро ​​не решит, что у вас нет маршрута к хосту, плюс любая ошибка обработки вашего серверного процесса, когда он приходит к выводу, что есть проблема с сетью.,

iptables или другой брандмауэр позволят вам блокировать входящий трафик и отбрасывать его до того, как он достигнет процесса демона на вашем сервере. Кажется, явно лучше в этом случае использования.

iptables - это стандартный инструмент для блокировки атак ddos. У меня получился огромный список iptables под очень сильной атакой ddos, и он работает очень хорошо. Я бы предпочел iptables.

Другие вопросы по тегам