> 技术文档 > 【尝试解决】无法连接到xxx:L2TP连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到一个处理错误。_l2tp连接尝试失败,因为安全层在初始化

【尝试解决】无法连接到xxx:L2TP连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到一个处理错误。_l2tp连接尝试失败,因为安全层在初始化


【前排提醒】

注意,注意,注意:
        任何注册表修改都应谨慎操作,最好在修改前备份注册表!!!
        任何注册表修改都应谨慎操作,最好在修改前备份注册表!!!
        任何注册表修改都应谨慎操作,最好在修改前备份注册表!!!

背景

        通过vpn来远程连接局域网环境,这里使用的是Windows自带的VPN连接,没有用专门的vpn连接软件。

        目前遇到的问题是:在“网络和 Internet”下“VPN”栏。输入ip和账号后显示连接失败:

        连接后显示:L2TP连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到一个处理错误。

简单分析一波

        有很多原因导致这个错误,比如:系统是否支持IPSec(一般都支持吧)、客户端证书是否有效且正确(一般也没错吧)、兼容的安全设置(太抽象了)、端口被防火墙或路由器阻止(这个只能说有一定的可能,如果你平时鼓捣过firewall的策略配置或注册表的话)。这些原因以博主目前的知识储备还不能给大家很好的建议,且自己最后发现也不是上述原因所引起的错误。相信大多数朋友遇到问题的原因是:👇

        有可能没有启用L2TP/IPSec连接。有时需要我们去调整Windows注册表中的某些键值以启用L2TP/IPSec连接。

ps(小声bb~):博主暂时不是很懂这些乱七八糟的协议哈,感兴趣的朋友可以自己去搜索,就不在这里与大家分享了。

必要的修改

        打开注册表编辑器,在HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\PolicyAgent路径下新建【如果不存在则创建】:

  • DWORD(32位)值:AssumeUDPEncapsulationContextOnSendRule
  • 值数据:2

        可以测试连接一下,不行请重启后再试一试。

如何打开注册表编辑器?

通过运行命令

  1. Win + R 打开“运行”窗口(或去开始菜单找)。
  2. CMD打开 命令提示符(CMD)(PowerShell也可以)。【ps:不用CMD,直接输入 regedit regedit.exe
  3. 输入regedit命令并回车。
  4. 如果弹出用户账户控制(UAC)提示,点击 是。

通过开始菜单搜索

  1. 点击 开始按钮 或按 Win 或按 Win + S
  2. 在搜索栏中输入 “注册表编辑器” 或 “regedit”。
  3. 在搜索结果中点击 “注册表编辑器”(或右键选择 以管理员身份运行)。

通过文件资源管理器

  1. 打开 文件资源管理器Win + E)。
  2. 在地址栏输入 regedit 并按回车。
  3. 确认 UAC 提示(如有)。

点点点

  1. 打开 控制面板
  2. 点击 管理工具
  3. 双击 注册表编辑器

可能的附加修改项

        如果上述办法没有解决问题,可以尝试再按下面的方法试一试,如果依旧无法解决请恢复现场后自行百度、求助llm伙伴或直接向身边大佬求助。

注:目前博主没试过下面的每个单独的步骤是不是对于解决这个问题来说是必须的。(目前确定“修改项一”禁用IPSec不是必须的)

修改项一(非必须)

WARN!:禁止此项会有意想不到的“副作用”,大家还是别改了,实测发现禁用后本地个别加速器(UU)会失效!!

        禁止RAS管理器使用IPSec。这种修改并不是在所有情况下都是必须的,可能适用某些特定场景吧:

  • 如果你的网络环境或者公司VPN策略不允许或不推荐使用IPSec。
  • 当遇到由于IPSec导致的连接问题,并且其他方法均不能解决问题时。

        打开注册表编辑器,在HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\RasMan\\Parameters路径下新建【如果不存在则创建】:

  • DWORD(32位)值:ProhibitIPSec
  • 值数据:1

        我们设置 ProhibitIPSec 为 1 ,目的是告诉系统不要通过RAS管理器对L2TP连接使用IPSec。

        同时注意你Parameters路径下的配置列表项中有没有:AllowL2TPWeakCrypto如果没有请新建一个。

修改项二

        打开“任务管理器”,点击“服务”,右键“打开服务”,跳转详细页面后找到Routing and Remote Access项后,如图设置:

        找到IPsec Policy Agent项后,如图设置:

结束

        上面配置流程完后如果没有立马生效请重启电脑再试。

        下面是连接成功后的页面,完后就可以美滋滋远程连接到内网(局域网)进行操作了:

        不知道这篇文章能不能帮助你解决问题。如果没有,就再找找别的办法,相信一定可以解决的😊。

        总后还是感谢大家的阅读啦~👍👍👍

一些参考:1、2、3、4