我想以桥接模式设置站点到站点的 IPsec:也就是说,每个站点中的主机不需要修改即可使用 IPsec 网关,但 IPsec 网关充当伪线。
我的计划是:
- 在每个网关上设置主机到主机 IPsec
- 在每个网关之间设置 L2TP (通过 IPsec)
- 在每个网关上桥接 eth0 和 lt2p-eth
此后,到达任何 gw 的 eth0 的任何第 2 层数据包都应自动通过隧道 (L2TP) 安全地 (IPsec) 传输到其他网关。
这是正确的吗?这是推荐的方法吗?
另外:对于超过 2 个网关,我该如何执行此操作?每个网关是否都需要 IPsec SA和与其他每个网关建立 L2TP 隧道?理想情况下,我希望网关不需要明确了解其他每个单独的网关,但我找不到可靠的甚至是标准的方法来做到这一点。
答案1
这是我的亲身经历可能的但不推荐。事实上,我想告诉你,你永远不应该使用这种配置。让我解释一下
第 2 层桥接模式旨在不做出任何路由决策,而 IPSEC VPN 需要路由才能通过 VPN 移动数据包。事实上,主机永远不知道自己的网关之外传递了什么。它会将所有流量发送到网关(除非在同一子网中),网关会为主机执行所有路由。主机永远不会知道从该点开始的任何信息。第 2 层路由使用 MAC 地址完成。要执行第 2 层路由,您必须知道所有 MAC 地址,才能将它们移动到另一个方向。
在网络配置中,主机不知道它们正在通过 VPN 隧道,并且隧道是在主机不知情的情况下“自动”执行的。
回到正题上。L2TP 和 IPSEC 是多余的。您不想同时执行这两项操作,因为您的设备会选择其中之一,从而导致路由冲突。您无法强制通过 VPN 隧道使用 L2TP。当两条隧道都存在时,您的路由器必须决定通过哪条隧道。这可能取决于哪些路由 1) 优先级更高或 2) 在链上更高,仅按规则顺序优先。
对于超过 2 个网关,有许多不同的变量可以实现两个网关。如果两个网关是 2 个不同的面向 WAN 的连接,则一次只能允许一个处于活动状态。两个都处于活动状态会导致路由冲突。为了解决这个问题,您可以使用动态路由(例如 OSPF)来故障转移到辅助隧道\辅助 ISP 并拆除主 ISP。
总而言之,除非您绝对必须在问题中构建它。我建议使用单个 L3 设备来管理仅具有 1 个网关的 VPN 隧道。这种方式是最精简、移动部件最少且配置最简单的方式。