幾天前,儘管我沒有更改任何網路設置,但我的 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 連線對我有用。