Ограничить ICMP на источник IP с помощью IPTables

9

Я ошибочно подумал, что лимитный модуль для каждого IP-адреса источника, но, похоже, он основан на всех запросах:

  577 36987 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 8 limit: avg 3/sec burst 5 
   46  3478 LOG        icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 8 LOG flags 0 level 4 prefix `INET-PING-DROP:' 
   46  3478 DROP       icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 8 
    ...
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 8 limit: avg 3/sec burst 5 
    0     0 LOG        icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 8 LOG flags 0 level 4 prefix `WEB-PING-DROP:' 
    0     0 DROP       icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 8 

Как я могу оценить ограничение icmp с iptables / netfilter на основе исходного IP-адреса?

Кайл Брандт
источник

Ответы:

5

Если вы все еще хотели бы намекнуть:

iptables -I INPUT -p icmp -m hashlimit --hashlimit-name icmp --hashlimit-mode srcip --hashlimit 3/second --hashlimit-burst 5 -j ACCEPT

Предполагая, что последнее правило в INPUT - отбрасывать или политика по умолчанию - DROP. Каждый ip ограничен 3 пингами в секунду (взрыв 5). Всего не все входящие IP-адреса, как вы обнаружили с -m limit.

Nicholi
источник
Теперь это принятие действительно "мета"!
Гонки легкости на орбите