在华为欧拉系统上遇到能 ping 通 IP 地址(如 8.8.8.8)但无法 ping 通域名(如 www.baidu.com)的情况,这通常表明域名解析(DNS)环节出现了问题。你的网络链路是通的,但系统无法将域名转换成对应的IP地址。
下面是在华为欧拉系统上排查和解决此问题的步骤。
🔍 初步诊断:确认问题根源
首先,我们需要确认问题是否确实出在DNS解析上。
-
使用 nslookup 或 dig 命令测试:
在终端中执行以下命令。如果无法解析出IP地址或者命令长时间无响应,就基本可以断定是DNS解析故障。
nslookup www.baidu.com或者
dig www.baidu.com
🛠️ 解决方法:配置正确的DNS服务器
导致解析失败的根本原因通常是 /etc/resolv.conf 文件中没有配置有效的DNS服务器地址。
-
检查当前DNS配置:
查看当前的DNS服务器设置。
cat /etc/resolv.conf
如果文件中没有 nameserver 开头的行,或者配置的地址不可用,就需要进行修改。
-
修改DNS配置:
使用 vi 或 nano 等编辑器,以root权限编辑 /etc/resolv.conf 文件。
sudo vi /etc/resolv.conf
将内容修改为以下可靠的公共DNS服务器地址(例如):
nameserver 114.114.114.114
nameserver 8.8.8.8
nameserver 223.5.5.5
◦ 114.114.114.114 是国内通用的DNS。
◦ 8.8.8.8 是Google的公共DNS。
◦ 223.5.5.5 是阿里云的公共DNS。
你可以选择其中两组或三组同时使用。
保存后重启网络服务: sudo systemctl restart NetworkManager # 或者(取决于你的系统使用哪种网络管理服务) sudo systemctl restart network
💡 其他排查思路
如果上述方法仍不能解决问题,可以考虑以下方面:
• 检查防火墙设置:确认系统的防火墙或安全组规则没有阻断对UDP 53端口(DNS查询端口)的访问。
• 检查网络连通性:虽然能ping通IP,但仍需确认到DNS服务器的53端口是否通畅。可以使用 telnet 或 nc 命令测试。