Temporary failure in name resolution
这个错误 ping: baidu.com: Temporary failure in name resolution
通常表示 DNS 解析的问题,也就是说你的系统无法通过域名服务器解析 baidu.com
的 IP 地址。
解决方案:
-
检查 DNS 配置( 有效 ):
-
确保系统的 DNS 配置是正确的。你可以检查
/etc/resolv.conf
文件,确保它包含有效的 DNS 服务器,例如:cat /etc/resolv.conf
如果文件中没有有效的 DNS 服务器,可以尝试编辑它并添加一个公共 DNS 服务器(例如 Google 的 DNS:
8.8.8.8
和8.8.4.4
):sudo nano /etc/resolv.conf
添加如下行:
nameserver 8.8.8.8 nameserver 8.8.4.4
保存并退出编辑器。
-
-
检查网络连接:
-
确保你的机器有有效的网络连接,可以通过
ping
测试本地 IP(如ping 127.0.0.1
)和网关 IP(通常是路由器的 IP)来确认。
-
-
重启网络服务(有问题,不要重启)
-
有时,重新启动网络服务可以解决 DNS 问题:
-
sudo systemctl restart NetworkManager
-
-
会修改
/etc/resolv.conf
文件内容(导致无法解析)
nameserver 127.0.0.53 options edns0 trust-ad search .
-
-
检查防火墙设置:
-
如果你有防火墙,可能会阻止 DNS 请求。你可以尝试禁用防火墙看看是否有影响:
sudo ufw disable # 禁用防火墙
-
-
尝试使用不同的 DNS 服务器:
-
如果你已经修改了 DNS 配置但问题依然存在,可以尝试使用其他公共 DNS,如 Cloudflare 的 DNS
1.1.1.1
:sudo nano /etc/resolv.conf
添加如下行:
nameserver 1.1.1.1
-
-
检查网络接口:
-
如果你是在虚拟机或 Docker 环境中工作,确保虚拟网络接口和路由配置是正确的。你可以使用
ifconfig
或ip a
查看当前的网络接口状态,确保网络接口有正确的 IP 地址配置。
-
如果这些方法都没有解决问题,可能是路由器或网络提供商方面的问题。你可以尝试重启路由器或联系网络提供商以确保 DNS 服务器可用。