Citrix ADC

配置动态路由

启用动态路由协议后,相应的路由进程会监控路由更新并发布路由。路由协议允许上游路由器使用等价多路径(ECMP)技术将流量负载均衡到托管在两台独立Citrix ADC设备上的相同虚拟服务器。Citrix ADC设备上的动态路由使用三个路由表。在高可用性设置中,辅助设备上的路由表与主设备上的路由表相同。

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

Citrix ADC支持以下协议:

  • RIP (Routing Information Protocol)版本2
  • OSPF (Open Shortest Path First)版本2
  • 边界网关协议(BGP)
  • IPv6的RIPng (Routing Information Protocol next generation)协议
  • IPv6的OSPF (Open Shortest Path First)版本3
  • ISIS协议

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

Citrix ADC中的路由表

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

NS内核路由表

NS内核路由表保存着与NSIP、每个SNIP和MIP对应的子网路由。通常情况下,NS内核路由表中没有vip对应的路由。该例外是使用add ns ip命令添加的VIP,且配置的子网掩码不是255.255.255.255。如果有多个IP地址属于同一个子网,它们被抽象为一个子网路由。此外,该表保存到环回网络(127.0.0.0)的路由和通过CLI (CLI)添加的任何静态路由。该表项用于Citrix ADC转发报文。在CLI中,可以使用show route命令查看这些路由。

FreeBSD路由表

FreeBSD路由表的唯一目的是方便管理流量(telnet、ssh等)的发起和终止。在Citrix ADC设备中,这些应用程序与FreeBSD紧密耦合,FreeBSD必须拥有必要的信息来处理进出这些应用程序的流量。该路由表包含到NSIP子网的路由和默认路由。此外,当Citrix ADC与本地网络上的主机建立连接时,FreeBSD会添加类型为was克隆(W)的路由。由于这个路由表中条目的高度专门化效用,所有来自NS内核和NSM FIB路由表的其他路由更新都会绕过FreeBSD路由表。不要使用route命令修改。可以在任何UNIX shell中使用netstat命令检查FreeBSD路由表。

NSM (Network Services Module) FIB

NSM FIB路由表包含了动态路由协议在网络中向对等体发布的可发布的路由信息。它可能包含:

  • 连接线路。可从Citrix ADC直接访问的IP子网。通常情况下,NSIP子网和路由协议所在子网对应的路由在NSM FIB中以已连接路由的形式存在。
  • 内核的路线。所有使能了-hostRoute选项的VIP地址,只要满足RHI级别要求,就会作为内核路由出现在NSM FIB中。此外,NSM FIB还包含CLI下配置的所有使能- advertise选项的静态路由。或者,如果Citrix ADC工作在SRADV (Static Route Advertisement)模式,则CLI配置的所有静态路由都会显示在NSM FIB中。这些静态路由在NSM FIB中被标记为内核路由,因为它们实际上属于NS内核路由表。
  • 静态路由。正常情况下,VTYSH中配置的静态路由都会出现在NSM FIB中。如果修改了协议的管理距离,则情况可能并非总是如此。需要注意的一点是,这些路由永远不能进入NS内核路由表。
  • 学习路线。如果Citrix ADC配置了动态路由学习功能,则NSM FIB中包含各种动态路由协议学习到的路由。但是,OSPF学习到的路由需要特殊处理。只有使能OSPF进程的FIB -install选项后,这些路由才会下载到FIB表中。这可以在vvtsh中的router-config视图中完成。

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

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

不间断转发

故障转移后,备节点需要一段时间来启动协议、学习路由并更新路由表。但是这并不影响路由,因为辅助节点上的路由表与主节点上的路由表是相同的。这种操作方式被称为不间断转发。

黑洞规避机制

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

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

接口功能配置动态路由

要配置动态路由,可以使用GUI或命令行界面。Citrix ADC支持两个独立的命令行接口:CLI和Virtual Teletype Shell (VTYSH)。CLI是设备的本机shell。vvtysh由ZebOS曝光。Citrix ADC路由套件基于ZebOS, GNU Zebra的商业版本。

注意:

Citrix建议除只能在CLI下配置的命令外,其他命令都使用VTYSH。CLI的使用一般限于开启路由协议、配置主机路由发布和添加静态路由等命令。

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

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

配置动态路由