ping: unknown host 解决办法

如果ping命令返回如下错误,那主要的可能性就是系统的DNS设置有误。

  1. [root@CentOS5 ~]# ping www.sina.com.cn  
  2. ping: unknown host www.sina.com.cn  

可以通过如下方法来解决,此方法已经在linux和solaris系统下通过验证。

1) 确定设置了域名服务器

没有的话, 建议设置Google的公共DNS服务, 它应该不会出问题的

  1. # cat /etc/resolv.conf  
  2. -------------------------------------------------------------------  
  3. nameserver 8.8.8.8  
  4. nameserver 8.8.4.4  
  5. -------------------------------------------------------------------  

2) 确保路由表正常

  1. [root@CentOS5 ~]# netstat -rn  
  2. Kernel IP routing table  
  3. Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface  
  4. 192.168.128.0   0.0.0.0         255.255.255.0   U         0 0          0 eth0  
  5. 169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0  
  6. 0.0.0.0         192.168.128.2   0.0.0.0         UG        0 0          0 eth0  

如果未设置, 则通过如下方式增加网关:

  1. # route add default gw 192.168.128.2  

3) 确保可用dns解析(这步常忘了)

  1. # grep hosts /etc/nsswitch.conf  
  2. -------------------------------------------------------------------  
  3. hosts:      files dns  
  4. -------------------------------------------------------------------   

注意,上面的配置要加上dns。
以下是dns的配置,备忘。
hosts: dns files
表示只在DNS失效时候才使用/etc/hosts文件

hosts: dns 
表示只用DNS解析主机

host: files 
表示只用/etc/hosts文件解析主机

hosts: files dns
将使用/etc/hosts文件解析主机,表示如果无法解析主机名将使用DNS。

原文地址:https://www.cnblogs.com/thrillerz/p/3946938.html