連線到 OpenVPN 後未切換預設 DNS 伺服器

連線到 OpenVPN 後未切換預設 DNS 伺服器

我在筆記型電腦和伺服器之間使用 OpenVPN 連線。該配置直到今天都有效(我只是運行了apt update && apt upgrade),但從那時起我的 DNS 設定在連接到 OpenVPN 後就「錯誤」了。

連接到 OpenVPN 伺服器後,我的配置DNS Domain: ~.中有兩個「捕獲所有」DNS 網域條目 ( ) 。systemd-resolve

剝離輸出systemd-resolve --status

Link 11 (tun0)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 192.168.X.Y
          DNS Domain: ~.

Link 2 (enp0s25)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 10.16.X.Y
                      10.16.X.Y
          DNS Domain: ~.

因此,DNS 查詢現在不再透過 VPN 安全地傳輸,但也可以透過普通網路傳輸。

這會導致 DNSLeak,甚至更糟:VPN 內部主機名稱無法正確解析(時不時)。

我只知道將DNS Domain: ~.條目新增至 tun0 介面以進行解決的選項。但是如何從真實介面中刪除已經存在的介面呢?

我已經使用此配置來更新我的 OpenVPN client.conf 中的 systemd-resolved:

# Upate systemd-resolvd
up /etc/openvpn/update-systemd-resolved
down /etc/openvpn/update-systemd-resolved
down-pre
dhcp-option DOMAIN-ROUTE .

有人知道如何解決這個問題嗎?

// 更新:看起來這是一個較早已知的問題,NetworkManager 開始隨機將根 DNS 網域附加到連結。有一個關於它的有趣討論GitHub 問題在開發商的回購協議中update-systemd-resolved

// 大概這次提交到 NetworkManager 打破了它。因為它為所有介面行為引入了預設 dns 路由。

答案1

新增至從 OpenVPN 伺服器下載的用戶端設定檔(副檔名為 .ovpn 的檔案):

dhcp-option DOMAIN-ROUTE .

如您所知,在新增此行之前,在 Ubuntu 18.04 中您必須安裝update-systemd-resolved按照中所述安裝腳本https://github.com/jonathanio/update-systemd-resolved

如果仍然不起作用,也許您還必須新增內部 DNS 伺服器。檢查您在 .ovpn 檔案末尾新增的行,如下所示:

script-security 2
dhcp-option DNS 10.1.0.1  # replace this IP with your DNS server IP.
dhcp-option DOMAIN yourinternaldomain.local  # replace this with your internal domain name.
dhcp-option DOMAIN-ROUTE .
up /etc/openvpn/update-systemd-resolved
down /etc/openvpn/update-systemd-resolved
down-pre

如果您使用 UI (gnome) 進行連接

最後,如果您使用 UI VPN 圖示連線到 VPN,則必須重新匯入 .ovpn 修改後的檔案。

為此,請在終端機中執行:

sudo apt install openvpn openvpn-systemd-resolved resolvconf
sudo apt install network-manager-openvpn network-manager-openvpn-gnome

點擊 Ubuntu 開始選單:

Ubuntu 選單

輸入“網路”一詞,然後按一下“網路”。它應該顯示如下內容:

網路設定

點擊“+” 登入 VPN 並點選“從檔案匯入”選項:

導入 ovpn 文件

導入後,新增名稱並點擊對話框右上角的“新增”按鈕。

你已經準備好了!


若要連接到 VPN,請按一下網路圖標,然後按一下鎖定圖標。

在此輸入影像描述

相關內容