错误描述:当连接VPN是回传错误为“ L2TP连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到了一个处理错误”
操作系统:win10家庭版
VPN设置:
常规选项:配置了需要连接目标server的IP地址。
安全选项:VPN类型如下图所示
网络选项:在ipv4属性中配置如下:
高级选项IP设置中取消了“在远程网络上使用默认网关”然后链接时报错。因为不了解VPN服务器的配置而且其他win7的系统能链接VPN,所以只能尽可能排查win10自己系统的问题。注意win10家庭版是没有本地安全组策略的,所以要么加域推送组策略否则没有太好的办法做策略。
在这里我们想查看服务是否启动,在这里查看到服务是没有开启的,这样我们手动触发一下。
但是发现还是不行。这个时候为什么不问问神奇的MSDN呢?(博主还是推荐遇windows的问题多去MSDN查询结果)。
这里我在MSDN中找到了一个答案,在下面附上链接:
https://support.microsoft.com/zh-cn/kb/929856
文中说明如果发生了这种情况大多数的原因发生在Windows客户端计算机使用的加密级别与VPN服务器所使用的加密级别不匹配。例如,客户端计算机使用40位或56位RC4加密算法,并且VPN服务器仅支持128位RC4加密算法,将出现此问题。
针对客户端给出的解决办法就是添加了一条注册表记录。
添加客户端计算机上使用的 AllowL2TPWeakCrypto 注册表项来更改加密设置路由和远程访问服务。
1. 创建 AllowL2TPWeakCrypto 注册表项,并将其设置为 1 的值。
1. 单击开始,单击运行,键入regedit,然后单击确定
2. 在注册表编辑器中,找到并单击以下注册表子项︰HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters
3. 在编辑菜单上,指向新建,然后单击DWORD 值。
4. 键入AllowL2TPWeakCrypto,然后按 enter 键。
5. 在编辑菜单上,单击修改。
6. 在数值数据框中,键入1,然后单击确定。
7. 在文件菜单上,单击退出以退出注册表编辑器。
2. 重新启动"路由和远程访问"服务和远程访问连接管理器服务。若要执行此操作,请按照下列步骤操作:
1. 单击开始,右键单击我的电脑,然后单击管理。
2. 展开服务和应用程序,然后单击服务。
3. 路由和远程访问,请用鼠标右键单击,然后单击停止。
4. 远程访问连接管理器中,用鼠标右键单击,然后单击停止。
5. 远程访问连接管理器中,用鼠标右键单击,然后单击开始。
6. 路由和远程访问,请用鼠标右键单击,然后单击开始。
请注意出于安全角度考虑,请在做修改注册表的1操作是将注册表先导出备份一个。以下是我未作修改注册表的原值:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\Parameters]
"AllowL2TPWeakCrypto"=dword:00000000
"AllowPPTPWeakCrypto"=dword:00000000
"KeepRasConnections"=dword:00000000
"Medias"=hex(7):72,00,61,00,73,00,74,00,61,00,70,00,69,00,00,00,00,00
"ServiceDll"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,\
00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,\
72,00,61,00,73,00,6d,00,61,00,6e,00,73,00,2e,00,64,00,6c,00,6c,00,00,00
"ServiceDllUnloadOnStop"=dword:00000001
"MiniportsInstalled"=dword:0000ffff
(ps: AllowL2TPWeakCrypto )
或者更改参照给的另外一个方法:
方法 2︰ 更改在 VPN 客户端计算机上的加密设置
更改加密在客户端计算机的 VPN 连接中要使用的设置最大强度加密。执行此操作后,三重数据加密标准 (3DES) 加密用于建立 VPN 连接。若要更改客户端计算机的 VPN 连接的加密设置,请执行以下步骤︰
1. 单击开始,单击运行,请在打开框中,键入ncpa.cpl ,然后单击确定。
2. VPN 连接中,用鼠标右键单击,然后单击属性。
3. 单击安全选项卡,单击高级 (自定义设置),然后单击设置。
4. 在数据加密框中,单击最大强度的加密 (如果服务器拒绝将断开连接),然后单击确定两次。
重启之后可以再次尝试拨入VPN。一般情况下因该能够解决了,但是博主脸黑还是不行,那没办了,继续改注册表。
1.定位注册表HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters
2. 在“编辑”菜单上,单击“新建”->“DWORD值”
3. 在“名称”框中,键入“ProhibitIpSec”
4. 在“数值数据”框中,键入“1”,然后单击“确定”
(ps: “ProhibitIpSec”=dword:00000000 ;使用RAS的L2TP功能[1=关闭])
这里附带贴上两个微软msdn使用netdiag和Ipsecmon工具排L2TP/IPSec的排错方法
https://support.microsoft.com/zh-cn/kb/259335
https://support.microsoft.com/zh-cn/kb/248750