网络管理器 DNS 设置

网络管理器 DNS 设置

我将笔记本电脑连接到 的 wifi 网络192.168.1.0/24。然后,我将 wifi 适配器桥接到br0。然后,我将一个 tap-to-tap 隧道连接tap1到 的网络10.40.0.0/14

我的 wifi 网络在 处有一个 DNS 服务器,192.168.1.254而远程网络在 处有一个 DNS 服务器10.40.0.2。当 tap-to-tap 隧道启动时,我会删除其默认路由,这样只有到该网络的流量才会通过隧道,而一般的互联网流量会通过通常的 wifi 链路。但我想使用远程网络的 DNS 服务器,这样我仍然可以查找远程网络上的本地名称。

nmcli device show wlan0说的是这个(为了简洁,我删除了各种不相关的部分,主要是 ip6 和路由信息):

GENERAL.DEVICE:                         wlan0
GENERAL.TYPE:                           wifi
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     channel-six
IP4.ADDRESS[1]:                         192.168.1.82/24
IP4.GATEWAY:                            192.168.1.254
IP4.DNS[1]:                             192.168.1.254
IP4.DNS[2]:                             10.40.0.2
IP4.DOMAIN[1]:                          lan

这说明此设备已分配两个 DNS 服务器。但nmcli con show channel-six显示以下内容:

connection.id:                          channel-six
connection.uuid:                        34402de9-ec2d-4a4e-a223-9bea7fc5b517
...
ipv4.dns:                               10.40.0.2
ipv4.dns-search:                        --
ipv4.dns-options:                       ""
ipv4.dns-priority:                      0

那么 NetworkManager 为什么使用本地 DNS 服务器?我该如何更改它?

答案1

本地 DNS 正在从 DHCP 中获取。可以按如下方式修复此问题:

$ nmcli con modify channel-six +ipv4.ignore-auto-dns yes
$ nmcli con up channel-six

modify命令还可以--temporary添加以使其成为临时更改。con up必须添加才能应用更改。

相关内容