1. 确认网络基础连通性
ping -c 4 8.8.8.8
- 现象判断:
- 若IP可通但域名不通 → DNS解析问题
- 若IP和域名均不通 → 网络连接故障(需检查物理链路或防火墙)
2. 检查DNS服务器配置
- 查看当前DNS配置:
cat /etc/resolv.conf
3. 永久配置DNS(Netplan/NetworkManager)
- Ubuntu 18.04+ 使用Netplan:
sudo nano /etc/netplan/*.yaml
添加DNS配置示例:network:
version: 2
ethernets:
eth0:
dhcp4: yes
nameservers:
addresses: [8.8.8.8, 114.114.114.114]
应用配置:sudo netplan apply
4. 验证nsswitch.conf配置
cat /etc/nsswitch.conf | grep hosts
- 正确配置应为:
hosts: files dns [myhostname]
若缺少dns
,需编辑文件手动添加。
5. 检查关键库文件缺失
ls /lib64/libnss_dns.so.2
6. 排查网络管理服务冲突
sudo systemctl restart systemd-networkd
sudo systemctl stop NetworkManager
7. 防火墙及安全组检查
8. 清理DNS缓存
sudo systemd-resolve --flush-caches
sudo systemctl restart systemd-resolved
9. 扩展测试
常见问题汇总
现象 |
可能原因 |
解决方案 |
/etc/resolv.conf 重启后重置 |
DHCP覆盖或NetworkManager干扰 |
修改Netplan配置 或设置PEERDNS=no |
仅部分域名解析失败 |
DNS污染或特定域名劫持 |
更换DNS服务器(如1.1.1.1 ) |
解析延迟高 |
DNS服务器性能差 |
更换响应更快的公共DNS |