如何在 Windows Vista 和 Windows Server 2008 中的 NAT 设备背后配置 L2TP/IPsec 服务器


简介


重要说明 本部分(或称方法或任务)包含有关如何修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,请一定严格按照下列步骤操作。 为了获得进一步的保护,请在修改注册表之前对其进行备份。 这样就可以在出现问题时还原注册表。 有关如何备份和还原注册表的更多信息,请单击下面的文章编号查看 Microsoft 知识库中相应的文章:
322756 如何在 Windows 中备份和还原注册表
默认情况下,Windows Vista 和 Windows Server 2008 操作系统不支持到 NAT 设备后面的服务器的 Internet 协议安全(IPsec)网络地址转换(nat)遍历(nat-t)的安全关联。 因此,如果虚拟专用网络(VPN)服务器位于 NAT 设备之后,则基于 Windows Vista 的 VPN 客户端计算机或基于 Windows Server 2008 的 VPN 客户端计算机无法建立与 VPN 服务器的第二层隧道协议(L2TP)/IPsec 连接。 此方案包括运行 Windows Server 2008 和 Microsoft Windows Server 2003 的 VPN 服务器。由于 NAT 设备转换网络流量的方式,当你将服务器放在 NAT 设备后面,然后使用 IPsec NAT-T 环境时,你可能会遇到意外的结果。 因此,如果必须使用 IPsec 进行通信,我们建议你将公共 IP 地址用于可以从 Internet 连接的所有服务器。 但是,如果您必须将服务器放在 NAT 设备后面,然后使用 IPsec NAT-T 环境,则可以通过更改 VPN 客户端计算机和 VPN 服务器上的注册表值来启用通信。若要创建和配置 AssumeUDPEncapsulationContextOnSendRule 注册表值,请按照下列步骤操作:
  1. 以管理员组成员的用户身份登录到 Windows Vista 客户端计算机。
  2. 单击 "开始"
    windows icon
    ,指向 " 所有程序",单击 " 附件",单击 " 运行",键入 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. 右键单击 " AssumeUDPEncapsulationContextOnSendRule",然后单击 " 修改"。
  7. 在 " 值数据 " 框中,键入以下值之一:
    • 0 值0(零)配置 Windows,以便它无法与位于 NAT 设备后面的服务器建立安全关联。 这是默认值。
    • 1 值1将配置 Windows,以便它可以建立与 NAT 设备之后的服务器的安全关联。
    • 2 值2将配置 Windows,以便在服务器和基于 windows Vista 或 Windows 2008 Server 的 VPN 客户端计算机位于 NAT 设备之后,它可以建立安全关联。  
  8. 单击 "确定",然后退出注册表编辑器。
  9. 重启计算机。

更多信息


有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中的文章:
818043 适用于 Windows XP 和 Windows 2000 的 L2TP/IPsec NAT-T 更新
885348 对于网络地址转换器之后的 Windows Server 2003 计算机,不推荐使用 IPSec NAT-T