Ogranicz ICMP na źródłowy adres IP za pomocą IPTables

9

Pomyślałem, że moduł limitu jest na źródłowy adres IP, ale wydaje się, że jest oparty na wszystkich żądaniach:

  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 

Jak mogę ograniczyć limit icmp za pomocą iptables / netfilter na podstawie źródłowego adresu IP?

Kyle Brandt
źródło

Odpowiedzi:

5

Jeśli nadal zastanawiasz się nad wskazówką:

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

Zakładając, że ostatnia reguła w INPUT to drop lub domyślna zasada to DROP. Każde ip jest ograniczone do 3 pingów na sekundę (seria 5). Nie wszystkie przychodzące adresy IP ogółem, jak stwierdzono z limitem -m.

Nicholi
źródło
Teraz ta akceptacja jest naprawdę „meta”!
Wyścigi lekkości na orbicie