Batasi ICMP Per Sumber IP dengan IPTable

9

Saya keliru berpikir bahwa modul limit adalah per sumber ip, tetapi tampaknya didasarkan pada semua permintaan:

  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 

Bagaimana saya bisa menilai batas icmp dengan iptables / netfilter berdasarkan alamat IP sumber?

Kyle Brandt
sumber

Jawaban:

5

Jika Anda masih bertanya-tanya untuk petunjuk:

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

Dengan asumsi aturan terakhir dalam INPUT adalah drop atau kebijakan defaultnya adalah DROP. Setiap ip dibatasi hingga 3 ping per detik (burst 5). Tidak semua IP masuk total, seperti yang Anda temukan dengan batas -m.

Nicholi
sumber
Sekarang penerimaan ini benar - benar "meta"!
Lightness Races in Orbit