Citrix ADC

配置动态路由

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

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

Citrix ADC支持以下协议:

  • RIP (Routing Information Protocol)版本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对应的路由。例外情况是使用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命令修改。FreeBSD路由表可以通过在任何UNIX shell中使用netstat命令来检查。

NSM (Network Services Module) FIB

NSM FIB路由表中包含动态路由协议分发给对等体的可发布路由。它可能包含:

  • 连接线路.可从Citrix ADC直接访问的IP子网。通常情况下,NSIP子网对应的路由和路由协议所在的子网对应的路由作为连接路由出现在NSM FIB表中。
  • 内核的路线.所有启用-hostRoute选项的VIP地址,只要满足要求的RHI level,就会作为内核路由出现在NSM FIB表中。此外,NSM FIB表中还包含了在命令行中配置的所有使能- 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。这可以在VTYSH的路由器配置视图中完成。

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

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

不间断转发

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

黑洞回避机制

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

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

配置动态路由接口

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

注意:

Citrix建议所有命令都使用VTYSH,除了只能通过命令行配置的命令。一般情况下,CLI的使用仅限于开启路由协议、配置主机路由发布、添加静态路由等命令。

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

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

配置动态路由