如果 /etc/resolv.conf
文件被修改过后一段时间又被修改回来了,可能是由于以下原因之一:
网络管理器或其它程序会自动更新该文件。例如,如果你使用 NetworkManager,则它会在网络配置发生变化时自动更新
/etc/resolv.conf
文件。另一个程序修改了该文件。如果你的计算机上运行了多个程序,某些程序可能会修改
/etc/resolv.conf
文件以满足它们的需求。
为了确保你所期望的配置被应用,可以尝试以下步骤:
通过编辑
/etc/NetworkManager/NetworkManager.conf
文件禁止 NetworkManager 更新/etc/resolv.conf
文件。具体方法是在[main]
部分添加dns=none
行。然后重启 NetworkManager 服务。检查其它程序是否修改了该文件,例如 DHCP 客户端、VPN 客户端等。对于这些程序,你需要查看它们的文档来确定如何禁止它们更新
/etc/resolv.conf
文件。如果以上步骤都无法解决问题,可以将
/etc/resolv.conf
文件设置为只读文件,这样就可以防止任何程序修改它。但是,如果你需要更改 DNS 配置,则必须先将该文件设置为可写模式,进行更改后再将其设置为只读模式。