iptables可以支持多少条规则?


12

最近有人问我,对此我无能为力。我知道这是一个开放式问题,但是您可以在表/链中安装的规则数量是否有限制?如果是这样,我如何找到它?我猜这会因机器而异。


1
尝试使用forloop进行添加,直到计算机崩溃。
卢卡斯·考夫曼

它完全取决于规则的复杂性。Jan Engelhardt如果需要更多详细信息,请参阅我的回答以及我链接的整个线程,包括为什么在初始加载正常时加载后的修改会崩溃的原因。
RS

Answers:


11

引用来自 Jan Engelhardt

The theoretical upper limit of maximum number of rules for a 32-bit
environment would be somewhere around 38 million, but you could also
construct a rule that is so crowded with matches that even it won't
fit, so the lower limit of max rules is 0.

http://www.spinics.net/lists/netfilter/msg51895.html


1
从理论上讲,我读过一些文章,实际上,一旦超过25k,事情就会迅速南下
卢卡斯·考夫曼

5
关键是它完全取决于规则的复杂性和内存可用性。正如他指出的那样,您可以编写一条不合适的规则,因此最大值为0。FWIW,请在我管理的一个框中service iptables status | wc -l给我112373。64位centos 6,具有96个RAM。添加更多规则甚至重新加载该数量没有问题。
RS

1
@kormoc:出于好奇:防火墙对那个盒子做了什么?防火墙不是我的工作,但超过100000条规则听起来很庞大,我想知道:)
wzzrd

1
以前的一位管理员设置了蛮力阻止程序,为任何尝试的ips添加了iptable规则。我们大约有6250个“不良” ips阻塞了16个端口,8 tcp和8 udp。老实说,我们应该更改脚本,但是它没有引起任何问题,因此它保持原样,并且随着其他一些主机的拥有并对其进行扫描,其数量逐渐增加。
RS

2
kormoc-您最好切换到使用fail2ban。可以将其配置为随着时间的推移删除被阻止的IP。面对现实,扫描100000条规则集会有点慢。
马特

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.