Kazimieras Aliulis Asked: 2010-02-04 03:07:57 +0800 CST2010-02-04 03:07:57 +0800 CST 2010-02-04 03:07:57 +0800 CST 如何针对高 DNS 流量优化 iptables? 772 如何针对高 DNS 流量优化 iptables?我有一个使用 iptables 充当桥接防火墙的专用 linux 服务器。最近在防火墙后面部署了高负载的 DNS 服务器,防火墙开始工作缓慢。一些技巧,如何让防火墙更有效? linux domain-name-system optimization iptables performance-tuning 3 个回答 Voted Best Answer Mathieu Chateau 2010-02-04T03:36:46+08:002010-02-04T03:36:46+08:00 您不应该记录允许的流量规则,以避免过多的日志(以及写入日志的时间)。dns 数据包很小,但数量众多。您的防火墙可能无法每秒处理该数量的数据包。 ifconfig -a 是否报告丢弃/错误/溢出/碰撞? 您可以使用 iptraf 获取每个大小分布的数据包数: iptraf -i eth0 -z eth0 您可以为每个以太网卡添加 cpu 亲和性,以提高它可以处理的 pps 数 您可能会用尽连接表。您可以使用 NOTRACK 选项,这样 DNS 流量就不会保留在连接表中,从而提高性能。 MikeyB 2010-02-04T03:11:25+08:002010-02-04T03:11:25+08:00 如果您怀疑 iptables 通过 DNS 流量消耗大量 CPU,我建议您重新组织规则以便尽快退出防火墙表。 将 DNS 规则放在相应表格的最顶部。 profy 2010-02-04T09:04:33+08:002010-02-04T09:04:33+08:00 由于大量的连接,如果您不需要 conntrack ,您可以禁用它: iptables -t raw -I PREROUTING -j NOTRACK
您不应该记录允许的流量规则,以避免过多的日志(以及写入日志的时间)。dns 数据包很小,但数量众多。您的防火墙可能无法每秒处理该数量的数据包。
ifconfig -a 是否报告丢弃/错误/溢出/碰撞?
您可以使用 iptraf 获取每个大小分布的数据包数:
您可以为每个以太网卡添加 cpu 亲和性,以提高它可以处理的 pps 数
您可能会用尽连接表。您可以使用 NOTRACK 选项,这样 DNS 流量就不会保留在连接表中,从而提高性能。
如果您怀疑 iptables 通过 DNS 流量消耗大量 CPU,我建议您重新组织规则以便尽快退出防火墙表。
将 DNS 规则放在相应表格的最顶部。
由于大量的连接,如果您不需要 conntrack ,您可以禁用它:
iptables -t raw -I PREROUTING -j NOTRACK