iptables...阻止一個範圍而不淹沒 ipset 設定的 IP

iptables...阻止一個範圍而不淹沒 ipset 設定的 IP

我有這個範圍的 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。

還有另一種方法可以以更優雅的方式做到這一點嗎?

答案1

您可以新增另一個要封鎖的 ipset,這次類型為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

答案2

你可以不使用 ipset 來實現這一點; iptables 可以相當容易地匹配網路:

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

或類似的。

順便一提:您是否向以下人員舉報了虐待行為?[電子郵件受保護]依照 AfriNIC Whois 中的要求?值得一試...

相關內容