[Centos问题]Centos不能上网提示Couldn’t resolve host的解决办法

2014年11月8日20:18:23 发表评论 14,717 views

    以下方法本人亲测,绝对有用。VPS系统为CentOS 6.4,IP地址已经设好了。不知道咋回事,突然无法使用yum更新和安装系统文件和其他的个人软件,表现为执行yum命令以后显示“Couldn't resolve host”,ping域名显示为找不到域名地址ping unknow host,使用网上的办法更改了一下外地公网的dns,保存退出。重启执行命令:service network restart后发现还是不能解析。ping IP地址有数据反馈,但是不能ping www.google.com类似的域名还是一样不通。

  其他网站上给出的方案,重启网卡或者重启服务器以后还是都不能解析,发现/etc/resolv.conf又恢复到原来的状态,里面什么都没有了,手动加入nameserver也不行。

  原来在CentOS下面直接修改/etc/resolv.conf不行,因为该文件调用了/etc/sysconfig/network-scripts/ifcfg-eth0的配置预设,既然知道了这两个文件的工作原理,那么我们必须要在/etc/sysconfig/

 

network-scripts/ifcfg-eth0里面最后加上dns地址让resolv.cof来调用。否则重启后,因为eth0中没有预设dns的相关信息,就会使/etc/resolv.conf恢复到原来的状态,解析还是不成功。

  下边给与实例

  vi /etc/sysconfig/network-scripts/ifcfg-eth0 (eth0表示第一块网卡,如果你有多块网卡,那么每个都配置一下吧,不过IPADDR地址需要修改成对应的)

# XenSystem Ethernet
DEVICE=eth0
BOOTPROTO=static
IPADDR=XXX.XXX.XXX.XXX
NETMASK=XXX.XXX.XXX.XXX
GATEWAY=XXX.XXX.XXX.XXX
onboot=YES

peerdns=yes
dns1=8.8.8.8
dns2=8.8.4.4

    关键在于最后边这两行,网络上的文章都人云亦云,大多数都说改成nameserver XXX.XXX.XXX.XXX样式,实际这是错误的。基于以上设置后,/etc/resolv.conf里面根本就不需要另外设置。

    执行命令service network restart后,可以发现/etc/resolv.conf里面就有两个dns的解析ip了。配置好以后重启网络,cat /etc/resolv.conf,可以看到如下参数:

   # Generated by NetworkManager

       dns1=8.8.8.8

       dns2=8.8.4.4

  DNS解析设置成功。8.8.8.8和8.8.4.4是google的域名解析服务。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: