首先,这个错误通常与DNS解析有关。可能的原因包括(DNS服务器配置错误、网络连接问题、DNS服务未运行,或者防火墙设置阻止了DNS请求。)
解决步骤大致是:
检查网络连通性→检查DNS配置→测试DNS解析→更换DNS服务器→检查防火墙→检查hosts文件→重启服务或系统→联系ISP。
1.检查网络连接
ping -c 4 8.8.8.8 # 尝试 ping Google 的公共 DNS IP
2.检查 DNS 配置
(1)查看当前 DNS 服务器:
cat /etc/resolv.conf
【如果为空或配置错误,需手动设置 DNS:】
sudo echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf # 临时生效(重启后可能失效)
(2)永久配置 DNS(根据系统类型):
Ubuntu/Debian(使用 Netplan 或 NetworkManager):
sudo nano /etc/netplan/*.yaml # 添加 DNS 服务器
sudo netplan apply
CentOS/RHEL:
sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0 # 修改 DNS1=8.8.8.8
sudo systemctl restart network
3.测试 DNS 解析
使用 nslookup 或 dig:
nslookup baidu.com # 检查默认 DNS 解析
nslookup baidu.com 8.8.8.8 # 指定 Google DNS 测试
4.更换公共 DNS 服务器
将 DNS 服务器替换为可靠的公共 DNS(如 Google 或 Cloudflare):
sudo nano /etc/resolv.conf
添加或修改为:
nameserver 8.8.8.8 # Google DNS
nameserver 1.1.1.1 # Cloudflare DNS
nameserver 114.114.114.114 # 中国电信 DNS
5.检查 DNS 服务状态
重启 DNS 解析服务:
如果使用 systemd-resolved(Ubuntu):
sudo systemctl restart systemd-resolved
如果使用 NetworkManager:
sudo systemctl restart NetworkManager
6.检防火墙或代理
临时关闭防火墙(测试用):
sudo ufw disable # 若使用 ufw
sudo iptables -F # 清空 iptables 规则
检查代理设置:
确保没有全局代理或 VPN 干扰 DNS:
env | grep -i proxy # 检查环境变量中的代理
移除与 baidu.com 相关的错误条目。
7.更新系统和工具
确保网络工具和库为最新版本:
sudo apt update && sudo apt upgrade # Debian/Ubuntu
sudo yum update # CentOS/RHEL
8.联系 ISP 或管理员
如果以上步骤无效,可能是 ISP 的 DNS 服务器故障,或网络管理员限制了 DNS 请求。
总结命令
1. 测试网络连通性
ping -c 4 8.8.8.8
2. 检查并更换 DNS
sudo nano /etc/resolv.conf # 添加 nameserver 8.8.8.8
3. 测试 DNS 解析
nslookup baidu.com 8.8.8.8
4. 重启网络服务
sudo systemctl restart NetworkManager