windows10中可能不会提示错误代码,而是“L2TP连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到一个处理错误“。
首先做个科普,L2TP分为两种,老的是L2TP VPN,现在用的更多的是L2TP over IPsec,在Win10中已经找不到L2TP VPN的选项了。两者的区别是什么呢,老的L2TP在交换密钥时使用明文,而新的L2TP over IPsec在交换密钥前先建立IPsec隧道,通过该隧道交换密钥,从而实现对密钥的保护。从用户角度讲,两种VPN的区别在于第一种只需用户名和密码即可连接,而第二种还需要一个预共享密钥或者证书。
现在许多带VPN网关功能的路由器(如H3C的ER系列路由器)仍然使用L2TP VPN,但是新的设备或软件却已不支持这种过时的协议,这也是为什么我们在连VPN时出现了该错误。通过抓取网络数据包可以看到,Win10在发起L2TP连接时先进行的是IPSec协商,成功后再进行L2TP协商。但是不支持L2TP over IPsec的网关并不会响应IPsec的数据包,从而导致安全层协商失败。
解决方法如下
1. 单击“开始”,单击“运行”,键入“regedit”,然后单击“确定”
2. 找到下面的注册表子项,然后单击它:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters
3. 在“编辑”菜单上,单击“新建”->“DWORD值”
4. 在“名称”框中,键入“ProhibitIpSec”
5. 在“数值数据”框中,键入“1”,然后单击“确定”
2. 找到下面的注册表子项,然后单击它:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters
3. 在“编辑”菜单上,单击“新建”->“DWORD值”
4. 在“名称”框中,键入“ProhibitIpSec”
5. 在“数值数据”框中,键入“1”,然后单击“确定”
6. 退出注册表编辑器,然后重新启动计算机
部分电脑到这里就能连上了,但部分还需要第七布
7. “AllowL2TPWeakCrypto”的值改成“1”,再重启电脑。
部分电脑到这里就能连上了,但部分还需要第七布
7. “AllowL2TPWeakCrypto”的值改成“1”,再重启电脑。

经过我的测试,两台无法连接的电脑在修改注册表后全部成功连接。
