我们有一台带有四核 AMD Opteron 处理器 2378 的服务器。它充当我们多台服务器的防火墙。我被要求阻止所有来自中国的 IP。
在一个单独的网络中,我们有一些小型 VPS 机器(256MB 和 512MB)。我也被要求在那些 VPS 上屏蔽中国。
我在网上查看并找到了需要 4500 条阻止规则的列表。我的问题是将所有 4500 条规则都放入会不会有问题?我知道 iptables 可以处理的规则远不止这些,我担心的是因为这些是我不想访问任何端口的块,所以我需要将这些规则放在任何允许之前。这意味着在通过之前,所有合法流量都需要与所有这些规则进行比较。执行此操作后,流量会明显变慢吗?那些小型 VPS 是否能够为每个新数据包处理那么多规则(我将在块之前放置一个既定的允许)?
我的问题不是iptables可以支持多少条规则?,它是关于这些规则对负载和速度的影响。
谢谢。
Mat*_*Ife 13
它将支持那么多规则,但您真的不想遍历 4500 条规则链。
正如@Zoredache 指出的那样,您也可以对链进行二进制拆分。如果你做得很好,你可以将链遍历的次数减少到 13 次。
最简单的方法是使用 ipsets。
我正在使用 EL6,它为此提供支持。显然我不知道所有的中国网络块,所以我只是用垃圾填满这个..
ipset create china hash:net
ipset add china 1.2.3.0/24
ipset add china 2.4.0.0/16
ipset add china 123.0.0.0/8
ipset add china 145.12.5.0/24
Run Code Online (Sandbox Code Playgroud)
然后向 IPtables 添加规则以匹配该集合并丢弃流量..
iptables -I INPUT -m set --match-set china src -j DROP
Run Code Online (Sandbox Code Playgroud)
这比标准规则链效率更高、速度更快。
归档时间: |
|
查看次数: |
3155 次 |
最近记录: |