如何优化iptables的高DNSstream量?

如何优化iptables的高DNSstream量? 我有一个专用的Linux服务器充当桥接防火墙使用iptables。 最近在防火墙后面部署了高负载的DNS服务器,并且防火墙开始工作缓慢。 一些提示,如何使防火墙更有效?

您不应该logging允许的stream量规则,以避免过多的日志(以及写日志的时间)。 dns数据包很小,但是数量很less。 您的防火墙可能无法处理每秒的数据包数量。

如果ifconfig -a报告下降/错误/超支/冲突?

您可以使用iptraf来获取每个大小分布的数据包数量:

iptraf -i eth0 -z eth0

您可以添加每个以太网卡的cpu亲和力,以提高它可以处理的pps数量

你可能正在耗尽连接表。 您可以使用NOTRACK选项,以便DNSstream量不会保留在连接表中,从而提高性能。

如果您怀疑iptables正在使用DNSstream量烧毁大量CPU,我build议您重新组织规则,以便尽快退出防火墙表。

将DNS规则放在适当表格的最上方。

由于连接数量很大,如果你不需要conntrack,你可以禁用它:

iptables -t raw -I PREROUTING -j NOTRACK