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 | 允許運行 |