Limite ICMP por IP de origen con IPTables

9

He pensado erróneamente que el módulo de límite es por IP de origen, pero parece estar basado en todas las solicitudes:

  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 

¿Cómo puedo calificar icmp limit con iptables / netfilter en función de la dirección IP de origen?

Kyle Brandt
fuente

Respuestas:

5

Si todavía te preguntabas por una pista:

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

Asumiendo que la última regla en INPUT es drop o la política predeterminada es DROP. Cada ip está limitada a 3 pings por segundo (ráfaga de 5). No todas las direcciones IP entrantes son totales, como encontró con -m limit.

Nicholi
fuente
¡Ahora esta aceptación es realmente "meta"!
Carreras de ligereza en órbita el