Наши серверы подвергаются атакам с использованием поддельных IP-адресов UDP-flood. Я думаю, мы можем решить эту проблему с помощью iptables, и я хочу создать правило с помощью iptables.
Когда ip пытается отправить пакет udp, iptables блокирует это. И после этого первого пакета в течение 10 секунд. другие пакеты будут приняты.
Как я могу это сделать с помощью iptables?
Пытаться
iptables -A INPUT -p udp [--dport 12345] -m recent --name attack --set
iptables -A INPUT -p udp [--dport 12345] -m recent --name attack --rcheck --seconds 10 --hitcount 2 -j ACCEPT
iptables -A INPUT -p udp [--dport 12345] -j DROP
Это должно разрешить второй и последующие пакеты с любого заданного адреса в скользящем десятисекундном окне; другие будут сброшены. Как обычно, размещение их в нужном месте в существующем наборе правил жизненно важно и ваша проблема. Если вы не ограничиваете это портом, убедитесь, что вы не блокируете ответы DNS (и другие ответы на основе udp, которые вы можете счесть желательными).