解决Linux
重启后resolv.conf
重置问题
Arch Wiki
解决方式:
① 在/etc/NetworkManager/conf.d/
文件夹中,新建dns.conf
文件,并在dns.conf
文件中填入如下内容:
[main] dns=none main.systemd-resolved=false
② 使用如下命令,重新载入 NetworkManager
服务:
# systemctl reload NetworkManager
Red Hat Customer Portal
解决方式:
① 以 root 用户身份,使用文本编辑器创建包含以下内容的 /etc/NetworkManager/conf.d/90-dns-none.conf
文件:
[main] dns=none main.systemd-resolved=false
② 编辑 /etc/resolv.conf
文件并手动更新配置。
③ 重新载入 NetworkManager
服务:
# systemctl reload NetworkManager
注意:
重新加载服务后,
NetworkManager
不再更新/etc/resolv.conf
文件。但是该文件的最后内容将被保留。
④ 显示 /etc/resolv.conf
文件:
# cat /etc/resolv.conf
如果您成功禁用了 DNS
处理,NetworkManager
不会覆盖手动配置的设置。
推荐解决方式:
使用如下命令将resolv.conf
文件变成只读,则NetworkManager
无法修改resolv.conf
文件:
$ sudo chattr +i /etc/resolv.conf
提示:
可以将
sudo chattr +i /etc/resolv.conf
加到/etc/rc.local
里面的exit 0
之前的任何位置。
注意:
将三个步骤依次进行后确实未被再次修改。
若不想依次进行,可仅使用第三步骤。