今天終於在新電腦上嘗試一下能不能連 VPN 到公司網路,沒想到,這個任務還是問題一堆…
1 | 嘗試l2tp連線失敗因為安全性階層在與遠端電腦進行初始交涉時處理錯誤 |
公司防火牆提供給我們連公司內網的 VPN 是使用 L2TP+IPsec 預先共用金鑰,設定的過程跟 Win10 沒什麼兩樣,這邊就不多說了,主要記錄一下我怎麼解決這個錯誤訊息(原理有時間再來深扒)。
VPN 的內容設定
控制台\網路和網際網路\網路連線
,對著剛才新增的 VPN 點右鍵查看內容,要勾選「允許這些通訊協定」
在選項頁點 PPP 設定按鈕,查看是否勾選啟用 LCP 擴充
檢查 windows 版本
Win10 的 KB5009543、Win11 的 KB5009566 版本可能會造成 L2TP 的連線問題,到設定/WindowsUpdate/更新紀錄
可以查看是否有安裝這幾個版本,如果有的話可以移除更新
服務
按下win+R
,輸入services.msc
找到
IPSec Policy Agent
右鍵點選重新啟動,打開內容修改啟動類型為自動。也有人說手動,反正不是停用就行了,這項服務負責的是支援 IPsec 的驗證,如果不打開會有連線問題。找到
IKE and AuthIP IPsec Keying Modules
重複 1.步驟。這個服務是支援金鑰交換,如果停用會導致交換失敗。
更改登錄檔
win+R
召喚老朋友,輸入regedit
就可以叫出登錄檔
- 路徑
電腦\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent
新增一個 DWORD 值(32 位元),命名為AssumeUDPEncapsulationContextOnSendRule
並且設定值為 2
這個選項的值
0 是預設值,無法和 NAT 後的設備產生關連
1 是可以和位於 NAT 後端的設備建立安全關連
2 是當服務器和 VPN 客戶端都位於 NAT 設備後面時,能夠建立安全關聯
- 路徑
電腦\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\Parameters
新增一個 DWORD 值(32 位元),命名為
ProhibitIPSec
設定值為 10 為預設值,可以在 RRAS 服務器(遠端存取服務)上使用 IPsec 進行資料保護
1 為禁用自動配置的 IPsec(看起來跟 Mac 一樣是繞過 IPsec 的操作呢,不改真的連不上)修改
AllowL2TPWeakCrypto
的值為 1(原為 0),不過這個我後來把它改回 0 也沒影響 VPN 連線結果,就放著參考吧~0 為表示不允許使用 L2TP 中的較弱的加密方式。
1 為允許使用則表示允許使用 L2TP 中的較弱的加密方式。
修改完重開電腦就可以連了~
查看防火牆
在 cmd 輸入netstat -ano
查看是否有 4500、500port,如果是使用 NAT 技術傳送資料的話,會需要這兩個 port,如果沒有的話可以去防火牆控制台\系統及安全性\Windows Defender 防火牆\進階設定
這裡新增,好讓 VPN 傳來的資料可以通過防火牆
在輸入規則,
新增 UDP 連接埠500, 4500
,下一步選允許連線,設定允許的網域之後就完成了
VPN 連上了,但我沒辦法使用遠端桌面連線
使用遠端預設閘道打勾就能解決,之前在 win10 使用這個遠端預設閘道好像會導致本身電腦無法連外,但我用的這個 win11 沒有這個問題,通常預設都會是有勾選的,但我為了避免斷網先關掉它,反而讓自己連不上遠端桌面= =
這個在 VPN 的內容/網路功能/進階設定/網路通訊協定第 4 版/內容/進階
參考資料
Windows 11 L2TP 连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到了一个处理错误
我的 VPN 突然無法正常連線了
NAT 穿透
Configure a L2TP/IPsec server behind a NAT-T device
Configuring L2TP/IPSec VPN Connection Behind a NAT, VPN Error Code 809