为了使虚拟机与外界之间能够相互访问,您可以在 Tier-0 网关与物理基础架构中的路由器之间配置外部或内部 BGP (eBGP 或 iBGP) 连接。

在配置 BGP 时,您必须为 Tier-0 网关配置本地自治系统 (AS) 编号。您还必须配置远程 AS 编号。EBGP 邻居必须直接连接并与 Tier-0 上行链路位于同一子网中。如果它们不在同一子网中,那么应使用 BGP 多跳。

BGPv6 受单跳和多跳支持。IPv6 前缀支持重新分发、前缀列表和路由映射。

RFC-5549 允许 BGPv6 会话与 IPv6 下一跃点交换 IPv4 路由。为了最大限度减少 BGP 会话和 IPv4 地址数量,您可以在 BGP 会话上交换 IPv4 和 IPv6 路由。在 BGP OPEN 消息中,协商了对使用 IPv6 下一跃点对 IPv4 路由进行编码和处理的支持以作为功能交换的一部分。如果对等会话的两端都支持该功能,则使用 IPv6 下一跃点通告 IPv4 路由。多协议 BGP (MP-BGP) 用于通过 IPv6 地址系列的下一跃点来通告 IPv4 地址系列的网络层可访问性信息。

在活动-活动模式下 Tier-0 网关支持 SR(服务路由器)间 iBGP。如果网关 #1 无法与北向物理路由器通信,则在活动-活动集群中流量将重新路由到网关 #2。如果网关 #2 能够与物理路由器通信,则网关 #1 和物理路由器之间的流量不受影响。Edge 节点从北向路由器学习的路由将始终优先于通过 SR 间 iBGP 学习的相同路由。不能更改此首选项。

NSX Edge 上的 ECMP 实现基于协议号、源和目标地址以及源和目标端口的五元组。

iBGP 功能具有以下功能和限制:
  • 支持重新分发、前缀列表和路由映射。
  • 不支持路由反射器。
  • 不支持 BGP 联盟。
NSX 4.1.0 引入了对以下功能的支持:
  • 每个 Tier-0 VRF 网关和 BGP 邻居的 BGP 自治系统编号 (Autonomous System Number, ASN):您可以为每个 Tier-0 VRF 网关以及每个 BGP 邻居配置不同的 BGP ASN。有关详细信息,请参见每个 Tier-0 VRF 网关和 BGP 邻居的 BGP 自治系统编号
  • VRF 间路由:您可以通过在 VRF 之间导入和导出路由,使用更简单的工作流配置 VRF 间路由。有关详细信息,请参见 VRF 间路由
  • 自治系统范围的唯一 BGP 标识符:NSX 支持 RFC6286,以放宽对 AS 中 BGP 对等体之间的路由器 ID 的唯一性限制。即使路由器具有相同的路由器 ID,BGP 也会在 AS 中形成邻居关系。
    注: 接受同一 BGP RouterID 的这种新行为将是系统中的默认行为,且无法更改。
如何确定 BGP 路由器 ID (RID):
  • 如果没有环回接口,BGP 会使用最高接口 IP 地址作为 RID。
  • 如果 BGP 已选择最高接口 IP 作为 RID,则添加环回接口不会影响 BGP 邻居关系,并且也不会更改 RID。
  • 如果 RID 是最高接口 IP 且存在环回,则禁用和启用 BGP 将不会更改 RID。
  • 如果 RID 是最高接口 IP 且存在环回,则重新引导 Edge 节点、在 Edge 节点上启用维护模式或重新启动路由过程不会更改 RID。
  • 如果 RID 是最高接口 IP 且存在环回,则重新部署或替换 Edge 传输节点会将 RID 更改为环回接口 IP。
  • 如果 RID 是最高接口 IP 且存在环回,则修改或删除最高接口 IP 地址会将 RID 更改为环回接口 IP。
  • 如果 RID 是环回接口 IP,则修改或删除最高接口 IP 不会更改 RID。
  • 清除 BGP 邻居将更改 RID。OSPF 将仅保留旧 RID。
  • 如果环回接口具有 IPv6 地址,则 BGP 不会将其用作 RID。OSPF 将使用最高的 IPv4 接口 IP。
  • 从远程站点对 BGP 邻接进行软重启或硬重启不会影响 BGP RID。
支持的 BGP 功能

https://datatracker.ietf.org/doc/html/rfc2842 中定义,BGP 路由器通过在其从对等体收到的 OPEN 消息中检查功能可选参数中存在的功能列表,来确定对等体支持的功能。NSX 支持以下功能:

功能代码 功能描述 支持的地址系列 是否从 Tier-0 网关中通告支持 从对等体收到后是否受 Tier-0 网关支持 默认行为 是否可配置
1 多协议扩展,其中:
  • AFI=1,SAFI=1:IPv4 单播
  • AFI=2,SAFI=1:IPv6 单播
  • AFI=25,SAFI=70:L2VPN EVPN

IPv4 单播

IPv6 单播

L2VPN EVPN

在配置 IPv4 邻居时,默认情况下将启用并通告 IPv4 单播地址系列,或者在 BGP 邻居配置下的“路由筛选器”设置中手动添加 IPv4 单播地址系列。

在配置 IPv6 邻居时,默认情况下将启用并通告 IPv6 单播地址系列,或者在 BGP 邻居配置下的“路由筛选器”设置中手动添加 IPv6 单播地址系列。

在 BGP 邻居配置下的“路由筛选器”设置中配置时,将启用并通告 L2VPN EVPN 地址系列。IPv4 单播地址系列在 NSX 中是必需的,并会在添加 L2VPN EVPN 地址系列时自动启用。

2 路由刷新

IPv4 单播

IPv6 单播

L2VPN EVPN

默认情况下通告
5 扩展的下一跃点编码 IPv6 单播 默认情况下不通告。要启用此功能,必须为 IPv6 BGP 对等 IP 地址提供 IPv4 地址系列以及 IPv6 地址系列。
64 平滑重启

IPv4 单播

IPv6 单播

L2VPN EVPN

默认情况下不通告(默认情况下,Edge 节点是帮助程序)
65 支持 4 个八位 AS 编号

IPv4 单播

IPv6 单播

L2VPN EVPN

默认情况下通告
69 ADD-Path,其中:
  • AFI=1/2/25,SAFI=1/70
  • 发送/接收=1(仅发送)
  • 发送/接收=2(仅接收)
  • 发送/接收=3(两者)

IPv4 单播

IPv6 单播

L2VPN EVPN

是(仅接收) 是(发送和接收)

默认情况下,将支持并通告仅接收功能。

当 Edge 节点多次收到相同的 BGP 前缀,但具有相同的衡量指标时,如果启用 ECMP,将安装并激活所有路径。

当 Edge 节点多次收到相同的 BGP 前缀,且具有不同的衡量指标(例如,较大的 ASPATH 长度)时,将安装并激活最佳路径路由。BGP 路由表中将保留较少的首选路径以改进控制平面聚合。

73 FQDN

IPv4 单播

IPv6 单播

L2VPN EVPN

默认情况下通告
128 路由刷新 (Cisco)

IPv4 单播

IPv6 单播

L2VPN EVPN

默认情况下通告
BGP 关闭事件

如果发生 BGP 关闭事件,将发出警报。有关警报的详细信息,请参见 NSX 事件目录中的“路由事件”表。在此版本中,提供了其他有关 BGP 对等体状态更改原因的信息。

您还可以将 PUT 或 PATCH 方法与以下 API 结合使用,以禁用特定的 BGP 对等体。这样可以防止在该对等体未启动时生成警报。
/policy/api/v1/infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/bgp/neighbors/{neighbor-id}
/policy/api/v1/global-infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/bgp/neighbors/{neighbor-id}
要禁用 BGP 对等体,请将参数 enabled 设置为 false。例如:
PATCH https://<nsx-mgr>/policy/api/v1/infra/tier-0s/T0-1/locale-services/default/bgp/neighbors/peer-1
{
  "enabled": "false"
}

您还可以使用 GET 方法查看 enabled 和其他参数的值。

注: 如果为 Tier-0 网关防火墙配置了默认 DropReject 规则,则必须手动为 BGP 和 BFD(如果已配置)添加 Allow 规则。

过程

  1. 使用 admin 特权登录到 NSX Manager
  2. 选择网络 > Tier-0 网关
  3. 要编辑 Tier-0 网关,请单击菜单图标(三个点),然后选择编辑
  4. 单击 BGP
    1. 输入本地 AS 编号。
      在活动-活动模式下,已填写默认 ASN 值,即 65000。在活动-备用模式下,没有默认 ASN 值。
    2. 单击 BGP 开关以启用或禁用 BGP。
      在活动-活动模式下,将默认启用 BGP。在活动-备用模式下,将默认禁用 BGP
    3. 如果此网关处于活动-活动模式,则单击 服务路由器间 iBGP 开关以启用或禁用 SR 间 iBGP。默认情况下处于启用状态。
      如果网关处于活动-备用模式,则此功能不可用。
    4. 单击 ECMP 切换按钮以启用或禁用 ECMP。
    5. 单击多路径负载分担切换按钮,以在仅 AS 路径属性值不同但具有相同的 AS 路径长度的多个路径中启用或禁用负载共享。
      注: 必须已启用 ECMP,才能使 多路径负载分担起作用。
    6. 平滑重启字段中,选择禁用仅帮助程序平滑重启和帮助程序
      您可以选择更改 平滑重启定时器平滑重启失效定时器

      默认情况下,平滑重启模式设置为仅帮助程序。要消除和/或减少与从能够平滑重启的邻居学习的路由关联的流量中断,帮助程序模式是非常有用的。该邻居必须能够在重新启动时保留其转发表。

      对于 EVPN,仅支持仅帮助程序模式。

      建议不要在 Tier-0 网关上启用平滑重启功能,因为来自所有网关的 BGP 对等连接始终处于活动状态。在故障切换时,平滑重启功能将增加远程邻居选择备用 Tier-0 网关所花的时间。这会延迟基于 BFD 的聚合。

      注意:除非被邻居特定的配置覆盖,否则,Tier-0 配置适用于所有 BGP 邻居。

  5. 通过添加 IP 地址前缀,配置路由聚合
    1. 单击路由聚合的设置
    2. 单击添加前缀
    3. 使用 CIDR 格式输入一个 IP 地址前缀。
    4. 对于选项仅汇总,选择
  6. 单击应用
    必须先保存全局 BGP 配置,然后才能配置 BGP 邻居。
  7. 配置 BGP 邻居
    1. 单击 BGP 邻居设置
    2. 单击添加 BGP 邻居
    3. 输入邻居的 IP 地址。
    4. 启用或禁用 BFD
    5. 输入远程 AS 编号的值。
      对于 iBGP,请输入与步骤 4a 相同的 AS 编号。对于 eBGP,请输入物理路由器的 AS 编号。
    6. 路由筛选器下,单击设置以添加一个或多个路由筛选器。
      对于 IP 地址系列,您可以选择 IPv4IPv6L2VPN EVPN 。支持以下组合:
      • IPv4IPv6
      • IPv4L2VPN EVPN

      不支持 IPv6L2VPN EVPN 组合。

      对于 RFC 5549 功能,请确保为 IPv6 BGP 对等 IP 地址提供 IPv4 地址系列以及 IPv6 地址系列。

      对于出站筛选器入站筛选器,单击配置并选择筛选器,然后单击保存

      对于最大路由,您可以指定一个介于 11,000,000 之间的值。如果从对等体收到的 BGP 路由数量达到配置的限制的 75% 或首次超过配置的限制,将在 /var/log/frr.log 文件中记录一条警告消息。除了日志消息以外,NSX CLI 命令 get bgp neighbor 输出还会显示收到的前缀数量是否超过配置的限制。请注意,即使在达到最大路由限制后,网关仍将继续接受来自 BGP 邻居的路由。

      注: 如果为 BGP 邻居配置一个地址系列(例如 L2VPN EVPN),然后再添加第二个地址系列,则建立的 BGP 连接将被重置。
    7. 启用或禁用 Allowas-in 功能。
      默认情况下禁用此功能。启用此功能时,BGP 邻居可以接收具有相同 AS 的路由,例如,使用同一服务提供商将两个位置互连时。此功能适用于所有地址系列,但不能应用于特定的地址系列。
    8. 源地址字段中,您可以选择一个源地址,以便使用此特定源地址与邻居建立对等连接会话。如果未选择任何源地址,网关将自动设置与每个 Tier-0 SR 上的邻居的对等连接会话。如果 Tier-0 SR 在邻居的子网中没有接口,则在此 Tier-0 SR 上配置的 BGP 会话将保持关闭状态。
    9. 输入最大跳数限制的值。
    10. 平滑重启字段中,您可以选择禁用仅帮助程序平滑重启和帮助程序
      选项 描述
      未选择任何选项 该邻居的平滑重启将采用 Tier-0 网关 BGP 配置。
      禁用
      • 如果为 Tier-0 网关 BGP 配置了禁用,将为该邻居禁用平滑重启。
      • 如果为 Tier-0 网关 BGP 配置了仅帮助程序,将为该邻居禁用平滑重启。
      • 如果为 Tier-0 网关 BGP 配置了平滑重启和帮助程序,将为该邻居禁用平滑重启。
      仅帮助程序
      • 如果为 Tier-0 网关 BGP 配置了禁用,该邻居的平滑重启将配置为“仅帮助程序”。
      • 如果为 Tier-0 网关 BGP 配置了仅帮助程序,该邻居的平滑重启将配置为“仅帮助程序”。
      • 如果为 Tier-0 网关 BGP 配置了平滑重启和帮助程序,该邻居的平滑重启将配置为“仅帮助程序”。
      平滑重启和帮助程序
      • 如果为 Tier-0 网关 BGP 配置了禁用,该邻居的平滑重启将配置为“平滑重启和帮助程序”。
      • 如果为 Tier-0 网关 BGP 配置了仅帮助程序,该邻居的平滑重启将配置为“平滑重启和帮助程序”。
      • 如果为 Tier-0 网关 BGP 配置了平滑重启和帮助程序,该邻居的平滑重启将配置为“平滑重启和帮助程序”。
      注: 对于 EVPN,仅支持 仅帮助程序模式。
    11. 如果需要,启用配置邻居本地 AS
      • 如果想要覆盖此邻居的本地 AS 编号,请选择“是”
      • 如果不想要覆盖此邻居的本地 AS 编号,请选择“否”
      注: 启用 配置邻居本地 AS 后,将显示 邻居本地 ASAS 路径修饰符字段。
    12. 邻居本地 AS 中输入要用于覆盖此邻居的本地 AS 编号的替换本地 AS 编号。
    13. AS 路径修饰符中选择 AS 路径选项:
      • 默认:对于来自对等邻居的出站和入站路由通告,BGP 会将邻居的本地 AS 值放置到 AS 路径开头。您可以修改对入站和出站方向的 AS 路径执行的默认前置操作。
      • 无前置:本地路由器不会在来自对等体的入站通告前面放置邻居的本地 AS。通告的 AS 路径只能放置到路由器的 BGP 本地 AS 前面。
      • 无前置替换 AS:本地路由通过邻居的本地 AS 而不是 BGP 的本地 AS 通告到对等路由器。
    14. 单击定时器和密码
    15. 输入 BFD 间隔的值。
      单位为毫秒。对于在虚拟机中运行的 Edge 节点,最小值为 500。对于裸机 Edge 节点,最小值为 50。
    16. 输入 BFD 倍数的值。
    17. 抑制时间保持活动状态时间输入一个值(以秒为单位)。
      保持活动状态时间指定每隔多长时间发送一次保持活动状态消息。该值可以在 0 到 65535 之间。零表示不发送任何保持活动状态消息。

      抑制时间指定在将邻居视为失效之前网关等待来自邻居的保持活动状态消息的时间长度。该值可以为 0 或在 3 到 65535 之间。零表示在 BGP 邻居之间不发送任何保持活动状态消息,并且从不将邻居视为无法访问。

      抑制时间必须至少是保持活动状态时间值的三倍。

    18. 输入密码。
      如果在 BGP 对等体之间配置 MD5 身份验证,则这是必需的。
  8. 单击保存
  9. (可选) 添加 BGP 邻居后,您可以保存其通告和发现的路由。
    1. 单击 BGP 邻居字段中的数字。
    2. 设置 BGP 邻居对话框中,单击 BGP 邻居的菜单图标(3 个点),然后选择下载通告的路由下载发现的路由