FW-A 后面已经有一个网络,位于子网 172.16.101.0/24 中
我想在 FW-A 和 FW-B 之间建立 IPSec 隧道,并且让 FW-B 后面的设备也位于与 FW-A 相同的子网 172.16.101.0/24 上。
以下是一个表示:
据我所知,实现这种拓扑的方式是通过对两个网络进行 nat 并让它们通过其 nat 地址进行通信。
我想知道是否有另一种方法可以将子网 A 通告给 FW-B,同时在 B 端保持相同的子网?
这里的基本思想是让 B 后面的设备使用 172.16.101.0/24 中的真实地址直接与 A 后面的设备进行通信,而无需任何 NAT?
我不确定这是否合理,因为我知道两个网络之间存在冲突。
答案1
在这种情况下,您有三个选择。
- 1:正如您已经指出的那样,使用完整的 NAT(源和目标 NAT)
- 2:网络分段(将
172.16.101.0/24
子网转换为两个 /25 子网) - 3:使用桥接而不是IPsec隧道。
在方案 3 中,您将在网络层 2 上构建 VPN,有效地将这两个网络桥接在一起。您必须通过其他方式确保不会发生 IP 冲突。这会给 VPN 带来额外的开销,因为您正在隧道传输以太网协议,而不是 IP 协议。
可以在这样的 VPN 连接上安装防火墙(见这里例如,或者查看 Linux 手册页ebtables),但比 ipsec 隧道更具挑战性,而且并非所有防火墙都具有这种功能。由于这些缺点,我总是选择完整的 NAT 选项...