Linux内部無法解析域名

Linux cannot resolve domain name, public DNS resolvation failed.

網絡服務器,無論是用 ping 還是什麽工具,只要是域名就無法解析,會在久等后跳出超時錯誤。由於是遠端登錄,所以不必查網路是肯定不是問題源頭。

檢查了 /etc/resolv.conf ,裏面的 nameserver 設置沒錯誤。檢查了 /etc/nsswitch.conf, 解析的次序也沒問題。檢查了 route -n 結果也是沒問題。

最後發現,原來是防火墻把解析域名時,所需要的 udp 53 端口擋掉了。補上后就沒問題了。。。下面是 iptables 的相關指令記錄。

iptables -A INPUT -s 8.8.4.4 -p udp --sport 53 -j ACCEPT

指令解釋:

-A INPUT 針對防火墻入口規則
-p udp –sports 53流通 53 端口的 UDP 類數據包
-s 8.8.4.4 數據來源 IP 為 8.8.4.4
-j ACCEPT 允許運行
最後得到的會是這樣