Centos7 ping 未知的名称或服务 DNS 配置问题
通常解析不了域名一般都是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