NetworkManager 每次重新启动都会写入 resolv.conf,破坏 dnsmasq?

JSS*_*all 2 network-manager networking dns dnsmasq 18.04

我在Ubuntu 18.04 上使用netplan呈现使用的配置NetworkManager

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
Run Code Online (Sandbox Code Playgroud)

每次重新启动时,都会自动生成以下输出并将其写入 ,从而/etc/resolv.conf破坏了我的dnsmasq配置,因为我无法再解析 Internet 上的域:

# Generated by NetworkManager
nameserver 127.0.0.53
Run Code Online (Sandbox Code Playgroud)

我可以通过简单地注释掉 /etc/resolv.conf 中的名称服务器行来手动修复此问题。在我编写脚本来执行此注释之前,每次重新启动时,我应该了解发生了什么。

这是我的简单/etc/dnsmasq.conf

port=53
domain-needed
bogus-priv
strict-order

server=/mydomain.net/10.0.0.2
server=/#/8.8.8.8

listen-address=127.0.0.1

bind-interfaces 
Run Code Online (Sandbox Code Playgroud)

1)为什么NetworkManager每次重启都会写这个?

2)为什么它会中断dnsmasq,因为严格顺序服务器设置应该将所有其他请求转发到谷歌的 DNS 服务器?当dnsmasq运行时,系统是否看resolv.conf中第一个或dnsmasq.conf后?

小智 8

与 dnsmasq 相同的问题:

  1. 编辑/etc/NetworkManager/NetworkManager.conf[Main]添加或更改dns=none. 保存文件。
  2. 执行systemctl restart NetworkManager.service(请注意大写和小写)。
  3. /etc/resolv.conf使用您的价值观进行编辑。保存文件。

可选测试:重启并确认。

希望有用,谢谢关注。