只有在通过网络管理器或其配置文件连接到 VPN (OpenVPN) 时,有没有办法优先考虑特定的 DNS 服务器?
我有一个192.168.1.*
我经常连接的 VPN (),它配置了 DNS ( ),以解析其网络上192.168.1.53
表单的主机名。*.internal.example.com
我的本地路由器 ( 192.168.0.1
) 上有 DD-WRT 和谷歌的 DNS 设置(这些不是严格需要的)。
我已经用/etc/resolv.conf
符号链接替换了 systemd 存根,/run/systemd/resolve/resolv.conf
以便主机名实际上可以使用 VPN 的 DNS 服务器进行解析。昨天它运行良好,因为 VPN 的 DNS 服务器位于列表的顶部。
# /etc/resolv.conf -> /run/systemd/resolve/resolv.conf
# This file is managed by man:systemd-resolved(8). Do not edit.
# ...
nameserver 192.168.1.53
nameserver 192.168.0.1
nameserver 8.8.8.8
# Too many DNS servers configured, the following entries may be ignored.
nameserver 8.8.4.4
search Home internal.example.com
但是,当我今天连接时,DNS 条目已重新排序。
# /etc/resolv.conf -> /run/systemd/resolve/resolv.conf
# This file is managed by man:systemd-resolved(8). Do not edit.
# ...
nameserver 192.168.0.1
nameserver 8.8.8.8
nameserver 8.8.4.4
# Too many DNS servers configured, the following entries may be ignored.
nameserver 192.168.1.53
search Home internal.example.com
重新启动后顺序经常更改。有时在重新连接到 VPN 时,我注意到订单发生了变化(在遇到解决问题之后)。
systemd-resolve
工作得很好,可以使用正确的 DNS 服务器解析主机。
$ systemd-resolve --status --no-pager
Global
DNSSEC NTA: ...
Link 10 (tun0)
Current Scopes: DNS
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 192.168.1.53
DNS Domain: internal.example.com
Link 2 (eno1)
Current Scopes: DNS
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 192.168.0.1
8.8.8.8
8.8.4.4
192.168.1.53
DNS Domain: Home
$ systemd-resolve srv1.internal.example.com
srv1.internal.example.com: 192.168.1.113
-- Information acquired via protocol DNS in 2.1ms.
-- Data is authenticated: no
ping
, nslookup
, 并且ssh
都失败了。
$ ping srv1.internal.example.com
ping: srv1.internal.example.com: Name or service not known
$ nslookup srv1.internal.example.com
Server: 192.168.0.1
Address: 192.168.0.1#53
** server can't find srv1.internal.example.com: NXDOMAIN
$ ssh srv1.internal.example.com
ssh: Could not resolve hostname srv1.internal.example.com: Name or service not known
一些笔记。
我通过网络管理器连接到 VPN。我在 VPN 上手动指定了 VPN 的 DNS:IPv4 > DNS 服务器。
我尝试使用配置了 VPN 的 DNS 的单独有线以太网连接:IPv4 > 其他 DNS 服务器。