网络管理员:如何停止nm更新/etc/resolv.conf
我不希望网络管理员将从DHCP接收的DNS服务器添加到我的/etc/resolv.conf
。
从GUI / Connections / IPV4进行配置并选择方法Automatic(仅限地址)时,它仍会添加通过DHCP接收的DNS服务器。
是否有可能每个连接(特定的ssid?)
阻止网络管理器将dns-servers添加到/etc/resolv.conf
文件的一种方法是:
首先打开nm conf文件/etc/NetworkManager/NetworkManager.conf
:
sudo vim /etc/NetworkManager/NetworkManager.conf
并将其添加到[main]
部分:
dns=none
保存并退出。
我个人最喜欢的是在/etc/dhcp/dhclient.conf
使用line supersede domain-name-servers
。 无论dns访问点提供什么,您的ubuntu将始终使用dhclient.conf
指定的dns
我文件中的样本
#send host-name "andare.fugue.com"; send host-name = gethostname(); #send dhcp-client-identifier 1:0:a0:24:ab:fb:9c; #send dhcp-lease-time 3600; #supersede domain-name "fugue.com home.vix.com"; supersede domain-name-servers 208.67.220.220; #prepend domain-name-servers 127.0.0.1; request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, domain-search, host-name, dhcp6.name-servers, dhcp6.domain-search, netbios-name-servers, netbios-scope, interface-mtu, rfc3442-classless-static-routes, ntp-servers, dhcp6.fqdn, dhcp6.sntp-servers; #require subnet-mask, domain-name-servers;
/etc/resolv.conf
/run/resolvconf/resolv.conf
链接到/run/resolvconf/resolv.conf
。 NetworkManager不直接更新/etc/resolv.conf(仅更新/run/resolvconf/resolv.conf)。 所以:
- 删除符号链接(
rm /etc/resolv.conf
) - 写你自己的
/etc/resolv.conf
版本
我在Debian Stretch上做了什么:
- rm /etc/resolv.conf ###(符号链接)
- 触摸/etc/resolv.conf
- echo“nameserver xxxx”>> /etc/resolv.conf
其中“xxxx”是您首选的DNS服务器IP地址,例如来自OpenDNS,Google或Cloudflare。
感谢Taha Jahangir的想法! 我可以确认您的建议适用于我的Debian Stretch发行版