使用 iptables /netfilter 封锁国家

使用 iptables /netfilter 封锁国家

使用 iptables 可以很容易地阻止来自某个国家的 IP(例如http://www.cyberciti.biz/faq/block-entier-country-using-iptables/)。但是我读到如果拒绝列表太大,性能可能会下降。另一种方法是安装 iptables geoip 补丁或使用 ipset (http://www.jsimmons.co.uk/2010/06/08/using-ipset-with-iptables-in-ubuntu-lts-1004-to-block-large-ip-ranges/)而不是 iptables。

是否有人对各种方法有经验并且可以说一下性能差异?

还有其他我上面没有提到的方法可以在 Linux 中阻止国家 IP 吗?

答案1

我一直在使用带有 ipset 的 geoip。我建议使用它,因为它对我的网络性能的影响非常小。如果单独使用 iptables,那么规则集越长,数据包遍历的延迟就会越高。

IpSet 实际上匹配一组 IP,并且匹配是一次性完成的,而不是匹配 iptable 链中每个 IP 块的每个规则。

相关内容