我的 Centos 服务器无法解析 DNS 主机名

我的 Centos 服务器无法解析 DNS 主机名

我的服务器操作系统:Centos 6.3 x64。

服务器iptables是:

*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT 
COMMIT

但我没有得到任何回应

ping www.google.com

或者

curl -I http://www.google.com

从服务器。双方都没有收到任何回应!

如何修改我的iptables规则?

答案1

您没有提供有关网络设置的更多详细信息,但假设配置iptables位于主机“A”上并且您尝试ping从主机“B”进行配置,那么这就是答案。

您配置iptables为允许 TCP 端口 22 和 80。所有其他流量都被阻止,因为iptables从顶部解释配置并且您有

:INPUT DROP [0:0]

放。

ICMP 是一个不同的协议,您必须明确允许它才能连接到ping计算机:

iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -d YOUR_IP -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT


编辑:您在原始问题中的编辑表明您正在尝试访问主机您配置的主机iptables。因此,您必须告知iptables接受属于现有连接一部分的数据包:

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

答案2

您应该允许 udp 端口​​ 53 进行名称解析,并允许 icmp echo 进行 ping 测试

相关内容