我有两个 L2L VPN 连接到中央 ASA。我希望这些 VPN 能够相互通信,但我遇到了一些问题。
在第一个 VPN (VPN1) 上,一切正常。这是一个更“传统”的 IPSEC VPN,仅限于没有 NAT。也就是说,一切都通过真实地址进行通信,流量通过使用有趣的 ACL 进行路由。这里没有问题:HQ 和 VPN 流量相互之间移动得很好。
在第二个 VPN (VPN2)(新提供的链接)上,我希望 VPN2 上的客户端与 VPN1 上的服务器进行通信。挑战在于 VPN2 使用的 IP 空间与 VPN1 以及这两个 VPN 所连接的总部 ASA 重叠。
我希望 VPN2 的所有流量都通过 PAT 传输到单个地址。总部应该将此流量视为 PAT 的地址,并且不应看到真实地址。在理想情况下,此 PAT 将在 VPN2 上处理,因此 HQ 不需要知道任何细节或管理任何细节。从 HQ 的角度和 VPN1 的角度来看,所有流量都来自感兴趣的流量 ACL 中的一个地址。
此外,一旦 PAT 流量到达 HQ,就需要进行另一个 NAT。这一次,HQ 需要 NAT,在 1:1 的基础上,流量去往“隐藏”子网中的服务器。HQ 公开了一个子网(它位于 VPN2 的 ASA 的有趣流量 ACL 中,因此通过 ipsec 加密)。您在今天的 ASA 代码上执行此操作的合乎逻辑的方法是
object network foo
nat (outside,outside) static foo.bar.baz.bang
我似乎无法获得具有以下特征的配置:
- HQ ASA:两次 NAT,源是 VPN2 的 PAT 地址,目的地是 VPN1 的隐藏和真实子网
- HQ ASA:简单 NAT(只有直接暴露的“隐藏”子网)
我想弄清楚实现这一目标的正确配置模型是什么。理想情况下,我的要求是 VPN2 仅作为 PAT 显示给我(并且应该在他们的一端处理),并且 HQ ASA 处理从 VPN2 到 VPN1 的流量的 NAT。
所以:
- HQ 与 VPN1 正常通话 (10.4.0.0->10.5.0.0)
- 我希望 VPN2 的客户端与 VPN1 后面的服务器通信 (192.168.1.1->192.168.200.1)
- 我希望总部将 VPN1 的“真实地址”转换为 VPN2 的“隐藏子网”(192.168.200.0->10.5.0.0)
- 我希望 VPN2 的客户端被视为单个地址 (PAT) (10.4.0.0->192.168.1.1)
- 理想情况下,VPN2 会在流量到达我之前执行自己的 PAT (10.4.0.0->192.168.1.1)
- 感兴趣的流量ACL都是正确的
- 所有设备都运行 8.4+(一些 9.x+)
+----+ |SRV | 外 +--------+ +----+ +--------> FW1 +-----+ | +--------+ 内部 | | +----+ | +-------+ | 总部 | 外面| |客户端1| |----+---------+ +--------+ +-------+ | | FW2 | | +--------+--------+-----------> 外 | +-------+ |客户端2| +-------+