1. 禁用 systemd-resolved
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
2. 替换 /etc/resolv.conf
为静态 DNS
sudo rm -f /etc/resolv.conf
echo "nameserver 114.114.114.114" | sudo tee /etc/resolv.conf
3. 验证解析是否恢复正常
执行:
dig github.com
你应该看到返回的 IP 是 GitHub 的公网地址,例如:
github.com. 60 IN A 140.82.114.4
4.禁用 NetworkManager
对 DNS 的管理
修改 NetworkManager
的配置文件,阻止它自动重置 /etc/resolv.conf
。
编辑文件 /etc/NetworkManager/NetworkManager.conf
,添加以下内容:
[main]
dns=none
5.重启 NetworkManager:
sudo systemctl restart NetworkManager
这个时候如果去关闭wifi就不会重置dns,注意观察 /etc/resolv.conf是否被覆盖,如果错误的dns直接回造成无法上网