Centos iptables打开端口53

我有问题打开我的Centos机器上的端口53,DNSconfiguration。

这是我的iptablesconfiguration

-A INPUT -p udp -m udp --sport 53 -j ACCEPT -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT 

当我运行机器的nmap扫描时,只有80端口显示为打开。 我错过了什么?

编辑:

完整的iptable

 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -p udp -m state --state NEW,ESTABLISHED -m udp --dport 53 -j ACCEPT -A INPUT -p udp -m udp --sport 53 -j ACCEPT -A INPUT -p tcp -m state --state NEW --state NEW -m tcp --dport 80 -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A INPUT -j REJECT -reject-with icmp-host-prohibited -A FORWARD -j REJECT -reject-with icmp-host-prohibited -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT COMMIT 

你的语义颠倒了。

您发布的规则允许传出 DNS连接到远程DNS服务器,而不是到本地DNS服务器的传入连接。

要允许连接到本地DNS服务器,请反转INPUT和OUTPUT规则:

 -A INPUT -p udp -m udp --dport 53 -j ACCEPT -A OUTPUT -p udp -m udp --sport 53 -j ACCEPT 

(请花几分钟时间来修改防火墙的状态。)

使用-I而不是-A

当你有一个DNS服务器监听,那么它将监听端口53,所以input规则应该是

 -I INPUT -p udp -m udp --dport 53 -j ACCEPT 

你确定DNS服务器正在运行? 即使您打开了端口,该服务也必须处于活动状态。 您可以通过运行netstat命令来validation本地监听的内容。 另外,你有没有试过完全closures防火墙,只是看看显示什么?