升級到 Ubuntu 15.10 後,VPN 的行為開始變得非常奇怪。我用私人網路存取而且效果很好。
如果我在連接到 VPN 後立即連接到在我的國家/地區被封鎖的網站 - 它可以工作。然而,大約 1 分鐘後,它就不再工作了:它顯示標準的「網站已被封鎖」頁面。有趣的是,IP 位址仍然是 PIA 提供的位址(與 Google 核對過)並且http://whatismyipaddress.com顯示我正在連接的國家/地區,而不是我的國家。 VPN 連線圖示出現,一切似乎都表明 VPN 正常運作。除了我無法訪問該網站。
我嘗試從我的 Android 設備連接到 VPN 並訪問這些網站,它一直有效。所以這顯然肯定是一個新引入的錯誤。
更新1:這似乎是一個DNS洩漏問題,正在尋找如何在Ubuntu中解決它的解決方案。
更新2:最終手動將PIA的DNS寫入/etc/resolv.conf,解決了我的問題。
答案1
所以我還發現可能漏洞原因DNS 洩漏當使用一個網路管理器 openVPN 連接在烏班圖15.10
LAN/ISP DNS 不會被刪除,並作為可能的 DNS 和 VPN DNS 保持可用。即使 VPN DNS 存在,它們也會導致洩漏。它們可能會被使用,也可能不會。這是隨機的
我的解決方案是使用網路管理器腳本調度程序呼叫 dbus 來更新 dnsmasq 來重置 VPN DNS(刪除 LAN DNS)
/etc/NetworManager/dispatcher.d/99resetvpndns
使用內容建立腳本
#!/bin/sh
interface=$1
status=$2
case $status in
vpn-up)
# because dnsmasq keep DNS LAN and leak our DNS, reset DNS servers to PIA ones
dbus-send --system --dest=org.freedesktop.NetworkManager.dnsmasq --type=method_call /uk/org/thekelleys/dnsmasq uk.org.thekelleys.SetServers
dbus-send --system --dest=org.freedesktop.NetworkManager.dnsmasq --type=method_call /uk/org/thekelleys/dnsmasq uk.org.thekelleys.SetServers uint32:3520991966
dbus-send --system --dest=org.freedesktop.NetworkManager.dnsmasq --type=method_call /uk/org/thekelleys/dnsmasq uk.org.thekelleys.SetServers uint32:3520991962
;;
vpn-down)
;;
esac
並使其可執行
chmod +x /etc/NetworkManager/dispatcher.d/99resetvpndns
您需要更改 uint32 值。您的 VPN DNS 是整數形式,而不是四位十進位形式。去http://www.aboutmyip.com/AboutMyXApp/IP2Integer.jsp例如,將您的 DNS 轉換為整數。