配置动态路由

启用动态路由协议后,相应的路由过程会监视路由更新并通告路由。路由协议使上游路由器能够使用成本相等的多路径 (ECMP) 技术来平衡到两个独立 Citrix ADC 设备上托管的相同虚拟服务器的流量。Citrix ADC 设备上的动态路由使用三个路由表。在高可用性设置中,辅助设备上的路由表镜像主设备上的路由表。

有关动态路由协议上的命令参考指南和不受支持的命令,请参阅动态路由协议命令参考指南和不受支持的命令

Citrix ADC 支持以下协议:

  • 路由信息协议 (RIP) 版本 2
  • 开放最短路径第一 (OSPF) 版本 2
  • 边界网关协议 (BGP)
  • 适用于 IPv6 的下一代路由信息协议 (RIPng)
  • 用于 IPv6 的开放最短路径第一 (OSPF) 版本 3
  • ISIS 协议

您可以同时启用多个协议。

Citrix ADC 中的路由表

在 Citrix ADC 设备中,Citrix ADC 内核路由表、FreeBSD 内核路由表和 NSM FIB 路由表各保存一组不同的路由,用途不同。它们通过使用 UNIX 路由套接字相互通信。路由更新不会自动从一个路由表传播到另一个路由表。必须为每个路由表配置路由更新的传播。

NS 内核路由表

NS 内核路由表保存对应于 NSIP 以及每个 SNIP 和 MIP 的子网路由。通常,NS 内核路由表中不存在与 VIP 对应的路由。例外情况是通过使用添加 ns ip 命令添加的 VIP,并配置了除 255.255.255.255 以外的子网掩码。如果有多个 IP 地址属于同一子网,它们将抽象为单个子网路由。此外,此表还包含一条通往环回网络的路由 (127.0.0.0) 以及通过 CLI (CLI) 添加的任何静态路由。Citrix ADC 在数据包转发中使用此表中的条目。从 CLI 中,可以使用显示路由命令对它们进行检查。

FreeBSD 路由表

FreeBSD 路由表的唯一目的是促进管理流量的启动和终止(telnet、ssh 等)。在 Citrix ADC 设备中,这些应用程序与 FreeBSD 紧密耦合,因此 FreeBSD 必须拥有必要的信息来处理往来这些应用程序的流量。此路由表包含通往 NSIP 子网的路由和默认路由。此外,当 Citrix ADC 与本地网络上的主机建立连接时,FreeBSD 会添加 WasClard (W) 类型的路由。由于此路由表中的条目具有高度专业化的实用性,NS 内核和 NSM FIB 路由表中的所有其他路由更新都会绕过 FreeBSD 路由表。请勿使用路由命令对其进行修改。可以使用任何 UNIX 外壳中的 netstat 命令来检查 FreeBSD 路由表。

网络服务模块 (NSM) FIB

NSM FIB 路由表包含由动态路由协议分发到其网络中的对等方的可广告路由。它可能包含:

  • 连接的路线。可直接从 Citrix ADC 访问的 IP 子网。通常,与 NSP 子网和启用路由协议的子网对应的路由作为连接路由存在于 NSM FIB 中。
  • 内核路由。如果所有启用-HostRoute 选项的 VIP 地址满足所需的 RHI 级别,则作为内核路由出现在 NSM FIB 中。此外,NSM FIB 包含在 CLI 上配置并启用了-通告选项的任何静态路由。或者,如果 Citrix ADC 在静态路由播发 (SDV) 模式下工作,则在 CLI 上配置的所有静态路由都存在于 NSM FIB 中。这些静态路由在 NSM FIB 中被标记为内核路由,因为它们实际上属于 NS 内核路由表。
  • 静态路由。通常,在 VTYSH 中配置的任何静态路由都存在于 NSM FIB 中。如果协议的管理距离被修改,情况可能并非总是如此。需要注意的一点是,这些路由永远不会进入 NS 内核路由表。
  • 学习路线。如果 Citrix ADC 配置为动态学习路由,则 NSM FIB 将包含由各种动态路由协议学习的路由。但是,OSPF 学习的路线需要特别处理。只有当 OSPF 进程启用了 Fib-安装选项时,它们才会下载到 FIB。这可以从 VTYSH 中的路由器配置视图完成。

高可用性设置中的动态路由

在高可用性设置中,主节点运行路由进程并将路由表更新传播到辅助节点。辅助节点的路由表镜像主节点上的路由表。

不停转发

故障转移后,辅助节点需要一些时间来启动协议、了解路由以及更新其路由表。但这不会影响路由,因为辅助节点上的路由表与主节点上的路由表相同。这种操作模式称为不间断转发。

黑洞避开机制

故障转移后,新的主节点将其所有 VIP 路由注入到上游路由器中。但是,该路由器将旧主节点的路由保留 180 秒。由于路由器不知道故障转移,因此它会尝试对两个节点之间的流量进行负载平衡。在旧路由到期之前的 180 秒内,路由器将一半的流量发送到旧的非活动主节点,实际上是一个黑洞。

为了防止这种情况,新的主节点在注入路由时会为其分配一个略低于旧主节点指定的衡量指标。

用于配置动态路由的接口

要配置动态路由,您可以使用 GUI 或命令行界面。Citrix ADC 支持两个独立的命令行接口:CLI 和虚拟电传类型外壳 (VTYSH)。CLI 是设备的本机外壳。VTYSH 是由 Zebos 暴露的。Citrix ADC 路由套件基于 GNU 斑马的商业版 ZeBOS。

注意:

Citrix 建议对所有命令使用 VTYSH,但只能在 CLI 上配置的命令除外。CLI 的使用通常应仅限于启用路由协议、配置主机路由播发以及为数据包转发添加静态路由的命令。

动态路由协议命令参考指南和不受支持的命令

下表列出了各种动态路由协议的命令参考指南链接,以及 Citrix ADC 设备上不受支持动态路由协议参考指南和不受支持的命令的命令: