如何使用来自不同 WAN 上的同一子网的两个 IP 来解决这种混乱的路由场景?

网络工程 路由
2022-02-25 04:01:47

今天,我们管理着我们大学的两个大系,在做出政治决定后,两个系都在 IT 服务方面联手。因此,我们正在尝试统一我们的核心网络,但这并不像看起来那么容易。

这两个部门都运行着具有公共 IPv4 地址的大型路由基础设施,其中只有一个部门为客户端提供 NAT。但问题不在这里。问题在于我们的 WAN 链接。他们是“破碎的 TCP 网络”的荣耀 :)

来说明问题。WAN 静态地址为:

  • 部门#1:192.0.2.195/26
  • 部门#2:192.0.2.196/26
  • 通用网关:192.0.2.193/26

因此,您可以看到两个 WAN 链接都在同一个子网上,这是一个问题,因为在 Dept#1 我们有七个 /24 路由​​网络,在 Dept#2 我们有三个 /24 路由​​网络指向各自的 IP,如下在路由表上跳。

由于 TCP/IP 网络不允许在单个硬件中使用同一子网的两个地址,因此我们不能在同一设备上使用这些地址。基本上我们需要放置一些第 3 层设备来处理路由,然后将网络合并到一个统一的核心中。

这里的问题是如何做到这一点。今天我们有两个 pfSense 防火墙来执行此操作,但我们更愿意合并这些防火墙以将它们置于两个网络的 HA 中,但我们无法这样做。

我对在我们的 Nexus 3048 核心交换机上使用 VRF 有一些想法,但我不知道这是否是个好主意,或者是否应该以这种方式使用 VRF。

以下是两台设备的路由表:

部门#1

% interfaces
WAN (wan)       -> bce0        -> v4: 192.0.2.195/26
LAN (lan)       -> bce1        -> v4: 100.64.36.1/24

% netstat -nr
Routing tables

Internet:
Destination        Gateway            Flags      Netif Expire
default            192.0.2.193        UGS        bce0
10.3.12.0/24       100.64.36.36       UGS        bce1
127.0.0.1          link#5             UH          lo0
192.0.2.192/26     link#1             U          bce0
192.0.2.195        link#1             UHS         lo0
100.64.36.0/24     link#2             U          bce1
100.64.36.1        link#2             UHS         lo0
100.64.37.0/24     100.64.36.36       UGS        bce1
100.64.40.0/26     100.64.36.36       UGS        bce1
100.64.40.64/26    100.64.36.36       UGS        bce1
100.64.40.128/26   100.64.36.36       UGS        bce1
100.64.40.192/26   100.64.36.36       UGS        bce1
100.64.136.0/22    100.64.36.36       UGS        bce1
198.51.100.0/24    100.64.36.35       UGS        bce1

部门#2

% interfaces
WAN (wan)       -> bce0        -> v4: 192.0.2.196/26
LAN (lan)       -> em0         -> v4: 172.16.0.1/21
MGMT (opt1)     -> em1         -> v4: 10.7.0.1/24
SRV (opt2)      -> em1_vlan29  -> v4: 100.64.29.1/24
VPN (opt3)      -> em1_vlan11  -> v4: 192.168.172.254/24
LIG (opt4)      -> em0_vlan666 -> v4: 172.26.66.30/27

% netstat -nr
Routing tables

Internet:
Destination        Gateway            Flags      Netif Expire
default            192.0.2.193        UGS        bce0
10.7.0.0/24        link#3             U           em1
10.7.0.1           link#3             UHS         lo0
10.172.16.0/26     link#2             U           em0
10.172.16.1        link#2             UHS         lo0
127.0.0.1          link#6             UH          lo0
192.0.2.192/26     link#1             U          bce0
192.0.2.196        link#1             UHS         lo0
100.64.29.0/24     link#8             U      em1_vlan
100.64.29.1        link#8             UHS         lo0
100.64.30.0/26     link#2             U           em0
100.64.30.1        link#2             UHS         lo0
100.64.30.64/26    link#2             U           em0
100.64.30.65       link#2             UHS         lo0
100.64.30.128/26   link#2             U           em0
100.64.30.129      link#2             UHS         lo0
100.64.30.192/26   link#2             U           em0
100.64.30.193      link#2             UHS         lo0
172.16.0.0/21      link#2             U           em0
172.16.0.1         link#2             UHS         lo0
172.26.66.0/27     link#10            U      em0_vlan
172.26.66.30       link#10            UHS         lo0
192.168.172.0/24   link#9             U      em1_vlan
192.168.172.254    link#9             UHS         lo0

如您所见,我们有很多网络。我更改了该范围的公共 IPv4100.64/10和该范围的 WAN 链接,192.0.2/24只是为了保持通用性。

如果我们可以只处理某些设备中的 WAN 链接(例如在核心交换机中),并且它们使用统一防火墙上的 LAN 地址,问题就会得到解决。

最后一件事,我可以推测 WAN 路由表的样子。它应该是这样的:

Routing tables

Internet:
Destination        Gateway            Flags      Netif Expire
192.0.2.192/26     link#1             ?          switchport24
192.0.2.193        link#1             ?          loopback0
100.64.29.0/24     192.0.2.196        ?          switchport6
100.64.30.0/24     192.0.2.196        ?          switchport6
100.64.146.0/24    192.0.2.196        ?          switchport6
100.64.36.0/23     192.0.2.195        ?          switchport5
100.64.40.0/24     192.0.2.195        ?          switchport5
100.64.136.0/22    192.0.2.195        ?          switchport5

由于我们无权访问它,因此无法更改此表。

提前致谢。

PS1:现在不可能与负责“WAN”架构的人交谈。因此,我们必须找到一种方法,而无需更改 WAN 地址空间上的任何内容。

PS2:当一切都是用静态路由构建时,谁需要路由协议...... :(

编辑:绘图和长话短说。

今天:

+----------------+       +------------------+       
|                | ----> | Firewall Dept #1 | -----------\
|                |       | 192.0.2.195/26   |            |
| Switch         |       +------------------+       +---------------+
| Layer 2 (WAN)  |                                  | Internal Core |
| 192.0.2.193/26 |       +------------------+       +---------------+
|                |       | Firewall Dept #2 |            |
|                | ----> | 192.0.2.196/26   | -----------/
+----------------+       +------------------+

我们想要什么:

+----------------+       + -----------------+
| Layer 2 (WAN)  |       | Unified Firewall |       +---------------+
| 192.0.2.193/26 | ----> | 192.0.2.195/26   | ----- | Internal Core |
|                | ----> | 192.0.2.196/26   |       +---------------+
+----------------+       +------------------+

路由表 - 它们实际上是真正的公共 IPv4 网络。我改为100.64/10网络以保持通用性。

100.64.29.0/24  gw 192.0.2.196
100.64.30.0/24  gw 192.0.2.196
100.64.36.0/23  gw 192.0.2.195
100.64.40.0/24  gw 192.0.2.195
100.64.136.0/22 gw 192.0.2.195
100.64.146.0/24 gw 192.0.2.196

问题:

  • 我没有对第 2 层交换机的管理。
  • 我们的管理从防火墙开始。
  • 由于第 2 层交换机的安全策略,我无法使用第 2 层交换机的一根电缆在防火墙上绑定两个 IP。因此,两条电缆都必须连接到不同的网络。
  • 可以从防火墙上的 IPv4 池中找到一些地址,但要做到这一点,我必须在防火墙之前进行预路由。我可以为此使用“内部核心”,但我不知道如何。
  • 单独的路由器解决了这个问题。
  • 我们确实有一个 Cisco Nexus 3048 交换机,所以我们可以对这个人施展魔法。这就是为什么我首先提到 VRF。
2个回答

问得好,就是太啰嗦了。基本上,更改 IP 地址以使其不重叠。这就是答案。去做就对了。在一些创可贴的 NAT hack 中允许它继续下去是没有意义的。并将您的子网掩码更改为 /24。把事情简单化。

根据我们在聊天中的对话,我真的看不出有什么问题。在许多情况下,您将在同一网络中拥有多个具有接口的路由器。您只需通过第 2 层连接它们:

在此处输入图像描述

R1和R2是两个部门的路由器,R3是公用路由器。S1 是连接所有三个路由器的第 2 层交换机。您需要有一些方法让每个路由器知道其他路由器后面的路由,无论是静态配置(不扩展)还是使用通用路由协议。

这是基本的网络,完全可以接受,而且并不罕见。