CentOS "ping xxx.xxx.xxx.xxx ,未知的名称或服务"解决办法

新装了一个CentOS系统,配制成GUI服务器的方式。需要访问外网时,发现连不上。ping百度,提示未知的名称或服务。

首先怀疑是dns的问题。在桌面上看了设置,有dns设置。

然后依次ping ip,发现dns的ip“8.8.8.8”的ip可以通。查了下资料,发现这个文章里的现象和我的一致。

检查/etc/resolv.conf文件,也发现# Generated by NetworkManager。

[root@localhost ~]# cat /etc/resolv.conf
# Generated by NetworkManager

按照文章的说法,这是安装桌面的时候安装了gnome的网络管理造成的,由它接管了网络设置。

尝试了文章的解决办法,发现要先按解决方案一:修改/etc/resolv.conf,添加nameserver 8.8.8.8 nameserver 8.8.4.4 ,然后停用NetworkManager,service NetworkManager stop。

然后采用解决方案二,对接口添加dns信息;编辑/etc/sysconfig/network-scripts/ifcfg-ens33,ens33是我的网卡名称,本来是在最下面添加:DNS1=8.8.8.8 和DNS2=8.8.4.4 。但是这2段内容本来就存在,因此不做修改重启网络:#service network restart

再ping百度,可以ping通。重启虚拟机,仍然可以配置,重新检查/etc/resolv.conf的内容,变成了:

[root@localhost ~]# cat /etc/resolv.conf 
; generated by /usr/sbin/dhclient-script
search localdomain
nameserver 192.168.121.2

简要说下network-scripts/ifcfg-xxx和resolv.conf这2个配置文件:

network-scripts/ifcfg-xxx:ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。这就要用到/etc/sysconfig/network-scripts/ifcfg-xxx,在ifcfg-ethx文件配置中的网络信息在重启后仍然生效。

resolv.conf:这是DNS Client配置文件,

经验分享 程序员 微信小程序 职场和发展