在 NAT-T 设备后面配置 L2TP/IPsec 服务器

本文介绍如何在 NAT-T 设备后面配置 L2TP/IPsec 服务器。

适用于:Windows 10 - 所有版本,Windows Server 2012 R2
原始 KB 编号: 926179

摘要

重要

此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,请务必严格按照这些步骤操作。 为了加强保护,应先备份注册表,再进行修改。 如果出现问题,可以还原注册表。 有关如何备份和还原注册表的详细信息,请参阅如何备份和还原 Windows 中的注册表

默认情况下,Windows Vista 和 Windows Server 2008 不支持 Internet 协议安全性 (IPsec) 网络地址转换 (NAT) 遍历 (NAT-T) 安全关联到 NAT 设备后面的服务器。 如果虚拟专用网络 (VPN) 服务器位于 NAT 设备后面,则 Windows Vista 或基于 Windows Server 2008 的 VPN 客户端计算机无法与 VPN 服务器建立第 2 层隧道协议 (L2TP) /IPsec 连接。 此方案包括运行 Windows Server 2008 和 Windows Server 2003 的 VPN 服务器。

由于 NAT 设备转换网络流量的方式,在以下方案中可能会遇到意外结果:

  • 将服务器放在 NAT 设备后面。
  • 使用 IPsec NAT-T 环境。

如果必须使用 IPsec 进行通信,请对可从 Internet 连接到的所有服务器使用公共 IP 地址。 如果必须将服务器放在 NAT 设备后面,然后使用 IPsec NAT-T 环境,则可以通过更改 VPN 客户端计算机和 VPN 服务器上的注册表值来启用通信。

设置 AssumeUDPEncapsulationContextOnSendRule 注册表项

若要创建并配置 AssumeUDPEncapsulationContextOnSendRule 注册表值,请执行以下步骤:

  1. 以管理员组成员身份的用户身份登录到 Windows Vista 客户端计算机。

  2. 选择“ 启动>所有程序>附件>运行”,键入 “regedit”,然后选择“ 确定”。 如果屏幕上显示“ 用户帐户控制 ”对话框并提示提升管理员令牌,请选择“ 继续”。

  3. 找到并选择以下注册表子项:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent

    注意

    还可以将 AssumeUDPEncapsulationContextOnSendRule DWORD 值应用于 Microsoft Windows XP Service Pack 2 (SP2) 基于 VPN 客户端计算机。 为此,请找到并选择 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPSec 注册表子项。

  4. “编辑” 菜单上,指向“ 新建”,然后选择“ DWORD (32 位) 值”。

  5. 键入 AssumeUDPEncapsulationContextOnSendRule,然后按 Enter。

  6. 右键单击“ 假设”“UDPEncapsulationContextOnSendRule”,然后选择“ 修改”。

  7. 在“ 值数据 ”框中,键入以下值之一:

    • 0

      它是默认值。 当它设置为 0 时,Windows 无法与 NAT 设备后面的服务器建立安全关联。

    • 1

      当它设置为 1 时,Windows 可以与 NAT 设备后面的服务器建立安全关联。

    • 2

      当它设置为 2 时,当服务器和 VPN 客户端计算机 (Windows Vista 或基于 Windows Server 2008 的) 都位于 NAT 设备后面时,Windows 可以建立安全关联。

  8. 选择“确定”,然后退出“注册表编辑器”。

  9. 重启计算机。