Ipset

iptables… 阻止範圍而不用 IP 淹沒 ipset 集

  • April 30, 2013

我有這個範圍的 IPS 197.192.xx 日復一日地暴力攻擊我的 pop/imap/smtp 伺服器。

我有這個 ipset 可以阻止每個試圖入侵我的伺服器的 IP。

我想阻止所有以 197.192 開頭的 IP 對 pop/smtp/imap 的訪問

為此,我輸入了以下命令:

ipset -A myIpset 197.192.0.0/24

但這為我的 ipset 添加了 65536 個 IP,使其變得巨大,現在我無法向其添加更多 IP。

有沒有另一種更優雅的方式來做到這一點?

您可以添加另一個 ipset 來阻止,這次是 type hash:net,然後將 197.192.0.0/16 添加到該 ipset。或者將您的 ipset 替換為一種類型,hash:net因為hash:net它也可以儲存 IP 地址(網路遮罩 32)。

從 轉換hash:iphash:net

ipset save myIpset > myIpset &&
  ipset destroy myIpset &&
  sed s/:ip/:net/ myIpset | ipset restore &&
  ipset add myIpset 197.192.0.0/16

您不能為此使用 ipset;iptables 可以很容易地匹配網路:

iptables -I INPUT -s 197.192.0.0/16 p tcp --dports smtp,imap,pop3 -j DROP

或類似的。

順便說一句:您是否按照 AfriNIC Whois 的要求向 ip.abuse@etisalat.com 報告了濫用行為?值得一試…

引用自:https://unix.stackexchange.com/questions/74230