Limitar ICMP por IP de origem com IPTables

9

Eu pensei erroneamente que o módulo de limite é por ip de origem, mas parece ser baseado em todas as solicitações:

  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 

Como posso classificar o limite icmp com iptables / netfilter com base no endereço IP de origem?

    
por Kyle Brandt 15.07.2011 / 15:02

1 resposta

5

Se você ainda estava se perguntando por uma dica:

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

Supondo que a última regra em INPUT seja descartada ou a política padrão é DROP. Cada ip é limitado a 3 pings por segundo (rajada de 5). Nem todos os IPs recebidos são totais, como você encontrou com o limite -m.

    
por 16.07.2011 / 01:59