iptables 不允许我连接我的 dns 名称服务器

iptables 不允许我连接我的 dns 名称服务器

我有以下 iptables 规则:

Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:http 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:https 
ACCEPT     tcp  --  localhost.localdomain  anywhere            tcp dpt:mysql 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:14443 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp-data 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:xxxxxxx 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination      

当我关闭 iptables 时,我可以使用wget和所有其他命令。当启用这些规则时,我无法连接到任何地址。知道为什么会这样吗?

答案1

您正在阻止对 DNS 查询的响应 - 以及对 HTTP TCP 连接的响应。

在您的链中放置一条规则INPUT以允许建立的连接和与建立的连接相关的流量(例如有关路由问题的 ICMP 信息)。

iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 

相关内容