Citrix ADC

配置动态路由

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

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

Citrix ADC支持以下协议:

  • RIP (Routing Information Protocol)版本2
  • 开放最短路径优先(OSPF)版本2
  • 边界网关协议(BGP)
  • IPv6的RIPng (Routing Information Protocol next generation)
  • 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会添加wasclone (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表中。这可以从VTYSH中的路由器配置视图中完成。

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

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

不间断转发

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

黑洞规避机制

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

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

配置动态路由

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

注意:

Citrix建议除只能在CLI下配置的命令外,所有命令都使用VTYSH。CLI的使用一般限制在启用路由协议、配置主机路由发布和增加静态路由用于报文转发的命令。

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

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

配置动态路由