Windows L2TP VPN 錯誤 809:修改登錄檔解決 NAT 相容性問題

Windows 連接 L2TP/IPSec VPN 時,出現錯誤:

錯誤 809:無法建立電腦與 VPN 伺服器之間的網路連線,因為遠端伺服器未回應。

這個錯誤通常發生在客戶端位於 NAT 後方(例如家用路由器)的情況下。L2TP/IPSec 協定在設計上對 NAT 的支援有限,需要透過修改登錄檔啟用 UDP 封裝才能正常運作。

解法一:啟用 UDP 封裝(NAT Traversal)

在提升權限的命令提示字元中執行:

Windows Vista / 7 / 8 / 10 / 11:

1
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\PolicyAgent /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d 0x2 /f

Windows XP(僅適用):

1
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\IPSec /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d 0x2 /f

AssumeUDPEncapsulationContextOnSendRule 的值說明:

意義
0預設,假設伺服器不在 NAT 後方
1假設伺服器在 NAT 後方
2伺服器與客戶端都可能在 NAT 後方(最常用)

解法二:確認 IPSec 未被停用

部分 Windows 設定會停用 IPSec 加密,也會導致連線失敗。執行以下指令重新啟用:

Windows XP / Vista / 7 / 8 / 10 / 11:

1
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\RasMan\Parameters /v ProhibitIpSec /t REG_DWORD /d 0x0 /f

套用設定

兩個登錄值都改完之後,必須重新啟動電腦才會生效,重啟後再試一次 VPN 連線。


Reference

comments powered by Disqus