關(guān)于這個問題!
網(wǎng)上一頓文章瞎嘰霸寫的都是些什么嘰霸玩意!
如果你是自己搭建的IPSec L2TP服務(wù)器,而且你又在其他地方折騰了半天Windows連接L2TP的問題,那么這篇文章適合你!
今天,我們來好好說說Windows下的L2TP over IPSec的各種問題。
目前看來,默認(rèn)配置下,幾乎所有的windows都無法順利連接L2TP over ipsec,解決Windows連接L2TP有兩種方案,
- 方案一:直接禁用ipsec協(xié)商
- 方案二:允許L2TP喚醒ipsec,同時修改ipsec協(xié)商參數(shù)
網(wǎng)上大部分文章給的都是基于方案一,然后再歪七扭八整了一堆注冊表修改項(xiàng),只要你看到下面這個截圖,基本就是直接禁用ipsec的套路了。方案一不能說不對,很多網(wǎng)絡(luò)小白確實(shí)靠著這個辦法順利連上了。但是:
這種辦法連接的L2TP是沒有經(jīng)過ipsec加密保護(hù)的喲,客戶端和服務(wù)器是直接使用1701的L2TP端口通信的喲?。。。?code>明文傳輸數(shù)據(jù)喲?。。。。。。?!
如何檢驗(yàn)流量有沒有加密呢?防火墻不放通1701,僅放通500和4500 UDP兩個IPSec端口,還能建聯(lián)的,才是真的經(jīng)過了ipsec加密。
好了,吐槽完了,我們開始正式說一下從服務(wù)端,到windows客戶端如何配置:
一、防火墻配置
注意,我們絕不在公網(wǎng)側(cè)直接放通UDP 1701端口。
我們希望的是:
- 公網(wǎng)流量先經(jīng)過IPSec加密
- 然后在IPSec隧道側(cè)承接L2TP的UDP 1701端口的流量
- 讓L2TP流量封裝在IPSec隧道內(nèi),實(shí)現(xiàn)真正的L2TP over IPSec的配置。
因此我們的配置類似于下面的截圖:
1、WAN口僅放行500+4500 UDP流量
2、IPsec虛接口放行L2TP UDP 1701流量
二、服務(wù)器端IPSec協(xié)商參數(shù)
從Microsoft官方找到了唯一的一篇有關(guān)Windows的IPSec安全提議的文檔。
Default encryption settings for the Microsoft L2TP/IPSec Client
簡單總結(jié)下來,服務(wù)端配置的安全提議
- 階段一提議至少應(yīng)該包含以下組合:
3DES-SHA1-DH組2 - 階段二至少應(yīng)該包含3DES加密算法和SHA1散列算法
- 封裝方式使用傳輸模式
實(shí)測Windows連接后,確實(shí)使用此提議的組合進(jìn)行連接。
同時為了更好的兼容MacOS、iOS和安卓,推薦多搞一點(diǎn)各種提議的組合,逗老師我測試了一下,下面這種組合在各種系統(tǒng)連接時,都可以做到最大兼容。
三、Windows端修改注冊表
1、允許IPSec穿越NAT
說明:
正常的IPSec使用500 UDP端口進(jìn)行通信,但是因?yàn)镮PSec建聯(lián)時需要比較IKE包內(nèi)host id字段與IP包頭實(shí)際IP,所以需要引入后續(xù)版本的NAT穿越技術(shù),由500初次建聯(lián),之后交由4500端口進(jìn)行NAT穿越建聯(lián)。
默認(rèn)windows不支持NAT穿越,配置AssumeUDPEncapsulationContextOnSendRule字段用于允許IPSec使用UDP 4500端口進(jìn)行NAT穿越。
配置方式:
開始,管理員身份運(yùn)行CMD
復(fù)制粘貼下面命令
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d 0x2 /f
或者手動進(jìn)入regedit,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent
新建一個 dword類型的鍵AssumeUDPEncapsulationContextOnSendRule
值為2。
2、允許L2TP喚醒IPSec
說明:
這個配置不一定會影響建立連接,但是可能會影響休眠后重新喚醒IPSec加密。
配置:
開始,管理員身份運(yùn)行CMD
復(fù)制粘貼下面命令
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\Parameters /v AllowL2TPWeakCrypto /t REG_DWORD /d 0x1 /f
或者手動進(jìn)入regedit,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\Parameters
新建一個 dword類型的鍵AllowL2TPWeakCrypto
值為1。
3、允許IPSec運(yùn)行
說明:
我估計大家在看到這篇文章之前,肯定已經(jīng)照著網(wǎng)上的各種文章搞了一堆亂七八糟的東西了。
大部分文章中都會引導(dǎo)禁用IPSec運(yùn)行,但這是不對的呀!瞎雞兒整。
恢復(fù)ProhibitIpSec配置
配置:
開始,管理員身份運(yùn)行CMD
復(fù)制粘貼下面命令
REG ADD HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters /v ProhibitIpSec /t REG_DWORD /d 0x0 /f
或者手動進(jìn)入regedit,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\Parameters
刪除ProhibitIpSec
鍵值。
4、神仙操作,禁用Xbox網(wǎng)絡(luò)服務(wù)
這是redit上一個神仙網(wǎng)友發(fā)現(xiàn)的操作,玄學(xué)操作,但是有用。
進(jìn)入【服務(wù)】,找到Xbox Live 網(wǎng)絡(luò)服務(wù)
,給他禁用掉。
5、確認(rèn)L2TP身份驗(yàn)證方式和加密
從服務(wù)器端確認(rèn)L2TP身份驗(yàn)證方式,例如是CHAP還是MSCHAPv2,并在Windows客戶端正確配置相應(yīng)的身份驗(yàn)證方式。
不知道是啥身份驗(yàn)證方式的話,就在Windows客戶端把所有的身份驗(yàn)證方式都勾上。
同時,務(wù)必確?!緮?shù)據(jù)加密】不要選擇“不允許加密”,否則又不會協(xié)商IPSec了。文章來源:http://www.zghlxwxcb.cn/news/detail-440319.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-440319.html
到了這里,關(guān)于【逗老師的小技巧】我算是把Windows IPSec L2TP的問題玩明白了的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!