在linux伺服器上有時會出現ping指令錯誤,今天來總結一下
如果某台Linux伺服器ping不通網域名稱, 如下提示:
[root@localhost ~]# ping www.pythontab.com
[root@localhost ~]# ping www.pythontab.com
[unk host www.pythontab.com
首先確定已經連接上路由器,並且路由器能夠存取外網,可以透過存取網關進行確定
[root@localhost ~]# ping 192.168.1.11818. 1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=2.96 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time= 1.75 ms
如果確定網路沒問題的情況下, 可以透過以下步驟尋找解決方案:
1) 確定設定了網域名稱伺服器, 沒有的話, 建議設定Google的公共服務, 它應該不會出問題的
[root@localhost ~]# cat /etc/resolv.conf
search localdomain
search了將dns加入到該檔案中 [root@localhost ~]# vi /etc/resolv.conf search localdomain
. 2.69
~
2) 確保閘道已設定
# grep GATEWAY /etc/sysconfig/network-scripts/ifcfg*
---------------------- ---------------------------------------------
/etc/ sysconfig/network-scripts/ifcfg-eth0:GATEWAY=192.168.40.1
--------------------------------- ----------------------------------
如果未設定, 則如下增加網關:
# route add default gw 192.168.40.1
或手動寫/etc/sysconfig/network-scripts/ifcfg*檔案後, 重新啟動
3)確保可用dns解析 # grep hosts /etc/nsswitch.conf ------------------------------- -------------------------------------- hosts: files dns ------ -------------------------------------------------- ----------- 如果以上哪個有問題, 修正後, 再測試, 應該就沒問題了: