CentOS 7 Ping出现未知的名称或服务问题解决
通常解析不了域名一般都是DNS域名配置有问题
对接口添加dns信息,编辑/etc/sysconfig/network-scripts/ifcfg-ethxxxxxxx,x可能是其他数字,但一般是ifcfg-eth0的,具体的X根据你的网卡确定,在最下面添加:
DNS1=8.8.8.8 #google dns服务器,根据实际情况更换
DNS2=8.8.4.4 #google dns服务器,根据实际情况更换
保存后重启网络
systemctl restart NetworkManager.service
如何判断DNS无法正常工作?
# ping www.qq.com #ping不通
# ping 8.8.8.8 #可以ping通
这个时候,DNS可能处于无法正常工作的状态了。
检查/etc/resolv.conf文件,发现# Generated by NetworkManager,这个应该是在安装桌面的时候安装了gnome的网络管理造成的,由它接管了网络设置,但是显然这不是我所需要的,直接修改/etc/resolv.conf这个文件是没用的,网络服务重启后会根据/etc/sysconfig/network-scripts/ifcfg-ethX来重载配置,如果ifcfg-ethX没有配置DNS,那么resolv.conf重置,重新变成默认或空值状态。
解决方案一:
修改/etc/resolv.conf,添加
nameserver 8.8.8.8 #google dns服务器, 根据实际情况更换
nameserver 8.8.4.4 #google dns服务器, 根据实际情况更换
然后停用NetworkManager
service NetworkManager stop
检查还有没有开机启动的可能,这样就可以继续使用我们定义的dns。
解决方案二(推荐):
对接口添加dns信息;编辑/etc/sysconfig/network-scripts/ifcfg-ethX,x可能是其他数字,但一般是ifcfg-eth0的,具体的X根据你的网卡确定,在最下面添加:
DNS1=8.8.8.8 #google dns服务器,根据实际情况更换
DNS2=8.8.4.4 #google dns服务器,根据实际情况更换
保存后重启网络
# service network restart
解决方案三(未测试,网友提供):
修改 /etc/resolv.conf 同时设置权限,永久写入自定义的DNS。按照方案一添加nameserver后,运行
chattr +i /etc/resolv.conf
该命令修改文件属性为只有root用户才能修改该文件。(去掉可将参数改为 “-i”)。然后执行
service NetworkManager restart
检查DNS是否设置成功
# cat /etc/resolv.conf
点个在看你最好看