當選擇「僅將此連線用於此網路上的資源」時,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 連線對我有用。

相關內容