Twi*_*rim 6 performance firewall iptables centos
如果 IP 地址看起来是来自我们托管的网站的“屏幕抓取”内容,我希望以相对自动化的方式阻止这些 IP 地址。过去,这是通过一些巧妙的 perl 脚本和 OpenBSD 的 pf 实现的。pf 很棒,因为您可以为它提供漂亮的 IP 地址表,并且它将有效地处理基于它们的阻塞。然而,出于各种原因(在我之前),他们决定切换到 CentOS。iptables 本身并没有提供阻止大量地址的能力(我听说阻止 5000+ 并不罕见),而且我对将这么多规则添加到 iptable 中有点谨慎。
ipt_recent 这样做会很棒,而且它为严重减慢访问提供了很大的灵活性,但是 CentOS 内核中有一个错误阻止我使用它(已报告,但正在等待修复)。
使用 ipset 将需要编译比 CentOS 附带的更新版本的 iptables,虽然我完全有能力这样做,但从修补、安全性和一致性的角度来看,我宁愿不这样做。
除了这两个之外,看起来 nfblock 是一个合理的选择。有没有人知道实现这一目标的其他方法?我对 iptables 中的数千个 IP 地址的担忧是不是没有根据?
iptables是用于操作 netfilter 的用户级工具。netfilter 是内核中处理数据包过滤的代码。从上下文来看,更改用户空间工具只会改变您的体验,而不会改变过滤的操作方式。
我在 Linux 中从未遇到过指定规则数量的限制,并且自从用户空间工具诞生以来我一直在使用 Linux 进行防火墙ipfwadm。值得注意的是,Netfilter 直到 2.4.x 内核才被引入 Linux,并且ipfwadm是 ipfw 的接口,而不是 netfilter。如果您可以在您的环境中继续使用 OpenBSD,那么它非常适合用作防火墙。
该限制可能是基于系统资源的物理限制,重点是可用 RAM 的数量。如果遇到问题,您可能需要调整 Linux 内核中的最大 ip 连接设置。在具有现代 Linux 发行版的现代硬件上,您不太可能遇到这两种情况。
如果您想讨论 netfilter 的更详细的细节,您最好在 netfilter 邮件列表上进一步讨论此对话,因为他们将是主题专家。
如果这不能回答您的问题,请随时澄清,我很乐意对其进行修改。
Netfilter 用户遇到内存限制测试 netfilter 限制