今天碰到個問題, 能ping通IP地址, ping不通域名, 一直以為是 DNS解析服務器的問題, 找了半天, 問題不在這裡。
[root@www postfix]# cat /etc/resolv.conf nameserver 202.96.209.133 options attempts:1 timeout:1 rotate #nameserver 10.202.72.117 nameserver 10.202.72.118 nameserver 114.114.114.114 nameserver 8.8.8.8 [root@www postfix]#
看了一下路由表, 問題也不在路由網關上。
[root@www postfix]# netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 115.28.80.0 0.0.0.0 255.255.252.0 U 0 0 0 eth1 10.163.176.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1 192.168.0.0 10.163.191.247 255.255.0.0 UG 0 0 0 eth0 172.16.0.0 10.163.191.247 255.240.0.0 UG 0 0 0 eth0 10.0.0.0 10.163.191.247 255.0.0.0 UG 0 0 0 eth0 0.0.0.0 115.28.83.247 0.0.0.0 UG 0 0 0 eth1 [root@www postfix]# [root@www postfix]# [root@www postfix]# [root@www postfix]# [root@www postfix]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 115.28.80.0 * 255.255.252.0 U 0 0 0 eth1 10.163.176.0 * 255.255.240.0 U 0 0 0 eth0 link-local * 255.255.0.0 U 1002 0 0 eth0 link-local * 255.255.0.0 U 1003 0 0 eth1 192.168.0.0 10.163.191.247 255.255.0.0 UG 0 0 0 eth0 172.16.0.0 10.163.191.247 255.240.0.0 UG 0 0 0 eth0 10.0.0.0 10.163.191.247 255.0.0.0 UG 0 0 0 eth0 default 115.28.83.247 0.0.0.0 UG 0 0 0 eth1
然後再看看 :
[root@www postfix]# grep hosts /etc/nsswitch.conf #hosts: db files nisplus nis dns #hosts: files dns hosts: dns files我修改為 先 dns, 在 files, 測試了, 也還是不通。
最後發現是防火牆的原因, 我開啟了防火牆, 造成了 ping 域名不通。
域名解析用到了53端口, 需要把下面的設置配置到防火牆裡即可。
iptables -A INPUT -p udp --sport 53 -j ACCEPT iptables -A OUTPUT -p udp --dport 53 -j ACCEPT iptables -A INPUT -p udp --dport 53 -j ACCEPT iptables -A OUTPUT -p udp --sport 53 -j ACCEPT