通过 NetworkManager/nm-applet 设置 DNS 不会更新 /etc/resolv.conf (17.10)

通过 NetworkManager/nm-applet 设置 DNS 不会更新 /etc/resolv.conf (17.10)

我的/etc/resolv.conf节目

# Generated by NetworkManager
search [value provided by local network]
nameserver 127.0.1.1

nameserver值不是本地网络提供的值(使用 nm-applet 检查),但 是search
我已从dns=dnsmasqd中删除/etc/NetworkManager/NetworkManager.conf。只有 已dnsmasq-base安装。

我不想永久设置 DNS,因为我仍想resolv.conf通过 VPN 进行更新,因此中 没有 中没有 文件中
没有。当我使用 在 nm-applet 上设置 DNS 时, 保持不变。 当我设置 时,没有值,但中仍然有。 编辑:做了一些检查。 是空的。prepend domain-name servers/etc/dhcp/dhclient.conf
dns-nameservers/etc/network/interfaces
/etc/resolvconf/resolv.conf.d/ base head tail

resolv.confAutomatic (DHCP)
Automatic (DHCP) addresses onlysearchnameserver 127.0.1.1resolv.conf

/etc/NetworkManager/dnsmasq.d

$ cat /usr/lib/NetworkManager/conf.d/10-dns-resolved.conf 
[main]
dns=systemd-resolved


/etc/systemd/resolved.conf全部被注释掉了。

$ systemd-resolve --status
Global
         DNS Servers: 127.0.1.1
          DNS Domain: [same as resolv.conf]

如何配置 nm-applet 的 DNS 值覆盖systemd-resolve

最终,我想要的是最初将 DNS 设置resolv.conf为我的首选服务器,然后当我连接到 VPN(nm-applet 的 OpenVPN)时,resolv.conf将获得 VPN 提供的值。

答案1

我花了一段时间才到达那里...

如果您已经知道要在 resolv.conf 中设置什么,那么您只需使用您最喜欢的编辑器写入您的设置即可/etc/systemd/resolved.conf

sudo nano /etc/systemd/resolved.conf

取消注释即可DNS,输入 IP 和搜索域(以空格分隔)并重新启动 systemd-resolv 或重新启动主机。

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See resolved.conf(5) for details

[Resolve]
DNS=<IP> <IP>
#FallbackDNS=
Domains=<domain> <domain>
#LLMNR=yes
#MulticastDNS=yes
#DNSSEC=no
#Cache=yes
#DNSStubListener=udp

NetworkManager 应该能够修改 DNS。我没有 VPN 可供测试,但我能够在有线连接上使用 NM 附加名称服务器。

相关内容