误删/etc/resolv.conf致无法访问域名 戴尔灵越5402 Ubuntu18.04
解决方案
第一步:清除失效软链接
- 删除当前损坏的
/etc/resolv.conf符号链接:sudo rm -f /etc/resolv.conf
第二步:恢复systemd-resolved服务(生成缺失的stub配置)
Ubuntu 18.04默认的DNS stub配置文件由systemd-resolved服务运行时动态生成在/run目录下,之前缺失的resolv子目录正是该服务未正常运行导致的。
- 重启
systemd-resolved服务:sudo systemctl restart systemd-resolved - 检查对应目录和文件是否生成:
ls /run/systemd/ | grep resolv
如果输出包含resolv目录,进一步确认目录下的stub文件是否存在:ls /run/systemd/resolv/
第三步:重建正确的resolv.conf软链接
- 确认stub文件实际路径后,执行软链接重建:
若目录下文件为stub-resolv.conf:sudo ln -s /run/systemd/resolv/stub-resolv.conf /etc/resolv.conf
若为你之前记录的stub.resolv.conf,替换对应路径即可。 - 验证软链接有效性:
ls -l /etc/resolv.conf
确认输出的链接目标存在(无红色失效标记)。
注意:不要直接手动编辑
/etc/resolv.conf写入静态DNS地址,Ubuntu 18.04的默认网络管理组件会自动覆盖该文件,重启后配置会失效。
第四步:测试解析是否生效
- 执行域名解析测试:
nslookup baidu.com
能正常返回IP地址说明配置生效,此时打开Chrome即可验证页面加载。
兜底方案(若服务未正常启动)
- 检查
systemd-resolved是否被禁用/屏蔽:systemctl is-enabled systemd-resolved
如果输出为disabled,直接执行启用并启动:sudo systemctl enable --now systemd-resolved
如果提示服务被mask,先执行解除屏蔽命令:sudo systemctl unmask systemd-resolved
再执行上述启用命令,完成后回到第三步重建软链接即可。 - 如果仍无法生成systemd的stub文件,可切换为NetworkManager管理的DNS配置:
sudo ln -s /run/NetworkManager/resolv.conf /etc/resolv.conf
内容的提问来源于stack exchange,提问作者syzwlop
相关产品推荐
相关产品推荐

