环回地址在整个网络中应该是唯一的吗?

网络工程 IP地址 聚光灯 虚拟现实 mpls-vpn 环回
2021-08-03 08:54:18

我有一个 MPLS 网络,其中每个站点都有两个 PE 用于冗余。我想在每个PE 路由器上配置一组环回接口,用于在不同 VRF 之间路由流量。

在网络上重用掩码为 32 的 IP 地址是否可能且安全?例如在每个PE 路由器上配置这组环回

interface       IP address
loopback20      20.20.20.20/32
loopback30      30.30.30.30/32
loopback40      40.40.40.40/32
...etc          ...etc
1个回答

TL;DR 这个想法要非常小心,除非你完全知道你在做什么。

更长:

A) 地址在 VRF 中 如果这些环回接口集位于 PE 路由器(或多VRF CE)上并且每个都是不同VRF 的一部分(因为这里讨论的是 MPLS-VPN ),则不会造成任何伤害换句话说:如果每个客户 (VRF) 获得他们自己的一组loopback20|30|40,并且如果每个组都映射到其各自客户的 VRF,那么重叠寻址是完全可以接受的。

重叠地址将由 PE 上的 VRF 获取,重新分配(根据route target export/import)作为唯一的 vpn4 前缀(根据单独的路由区分符)跨 MPLS-VPN 域。这只是为了演示 VRF 和 MPLS-VPN 的全部内容。

如果您在单个客户的 VRF 内部署多组相同的环回/地址,那么您会得到C)(见下文),但在客户的 VRF 内。

B) GRT 中的地址,接口隔离

如果这些环回接口成为全局路由表的一部分,并且如果这些环回接口从未成为任何(动态)路由协议的一部分,则不会造成任何危害。通常,通过networkOSPF 或 EIGRP中的声明或redistribute connected给定的路由协议,成为路由协议的一部分。在这种情况下,每个具有这些接口的路由器都会碰巧拥有它们(在本地显示为“连接的路由”)并且不会告诉其他人。这些隔离的地址/接口只能从/在拥有它们的路由器内部访问。

C) GRT 中的地址, 如果这些环回接口成为全局路由表的一部分并且将成为(GRT 的)路由协议的一部分,则启用动态路由,这些地址将成为任播地址。朝向其中之一的数据包将被转发到给定环回接口的“最近”(就给定路由协议的路由成本而言“接近”)实例。地址。这可能是有意的,也可能不是有意的,并且会对进出这些地址的流量产生一些意想不到的后果。具有环回接口的任播是一件相当特殊的事情,但这是一件非常有效的事情(一个应用程序是用于多播路由的“Anycast-RP(带 MSDP)”)。


添加在:

我想在每个 PE 路由器上配置一组环回接口,用于在不同 VRF 之间路由流量。

这就提出了一个问题:为什么要首先配置单独的 VRF,然后再将它们重新连接在一起?

如果您需要 VRF 间连接(例如为客户提供中央服务),则不要在 PE 上连接。而是设置一个专用的“服务 PE”对并将防火墙集群(每个客户/每个 VRF 有 1 个(子)接口)连接到它,让它处理 VRF 之间的选择性连接需求(可能还有 NAT,以处理任何可能的地址重叠的情况)。

从 VRF 到 VRF 的路由总是有可能泄漏,但我建议你只在真正需要的时候打开它。