iptablesconfiguration打开适当的端口后,网站变得缓慢且无响应?

这里是“iptables-save”的输出:

# Generated by iptables-save v1.4.4 on Sun Nov 21 11:28:56 2010 *mangle :PREROUTING ACCEPT [921:116690] :INPUT ACCEPT [921:116690] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [856:343403] :POSTROUTING ACCEPT [856:343403] COMMIT # Completed on Sun Nov 21 11:28:56 2010 # Generated by iptables-save v1.4.4 on Sun Nov 21 11:28:56 2010 *nat :PREROUTING ACCEPT [18:1076] :POSTROUTING ACCEPT [189:12510] :OUTPUT ACCEPT [189:12510] COMMIT # Completed on Sun Nov 21 11:28:56 2010 # Generated by iptables-save v1.4.4 on Sun Nov 21 11:28:56 2010 *filter :INPUT DROP [188:58400] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [856:343403] -A INPUT -p icmp -j ACCEPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -p udp -m udp --dport 22 -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -p udp -m udp --dport 80 -j ACCEPT -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT -A INPUT -p udp -m udp --dport 53 -j ACCEPT -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT -A INPUT -p udp -m udp --dport 443 -j ACCEPT COMMIT # Completed on Sun Nov 21 11:2 

服务器托pipe我的绑定服务器,它充当有问题的特定域的权威名称服务器。 服务器也托pipe网站本身。 在这些端口打开的情况下激活iptables规则时会导致这种放缓吗? 我是否缺less一些应该允许dns正常工作的端口?

您的networking服务器是否尝试将IP地址反向parsing为主机名? 当绑定不得不递送或转发请求时,默认情况下(自绑定8.1起),它select随机端口来发出请求。 由于UDP数据包被返回到发送它的端口,它们被这个防火墙阻塞。

你可以取消注释

 query-source address * port 53; 

在named.conf.options文件中(无论如何,在Debian上)强制它使用端口53.select随机端口是为了帮助防止caching中毒攻击(在真正的数据包到达之前,有人将欺骗的响应数据包返回给你)因此,修复防火墙而不是更改绑定是个好主意。

如果您的绑定服务器(和所有其他应用程序的/etc/resolv.conf )configuration为使用特定的转发器,那么您可以创build一个规则(如果有多个)

 iptables -A INPUT -p udp -s OTHERDNSSERVER --sport 53 -j ACCEPT 

这将允许来自外部DNS服务器(端口53)的数据包。 如果你的ISP /主机没有提供你使用的DNS服务器,绑定使用recursion来查看所有东西,那么响应可能来自任何地方。 在这种情况下,你会使用conntrack:

 iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT 

这允许响应出站连接。 如果你有很多的DNS查询,你可能不得不增加conntrack表的大小或减less超时。

添加日志logging规则以查看将要删除的内容:
iptables -A INPUT -j LOG

减速很可能是由于您忘记了一些端口的超时造成的。