Ubuntu 18.04 在选择“仅将此连接用于此网络上的资源”时无法解析 VPN DNS

Ubuntu 18.04 在选择“仅将此连接用于此网络上的资源”时无法解析 VPN DNS

几天前,尽管我没有更改任何网络设置,但我的 Ubuntu 18.04 开始出现一些问题。

问题是,当我连接到我的工作 VPN(OpenVPN)时,如果我选择“仅将此连接用于此网络上的资源”,则无法解析该 VPN 网络上的任何 DNS 名称。如果我禁用该选项,那么我可以解析网络内部的 DNS,但自然无法连接到外部的任何东西。

systemd-resolve --status如果我禁用“仅将此连接用于此网络上的资源”并连接到 VPN,则会输出以下内容:

Link 10 (tun0)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 10.xxx.xx.xx
          DNS Domain: ~.

因此它实际上显示的是 DNS 服务器。但是,一旦我将“仅将此连接用于此网络上的资源”切换回 ON:

Link 11 (tun1)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

Link 10 (tun0)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

我已经尝试过这个问题的解决方案Ubuntu 18.04 连接到 openvpn 时无法进行 DNS 解析但似乎没有什么效果。

我也尝试过使用unbound包但也没有帮助。

还发现了这个Ubuntu 18.04 突然无法访问 VPN 网络上的资源?所以我显然不是唯一一个遇到这种情况的人,但是却没有任何解决方案。

有点不知道该怎么办,不想因此重新安装整个系统。

答案1

我可能已经用这个命令解决了它:

nmcli c modify <vpn-settings-name> ipv4.dns-search '<domain>'

应该<vpn-settings-name>与您的 NetworkManager 设置相同。

现在似乎很管用,除了发出上述命令之外,我没有修改启动后的任何内容,现在systemd-resolve --status显示了 VPN 网络的正确 DNS。

希望发布一个解决方案以防其他人遇到同样的问题。

答案2

我发现了以下内容。

当勾选“仅将此连接用于此网络上的资源”时,我没有按照问题所述提供 DNS。

如果取消勾选,我会有一个重复的默认路由,一旦删除,包括 DNS 在内的所有内容都会正常工作。

比较这两种情况的输出,systemd-resolve --status我发现以下内容:

当 DNS 工作但选项创建了重复路由时,它会显示以下内容:

      DNS Domain: ~.
                  corporate-network.local

当DNS不工作时,会显示如下信息:

      DNS Domain: corporate-network.local

因此,解决方案是勾选“仅将此连接用于此网络上的资源”框并~.作为附加 DNS 域输入。

现在,连接可以直接从网络管理器进行,而无需删除虚假的默认网关和所有内部 DNS 解析。

答案3

如果尚未重新导入原始 .ovpn 文件,请尝试重新导入。我遇到过类似的问题,我的 VPN 的 DNS 服务器不会显示在 中systemd-resolve --status,但一旦我在网络管理器中重新导入 .ovpn 文件,问题就解决了。

答案4

进入nmcli c modify "Put your VPN Name Here" ipv4.dns-search ~.命令行,然后重新启动 VPN 连接对我来说是有效的。

相关内容