
我遇到了一些奇怪的問題,我沒有選擇。情況:
當使用 L2TP PSK 從我的 Mac 連線到 VPN 伺服器 (Windows Server 2003 R2) 時,一切正常。
但是,當我從 Windows PC 連接時,沒有任何反應。它會輸出錯誤 809,有時會輸出 789。
對於 XP、Vista SP2 和 7 來說是一樣的。如果我直接連接到 VPN 伺服器(連接到內部 IP,而不是從路由器的 WAN),則連線沒有問題。使用 PPTP 連線可以...現在如果只有 L2TP 可以工作的話,非常感謝 Windows!
我已經使用 iptables -L -nv 檢查了我的 Linux 路由器上的計數器,它們在連接時不會升高。不在 ACCEPT 上,也不在 DROP 上。僅當從 Mac 連接時。
我找到了微軟的指南來啟用:AssumeUDPEncapsulationContextOnSendRule 在註冊表中。我已在伺服器和客戶端上將其設定為“2”。還是不行。在該註冊金鑰之後,它開始給我錯誤 789 而不是 809。
有沒有人可以幫我解決這個問題!我已經為此工作了兩天,但我別無選擇。
謝謝!
//編輯:請參閱下面的解決方案。這僅適用於嘗試連接到 NAT 路由器後面的 VPN 伺服器的 Windows 用戶端!
答案1
顯然,需要的是「AssumeUDPEncapsulationContextOnSendRule」。我手動重新啟動了 IPsec 服務,然後它就工作了。很奇怪!
所需步驟:
- 以管理員群組成員的使用者身分登入 Windows Vista 用戶端電腦。
- 按一下“開始”,指向“所有程式”,按一下“附件”,按一下“執行”,鍵入 regedit,然後按一下“確定”。如果螢幕上顯示「使用者帳戶控制」對話方塊並提示您提升管理員令牌,請按一下「繼續」。
- 找到並點選以下登錄子項目: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\PolicyAgent 注意 您也可以將 AssumeUDPEncapsulationContextOnSendRule DWORD 值套用至基於 Microsoft Windows XP Service Pack 2 (SP2) 的 VPN 用戶端電腦。為此,請找到並按一下以下登錄子項目: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\IPSec
- 在“編輯”功能表上,指向“新建”,然後按一下“DWORD(32 位元)值”。
- 鍵入 AssumeUDPEncapsulationContextOnSendRule,然後按 Enter。
- 右鍵單擊“AssumeUDPEncapsulationContextOnSendRule”,然後按一下“修改”。
在「值資料」方塊中,鍵入下列值之一: • 0 值 0(零)將 Windows 設定為無法與位於 NAT 裝置後面的伺服器建立安全性關聯。這是預設值。 • 1 值1 設定Windows,以便它可以與位於NAT 裝置後面的伺服器建立安全關聯。 • 2 值2 設定Windows,以便當伺服器和基於Windows Vista 或基於Microsoft Windows Server 代號「Longhorn」的VPN 用戶端電腦位於NAT 裝置後面時,它可以建立安全關聯。
按一下“確定”,然後退出註冊表編輯器。
- 重新啟動計算機