Limiter l'ICMP par IP source avec IPTables

9

J'ai pensé à tort que le module de limite est par IP source, mais il semble être basé sur toutes les demandes:

  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 

Comment puis-je évaluer la limite ICMP avec iptables / netfilter en fonction de l'adresse IP source?

Kyle Brandt
la source

Réponses:

5

Si vous vous demandiez encore un indice:

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

En supposant que la dernière règle INPUT est drop ou que la stratégie par défaut est DROP. Chaque ip est limitée à 3 pings par seconde (rafale de 5). Toutes les adresses IP entrantes ne sont pas totales, comme vous l'avez constaté avec la limite -m.

Nicholi
la source
Maintenant, cette acceptation est vraiment "méta"!
Courses de légèreté en orbite le