我的/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.conf
Automatic (DHCP)
Automatic (DHCP) addresses only
search
nameserver 127.0.1.1
resolv.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 附加名称服务器。