Win10 無法連線至 Synology VPN Server

之前公務電腦剛換成 Windows 10 後,就有發現內建的 VPN 連線沒辦法連回家裡的 Synology VPN Server,不過因為想繞過的東西通常是網站,而 SSH tunnel 還是可以穩定運作,所以也就置之不理,但最近為了 prepare 以後可能會用到的狀況,還是研究了一下怎麼解決。

症狀

我在 Synology DS213+ with DSM 6.1 上安裝了官方的 VPN Server package,前面接了一台 Wifi 分享器,有開 UDP 500, 1701, 4500 的 port-forwarding。(參考:Synology 服務使用哪些網路連接埠?)

在手機上或是 Mac 筆電都可以正常連線 VPN,所以排除是 VPN server, 或是 firewall, port forwarding 之類的問題,Windows 10 的 VPN 設定也是正確的,使用 L2TP/IPSec,填了正確的金鑰,但會出現下列錯誤:

VPN 無法連線

新增 Registry 機碼解決

查了一下,似乎是個從 Vista 時代就一直有的錯誤(也太古老了吧?!),Microsoft 官方的說明在:How to configure an L2TP/IPsec server behind a NAT-T device in Windows Vista and in Windows Server 2008

解決方法是在 Registry 裡增加一個新的機碼:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent 新增一個 32-bit DWORD,名稱為 AssumeUDPEncapsulationContextOnSendRule 然後把值設為 2

理論上要重開機才會生效,不過我試了兩台 Windows 10,一台沒重開也 OK 就是了。Anyway, 如果發現沒有效果就重開試試吧!

其他安全性設定

基本上這樣 VPN 就可以連線了,不過還是有一些安全性的設定可以調整。在連線的設定裡,「安全性」標籤,資料加密欄位改為「需要加密(如果伺服器拒絕就中斷連線)」(預設是「可省略加密」),另外允許這些通訊協定的選項,只勾選「MS-CHAP v2」,如下圖:

VPN 安全性設定

如此一來,連上 VPN 就可以繞過一些惱人的問題啦!


Leave a Reply