
我已經在Windows XP上設定了PPTP VPN,並且新增了使用者。 VPN 用戶可以連接到伺服器,但一旦連接,他們就無法透過 VPN 伺服器存取互聯網,而 VPN 伺服器應該充當代理。這是我的基本任務 - 讓 VPN 伺服器充當使用者的代理。
有人可以解釋為什麼用戶無法透過 VPN 伺服器存取互聯網或向我指出一些對此有很好解釋的網站嗎?
提前致謝。
答案1
代理伺服器通常是應用程式層功能。我相信,當您說“充當代理”時,您實際上是在說“將其流量通過 VPN 路由到該伺服器,該伺服器反過來將流量路由到其預設網關並最終路由到互聯網”。
當連接到 VPN 到 Internet 位址時,我會從用戶端發出「tracert」(或作業系統等效命令)開始,查看流量的去向。
在Microsoft VPN 用戶端中,用戶取消勾選「在遠端網路上使用預設閘道」(在VPN 連線上的TCP/IP 的「進階」設定中設定)是相當常見的,這將導致僅綁定到遠端VPN 子網路的流量穿越VPN。您是否檢查過沒有人取消勾選客戶端上的該方塊?
通常,Microsoft VPN 用戶端會將 DNS 和 WINS 設定從 VPN 伺服器「下推」到用戶端電腦。例如,如果客戶端無法使用瀏覽器存取網站,則可能是他們是沿著 VPN 隧道路由流量,但被「下推」的 DNS 伺服器無法解析 Internet 名稱。
在使用“route print”命令連接時查看客戶端上的路由表也將有助於弄清楚發生了什麼。配置為透過VPN 路由所有流量的用戶端上應該有兩個預設網關(0.0.0.0,子網路遮罩為0.0.0.0)條目- 一個用於客戶端的子網路內預設網關,另一個用於「指向”到 VPN 隧道。
編輯:
如果你想全部來自 VPN 用戶端的流量穿過 VPN 並從 VPN「集線器」出口到 Internet,然後在用戶端電腦上勾選「在遠端網路上使用預設閘道」複選框。
我懷疑您遇到了名稱解析問題。我將客戶端連接到 VPN 並執行以下操作:
tracert -d (your favorite Internet IP address here)
您可以在該命令中使用任何您想要的 IP 位址,只要它確實可以存取。哎呀,使用“star.slashdot.org”的 IP 位址——我已經在這裡的一些範例中使用過它... >smile< 216.34.181.48
這將向您顯示資料包所採取的路線。在該命令中使用 IP 位址非常重要,這樣您就不會依賴 DNS。
如果看起來沒問題(即您看到資料包穿過 VPN 並透過 VPN「集線器」網路連線離開),那麼請嘗試 DNS:
nslookup star.slashdot.org
您應該返回類似以下內容:
C:\>nslookup star.slashdot.org
Server: the-name-of-the-VPN-server's-DNS-server
Address: the-ip-address-of-the-VPN-server's-DNS-server
Non-authoritative answer:
Name: star.slashdot.org
Address: 216.34.181.48
如果您傳回類似這樣令人討厭的內容,則表示遠端 DNS 伺服器未配置為解析 Internet 名稱。
*** the-name-of-the-VPN-server's-DNS-server can't find star.slashdot.org: Non-existent domain
如果您傳回類似以下內容,表示 VPN 伺服器沒有指定有效的 DNS 伺服器:
C:\>nslookup star.slashdot.org
Server: [the-ip-address-of-the-VPN-server's-DNS-server]
Address: the-ip-address-of-the-VPN-server's-DNS-server
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
*** Request to [the-ip-address-of-the-VPN-server's-DNS-server] timed-out