现象:
今年年初,突然发现之前已经建立好的ipsec隧道再连接就报错了,当时以为家里的routeros上期间做了什么配置导致,在win10上抓包看ISAKMP请求收到了应答然后就没反应了,并且服务端的这个应答由于没有收到后续第二条请求还在向win10重发,说明问题出在win10侧。
那就百度呗,是不是之前装了什么虚拟机或者蒲公英客户端新增了虚拟网口干扰了,或者原来的配置被动过了,百度的查到的都是什么注册表把prohibitipsec=1给禁用掉,关键我原来都是好的啊,禁用后看发的就不是ipsec的建链流程而是l2tp了,我本来就是为了学习ipsec才建立的隧道为什么要禁用掉?
无意间看到了一个帖子,说22年更新的一个windows安全更新会导致这个问题
卸载后问题解决,给大家分享下。另外附上注册表需要修改的地方,想用ipsec走隧道的同学别再去折腾注册表里那个prohibitipsec=1了。下面摘自一位朋友的总结:
作者:082e63dc752b链接:https://www.jianshu.com/p/b89e21e0040b来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1、以管理员账号身份打开CMD,win10 是 win+x键
2、找到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\Parameters
将ProhibitIPSec的值改为0
3、找到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent
将AssumeUDPEncapsulationContextOnSendRule的值改为2
4、找到:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters
将allowL2TPweakcryphto的值改为1,重启计算机