此问题适用服务器是云主机,通过NAT方式联网的
默认情况下,Windows Vista 和 Windows Server 2008 操作系统不支持 Internet 协议安全 (IPsec) 网络地址转换 (NAT) 遍历 (NAT-T) 安全关联到 NAT 设备后面的服务器。因此,如果虚拟专用网络 (VPN) 服务器在NAT 设备的后面时,基于 Windows Vista 的 VPN 客户端计算机或基于 Windows Server 2008 的 VPN 客户端计算机不能进行第二层隧道协议 (L2TP) / IPsec 连接到 VPN 服务器。此方案包括运行 Windows Server 2008 和 Microsoft Windows Server 2003 的 VPN 服务器
当您把服务器放在 NAT 设备后面,并使用 IPsec NAT-T 环境时,NAT 设备的转换网络流量的方式,可能会遇到意外的结果。因此,如果您必须用 IPsec 通信,建议您对所有服务器都使用公用 IP 地址,这样就可以连接至 Internet。但是,如果您必须把服务器放在 NAT 设备后面,然后使用 IPsec NAT-T 环境,您可以通过更改 VPN 客户机和 VPN 服务器上的注册表值启用通信。
若要创建和配置的AssumeUDPEncapsulationContextOnSendRule注册表值,请执行以下步骤︰
找到并单击以下注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent
在编辑菜单上,指向新建,然后单击DWORD (32 位) 值。
键入AssumeUDPEncapsulationContextOnSendRule,然后再按 ENTER 键。
用鼠标右键单击AssumeUDPEncapsulationContextOnSendRule,然后单击修改。
在数值数据框中,键入下列值之一:
值为 0 将 Windows 配置为无法建立与位于 NAT 设备后面的服务器的安全关联。这是默认值。
值为 1 将 Windows 配置为可以建立与位于 NAT 设备后面的服务器的安全关联。(理解为客户端是公网方式连网,服务端是NAT方式联网)
值为 2 将 Windows 配置为服务器和基于 Windows Vista 的或基于 Windows Server 2008 的 VPN 客户端计算机均位于 NAT 设备后面,它可以建立安全关联。(理解为客户端和服务端都是NAT方式联网)
我们一般的环境都是NAT方式,所以把值改为2都能解决。
C:\Users\xxx\Desktop>more update.reg Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\PolicyAgent] "AssumeUDPEncapsulationContextOnSendRule"=dword:00000002