VPN 如何封鎖對其他介面的 DNS 查詢?

VPN 如何封鎖對其他介面的 DNS 查詢?

我試圖了解 DNS 路由在有/沒有 VPN 的情況下如何運作。我有以下介面。

Wireless LAN adapter Wi-Fi:
   DNS Servers . . . . . . . . . . . : 192.168.40.1

nslookup 對此有效:

nslookup google.com 192.168.40.1
Address:  192.168.40.1
Non-authoritative answer:
Name:    google.com

如果我正在運行 VPN,我會獲得另一個接口,並且 DNS 查詢預設路由到此接口。

Unknown adapter Mullvad:
   DNS Servers . . . . . . . . . . . : 10.8.0.1

但是,如果我現在嘗試在另一個介面上查詢 DNS,它不會通過。

nslookup google.com 192.168.40.1
DNS request timed out.

但我可以毫無問題地向本地伺服器發出請求。

curl 192.168.40.22:8080
OK

這是如何運作的? ip流量通過但DNS被阻止?據我所知,VPN 通常會設定路由表規則來將流量引導至其網關。但這是ip正確嗎? DNS 不應受其影響。這背後的根本機制是什麼?有沒有辦法可以強制在另一個介面上進行 DNS 查詢?

這是在 Windows 上,但我猜它在 Linux 上也能類似地運作。

答案1

一個簡化的答案:

根據配置方式,VPN 用戶端強制所有流量通過虛擬接口,IE, 它會阻止本地 LAN 上的流量。由於沒有本地流量,因此當隧道處於活動狀態時,用戶端可以使用不同的名稱伺服器。

答案2

我想念一個ip配置不管怎樣,在這兩種情況下,聽起來如果沒有 VPN,您可以從本機 DCHPd 獲得 IP 和預設名稱伺服器,因此您的電腦可以向本機名稱伺服器請求 DSN 解析。

連接到 VPN 後,聽起來您從 VPN 伺服器獲得了另一個 IP,並將預設路由設置為 VPN 接口,這意味著所有流量都通過 VPN,這可能無法到達您的本地名稱伺服器。

若要解決此問題,您可以使用可從兩個網路存取的全域 DNS 伺服器(例如 8.8.8.8 或 1.1.1.1)。

相關內容