iptables 不开放 53 端口

use*_*600 -2 linux iptables bind

我一直在尝试不同的打开端口的方法,但由于某种原因不起作用。

我使用的最后一组行如下:

iptables -I OUTPUT -p udp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT  
iptables -I INPUT  -p udp --sport 53 -m state --state ESTABLISHED     -j ACCEPT  
iptables -I OUTPUT -p tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT  
iptables -I INPUT  -p tcp --sport 53 -m state --state ESTABLISHED     -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

我的服务器上安装了 plesk,所以它应该为我处理 dns。我已访问 Plesk 中的组件页面,我可以看到 BIND 支持已打开。但是,由于某种原因,在服务器 DNS 出现内存问题后停止运行。所以我给服务器提供商打了个电话,他们只能告诉我端口 53 被阻止了,我必须取消阻止它,所以我不得不禁用 iptables。但是由于某种原因,在再次重新启动 DNS 后重新运行,端口 53 已打开。

Sir*_*rex 6

假设您正在运行 dns 服务器(毕竟这是服务器故障,并且“打开端口”表明这就是您要执行的操作),那么您的 dport 和 Sport 就走错了路。您希望在 INPUT 链上使用 --dport 53。

在这种情况下,您的连接状态跟踪也是错误的。如果您只允许 ESTABLISHED 输入,那么任何人怎么能访问您的 dns 服务器?

最后,如果您没有运行 dns 服务器,而是试图让自己使用dns 服务器,那么这些规则是完全错误的 :-)