我在 /etc/resolv.conf 中更改了名称服务器,但是当我在 CentOS 中连接 vpn 时,network-manager 将我以前的 DNS 推回 /etc/resolv.conf。
我不希望网络管理器将从 DHCP 收到的 DNS 服务器添加到我的 /etc/resolv.conf。
有什么解决办法吗?
我在 /etc/resolv.conf 中更改了名称服务器,但是当我在 CentOS 中连接 vpn 时,network-manager 将我以前的 DNS 推回 /etc/resolv.conf。
我不希望网络管理器将从 DHCP 收到的 DNS 服务器添加到我的 /etc/resolv.conf。
有什么解决办法吗?
防止在 Linux 中更新文件的“蛮力”方法可能是使用chattr,例如你可以这样做:
chattr +i /etc/resolv.conf
要删除该i - Immutable
属性以便您可以再次修改文件,请运行:
chattr -i /etc/resolv.conf
另一种方法可能是配置/etc/NetworkManager/NetworkManager.conf
为不修改 DNS:
[main]
dns=none
来自男人:
dns
Set the DNS (resolv.conf) processing mode.
default: The default if the key is not specified. NetworkManager will update
resolv.conf to reflect the nameservers provided by currently active connections.
dnsmasq: NetworkManager will run dnsmasq as a local caching nameserver, using a "split
DNS" configuration if you are connected to a VPN, and then update resolv.conf to point
to the local nameserver.
none: NetworkManager will not modify resolv.conf.
设置dns=none
仍然可能允许网络管理员破坏 - 如果在 ifcfg 文件中还指定了DOMAIN,NM 仍将写入文件但跳过任何 dns:es 而是建议在 [main] 部分下设置以下内容:
rc-manager=unmanaged
/etc/resolv.conf
根据文档,这告诉networkmanager根本不要触摸
我已经阅读了几个建议设置 rc-manager=unmanaged,而不是 dns=none 的 stackoverflow 页面。我只是想从有关 dns=none 的手册页中指出以下文档。
none:NetworkManager 不会修改 resolv.conf。 这意味着 rc-manager 不受管理。