1.3. BGP 公告和流量重定向
在使用 OpenShift (RHOSO)动态路由上的 Red Hat OpenStack Services 的部署中,网络流量流到虚拟机、负载均衡器和浮动 IP (FIP),使用公告的路由。在流量到达节点后,OVN BGP 代理添加了 IP 规则、路由和 OVS 流规则,以使用 Red Hat Enterprise Linux (RHEL)内核网络将流量重定向到 OVS 提供程序网桥(br-ex
)。
广告网络路由的过程从 OVN BGP 代理触发自由范围路由(FRRouting 或 FRR)来公告和撤回直接连接的路由。OVN BGP 代理执行这些步骤来正确配置 FRR,以确保在 IP 地址添加到 bgp-nic
接口时都会公告 IP 地址:
FRR 启动 VTY shell 以连接到 FRR 套接字:
vtysh --vty_socket -c <command_file>
$ vtysh --vty_socket -c <command_file>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow VTY shell 传递包含以下内容的文件:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow VTY shell 传递的命令,执行以下操作:
-
默认情况下,创建名为
bgp_vrf
的 VRF。 将 dummy 接口类型与 VRF 关联。
默认情况下,dummy 接口命名为
bgp-nic
。- 添加 IP 地址到 OVS 提供程序网桥,以确保启用了地址解析协议(ARP)和邻居发现协议(NDP)。
-
默认情况下,创建名为
Zebra 守护进程监控虚拟机和负载均衡器的 IP 地址,在任何本地接口上添加和删除,Zebra 公告并撤回路由。
由于 FRR 配置了启用
重新分发连接
的选项,因此广告和撤回路由只是从 dummy 接口(Bgp-nic
)公开或删除路由。注意默认情况下,禁用与租户网络公开连接的虚拟机。如果在 RHOSO 配置中启用了,OVN BGP 代理会公开 neutron 路由器网关端口。OVN BGP 代理通过托管
chassisredirect
逻辑路由器端口的节点将流量注入租户网络上的虚拟机到 OVN 覆盖中(CR-LRP
)。- FRR 在托管虚拟机或负载均衡器的节点或包含 OVN 路由器网关端口的节点上公开 IP 地址。
OVN BGP 代理执行必要的配置,以使用 RHEL 内核网络和 OVS 将流量重定向到 OVN 覆盖,然后 FRR 在正确的节点上公开 IP 地址。
当 OVN BGP 代理启动时,它会执行以下操作:
- 添加 IP 地址到 OVS 提供程序网桥,以启用 ARP 和 NDP。
向
/etc/iproute2/rt_tables
中每个 OVS 提供程序网桥的路由表中添加一个条目。注意在 RHEL 内核中,路由表的最大数量为 231。这会将提供商网络的数量限制为 2,147,483,648 (231)。
- 将 VLAN 设备连接到网桥,并启用 ARP 和 NDP (仅适用于 VLAN 提供商网络)。
- 清理 OVS 提供程序网桥上的任何额外的 OVS 流。
在常规重新同步事件或启动期间,OVN BGP 代理执行以下操作:
添加 IP 地址规则以将特定路由应用到路由表。
在以下示例中,此规则与 OVS 供应商网桥关联:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 向 OVS 供应商网桥路由表中添加 IP 地址路由,将流量路由到 OVS 供应商网桥设备:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 根据是否使用 IPv4 还是 IPv6,使用以下方法之一通过 OVS 提供程序网桥(
br-ex
)将流量路由到 OVN:对于 IPv4,为 OVN 路由器网关端口
CR-LRP
添加静态 ARP 条目,因为 OVN 不会响应其 L2 网络外的 ARP 请求:ip nei
$ ip nei ... CR-LRP_IP dev br-ex lladdr CR-LRP_MAC PERMANENT ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 IPv6,添加一个 NDP 代理:
ip -6 nei add proxy CR-LRP_IP dev br-ex
$ ip -6 nei add proxy CR-LRP_IP dev br-ex
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
通过在 OVS 提供程序网桥上添加新流,将流量从 OVN 覆盖发送到内核网络,以便目的地 MAC 地址更改为 OVS 提供程序网桥的 MAC 地址(
actions=mod_dl_dst:OVN_PROVIDER_bridge_MAC,NORMAL
):Copy to Clipboard Copied! Toggle word wrap Toggle overflow