使用 ASR9K 和 N9K 在多租户 VXLAN 环境中提供 L3 网关

网络工程 思科 局域网 cisco-nexus 思科-asr vxlan
2022-02-19 06:35:23

我正在尝试制作关于 VXLAN 的 PoC,但我遇到了设计问题。
我每个客户端有一个 c3750,每个 3750 都通过一根光纤(每个客户端)连接到 N9K。
所以每个 N9K 都连接到多个客户端。然后我有 2 个 ASR9K 作为边界路由器做一些 eBGP。

我可以使用 dot1qtunnel 获得 4096 vlan = 1 vxlan,然后通过 N9K 上的 BGP 传播 VXLAN,因此客户端可以在多个站点上使用他们的 vlan。

虽然,我需要找到一种方法为每个客户端提供一个 L3 网关,但我不知道如何达到这个目标:

    如果我在 ASR 之前停止 VXLAN,我只能给它一个 VXLAN,因为我需要使用一个访问 vlan 来让 dot1qtunnel 工作,并且这个 vlan 只能关联到一个 vn-segment
    如果我将 VXLAN 传播到 ASR,我看不到如何为每个客户端获得一个“网关 vlan”(至少我现在无法使其工作,nve up 但 vni down)

有没有一种方法可以让每个客户端站点只有一个物理链接,同时使用 vxlan 并为他提供 Internet 访问?

1个回答

我正在尝试解码您在做什么,但我想我正在阅读以下内容-

  • 您在 N9K 和 ASR9K 上使用 VXLAN-EVPN。Nexus 盒子作为标准 VTEP 提供 L2/L3 服务,而 ASR 基本上是边界叶子。
  • 3750 是纯 L2 设备,可从上游 9K 拾取中继,并将接入端口分接到下游客户。

所以 - 如果我们假设上述情况属实,那么实际上有几种方法可以解决这个问题。但是,提到的 q-in-vni 方法实际上并不是其中之一,因为它实际上更旨在将纯 L2 环境联系在一起。这将适用于,例如,如果您的客户端有几个3750 分布在网络上,并且您希望允许它们在其中运行一整套 VLAN,而不必在每个 VTEP 上配置每个 VLAN。换句话说,不涉及网关。

无论如何-回到可行的方法。假设您为要配置的每个客户网络分配了一个唯一的 VXLAN VNI。此 VNI 可以根据需要显示在任何 VTEP 上。无论它出现在哪里,您都会将其与 SVI 相关联,而 SVI 又将配置有客户的 vrf 和相同的任播地址(即,该客户的网络出现的任何地方都会出现相同的默认网关)。请记住,无论给定客户的 vrf 出现在何处,您还需要创建一个 SVI 以与 L3VNI 关联。SVI 不需要在您的 VTEP 上使用相同的编号,因为您将在每个框上建立 VLAN 和 VNI 编号之间的映射。

您还需要在 N9K 和 ASR9K 之间建立一个底层 IP 网络。使用纯 eBGP 可以做到这一点,但我强烈建议使用有限的 IGP 部署,然后设置 iBGP - 使用全网状网络,或者最好使用一些路由反射器。在各种设计指南中有很多关于此的文章。如果您想在 VTEP 对之间使用 VPC 为下游客户端提供冗余,还需要考虑一些注意事项。

所以 - 您现在可以在 VTEP 上管理 VLAN 编号的两种方法是使用传统机制,即在 VTEP 范围内全局分配给定 VLAN。例如,您会说 VLAN 100 被映射到 VNI 10100,然后简单地允许 VLAN 通过中继连接到包含所述客户的 3750。下一个客户的 VLAN 可能是映射到 VNI 10101 的 VLAN 101。换句话说,对 VLAN 100 的任何引用在该框的任何端口上都意味着相同的事情。

另一种管理方式是使用端口本地 VLAN 映射。在这种情况下,您实际上可以将单个端口上的 VLAN 标识符映射到盒子上的任何其他 VLAN。在这种情况下,您可能会创建一个策略,说明每个下游客户都将看到 VLAN 100,但您实际上会映射面向客户的端口上的 100 到您想要的任何值。举个例子 - 也许您将 VLAN 的 2000-3900 分配给各个客户的 VLAN(显然,每个都映射到各自的 VNI)。在第一个面向客户的端口上,您可以将传入 VLAN 100 映射到本地 VLAN 2000。在下一个面向客户的端口上,映射可能是 VLAN 100 到本地 VLAN 2001,依此类推。这可能会简化客户端配置(...毕竟,从他们的角度来看,每个人都只是使用 VLAN100)并隐藏了网络配置的详细信息。

现在 - 无论您在上面的选择如何,ASR 方面实际上都没什么大不了的。客户端实际上路由到 Nexus 9K 上的默认网关,而后者又使用 BGP 学习的 EVPN 前缀将流量发送到 ASR - 然后可以配置,例如,将这些路由交叉导入到另一个 vrf与 Internet 访问(...再次,只是一个例子)。反之亦然(N9K 通过 BGP 向彼此和 ASR 通告路由和 MAC 地址)。

我已经掩盖了有关 EVPN 设计和实施的一些细节,强烈建议您阅读那里的一些设计和配置指南,以更好地了解这些东西如何协同工作。如果您已经使用非平凡的 BGP 和自我管理的 MPLS 做了相当多的工作,那么它非常平易近人且熟悉,但如果这些事情不在您的背景中,则可能会令人困惑。还值得一提的是,上述解决方案将为客户在通用 VNI 内提供完整的 L2 可达性,并且如果客户在其 vrf 中有多个网络则将提供 VNI 之间的路由。