如何通过双 NAT 实现 IPSEC?

网络工程 纳特 网络安全
2021-08-01 01:18:55

我需要在两个站点之间建立一个站点到站点 VPN。

以下是每个站点的以下拓扑:

  1. 站点 A:一个 Cisco 1921 WAN 端口(192.168.3.2)连接到 ISP 路由器(192.168.3.66),Cisco 1921 和 ISP 的路由器都在做 NAT Overload。

  2. 站点B:一个Cisco 1921 WAN口(192.168.2.2)连接到ISP路由器(192.168.2.66),Cisco 1921和ISP的路由器都在做NAT Overload。

从上面的拓扑结构可以清楚地看出,我无法控制 ISP 路由器来进行端口转发。

如何在两台路由器之间成功配置 Site-to-Site IPSec 隧道?

我不是在问“如何在 Cisco IOS 中创建 VPN”,我知道该怎么做。但我想知道,考虑到在 ISP 路由器上无法进行端口转发,怎么可能在这种双 NAT 上建立 VPN 隧道?

4个回答

要允许在 NAT 后面的两个站点之间建立 IPSEC 隧道,您应该至少有一个站点具有 NATted udp/500 和 udp/4500 从外到内。

如果不能在两个站点中的任何一个上转发端口,则不能在两个站点之间直接建立 VPN。

您可以建立从每个站点到第三个站点的 VPN,并相应地进行路由(如@peterh 的评论中所建议)。

我个人会尝试与 ISP 合作以获得解决方案,如果 ISP 不能/不想提供帮助,请更改 ISP。

如果没有端口/协议转发,就无法连接到任一站点。

为自己准备一台带有静态地址的外部服务器,从两个站点连接 VPN,并将外部服务器上的隧道连接在一起。

此外,如果您的 ISP 路由器不支持 IPsec 遍历,您最好使用 SSL VPN。正如 peterh 所建议的,OpenVPN 可能是一个不错的选择。

或者,让您的 ISP 使用至少一个静态地址路由您的站点,而无需 NAT。

建议至少一侧使用静态 IP;然而,DDNS 将为此工作,(如果双方都分配了动态地址和 NAT 过载),而两个路由器都分配了 fqdn 用于对等方的动态跟踪:

http://www.cisco.com/c/en/us/support/docs/security-vpn/ipsec-architecture-implementation/118048-technote-ipsec-00.html

如果不利用 DDNS,一方将需要有一个公共静态 IP,以便为远程动态对等方提供对等 IP 地址以启动感兴趣的流量。我强烈建议从 Cisco TAC 获得有关此配置和要求的实时支持。