网络管理员:如何停止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发行版