Citrix ADC

针对IPv4流量的策略路由

配置策略路由包括以下任务:

  • 创建策略路由。
  • 为PBRs申请。
  • (可选)禁用/启用策略路由。
  • (可选)重新设置策略路由的优先级。

创建/修改策略路由

不能创建两个参数相同的策略路由。如果试图创建副本,则会出现错误消息。

可以配置策略路由的优先级。优先级(一个整数值)定义了Citrix ADC设备计算pbr的顺序。当创建策略路由而不指定优先级时,Citrix ADC自动分配一个优先级,该优先级是10的倍数。

如果数据包匹配策略路由定义的条件,Citrix ADC将执行一个动作。如果报文不符合策略路由定义的条件,Citrix ADC将报文与下一个优先级最高的策略路由进行比较。

配置策略路由时,不需要将选中的报文发送到下一跳路由器,而是发送到已经绑定了多个下一跳的链路负载分担虚拟服务器。此配置可在下一跳链路故障时提供备份。

考虑下面的例子。在Citrix ADC上配置了两个pbr p1和p2,并自动分配优先级20和30。您需要添加第三个策略路由p3,在第一个策略路由p1之后立即进行评估。新策略路由p3的优先级必须在20 ~ 30之间。在本例中,可以将优先级指定为25。

CLI程序

使用CLI命令创建策略路由。

在命令提示符处,输入:

  • add ns pbr [-srcIP [] ] [-srcPort [] ] [-destIP [] < descipval >] [-destPort [] ] [-nextHop ] [-srcMac ] [-protocol |-protocolNumber ] [-vlan ] [-interface ] [-priority ] [-msr (ENABLED | DISABLED) [-monitor ]] [-state (ENABLED | DISABLED)]
  • Show ns策略路由

例子:

> add ns pbr pbr1 allow -srcip 10.102.37.252 -destip 10.10.10.2 -nexthop 10.102.29.77 Done 

使用CLI命令修改策略路由的优先级。

在命令提示符下,输入以下命令来修改优先级并验证配置:

  • set ns pbr [-action (ALLOW | DENY)] [-srcIP [] ] [-srcPort [] ] [-destIP [] < descipval >] [-destPort [] ] [-nextHop ] [-srcMac ] [-protocol | -protocolNumber ] [-vlan ] [-interface ] [-priority ] [-msr (ENABLED | DISABLED) [-monitor ]] [-state (ENABLED | DISABLED)]
  • 显示ns策略路由[]

例子:

> set ns pbr pbr1 -priority 23 Done 

使用CLI命令移除单个或全部策略路由。

在命令提示符下,键入以下命令之一:

  • Rm ns策略路由<名称>
  • 清除ns PBRS

例子:

> rm ns pbr pbr1 Done > clear ns PBRs Done 

GUI程序

使用实例创建策略路由。

进入“系统>网络>策略路由”,在“策略路由”页签中添加新的策略路由或编辑已有的策略路由。

使用GUI删除一个或所有的策略路由。

进入“系统>网络>策略路由”,在“策略路由”页签中删除策略路由。

应用策略路由

必须应用策略路由才能激活。以下过程将重新应用尚未禁用的所有pbr。pbr构成了一个内存树(查找表)。例如,如果您创建了10个PBR (p1 - p10),然后创建了另一个PBR (p11)并应用它,那么所有PBR (p1 - p11)都会被新应用,并创建一个新的查找表。如果一个会话与DENY策略路由相关,则该会话将被销毁。

每次修改策略路由后,都必须应用此过程。例如,禁用策略路由后,需要执行此步骤。

注意:在Citrix ADC设备上创建的pbr在应用它们之前是不能工作的。

使用CLI方式应用策略路由。

在命令提示符处,输入:

应用ns pbr

使用实例通过GUI应用策略路由。

  1. 进入“系统>网络>策略路由”。
  2. 2 .在“策略路由”页签中选择策略路由,在“动作”列表中选择“应用”。

启用/禁用策略路由

缺省情况下,策略路由功能处于启用状态。这意味着当应用pbr时,Citrix ADC设备会自动将传入的包与配置的pbr进行比较。如果查找表中不需要策略路由,但需要在配置中保留策略路由,则必须在应用策略路由之前禁用策略路由。在应用了pbr后,Citrix ADC不会将传入的数据包与禁用的pbr进行比较。

使用CLI命令启用/禁用策略路由。

在命令提示符下,键入以下命令之一:

  • 使能ns策略路由
  • 关闭ns策略路由

例子:

>使ns PBR pbr1做>显示ns PBR pbr1 1)名称:pbr1行动:允许点击:0 srcIP = 10.102.37.252 destIP = 10.10.10.2 srcMac:协议:Vlan:接口:活跃状态:启用应用现状:应用优先级:10 NextHop: 10.102.29.77做>禁用ns PBR pbr1警告:PBR修改,使用“应用为pbrs”来提交这个操作>应用为pbrs做>显示ns PBR pbr1 1)名称:pbr1行动:允许点击:0 srcIP = 10.102.37.252 destIP = 10.10.10.2 srcMac:协议:Vlan:接口:活跃的状态:DISABLED Applied Status: NOTAPPLIED Priority: 10 NextHop: 10.102.29.77 Done 

启用/禁用策略路由。

  1. 进入“系统>网络>策略路由”。
  2. 2 .在“策略路由”页签中,选中策略路由,在“动作”列表中选择“启用”或“禁用”。

重新编号为PBRs

您可以自动对策略路由进行重新编号,将其优先级设置为10的倍数。

使用CLI命令重新编号策略路由。

在命令提示符处,输入:

  • 重新编号ns PBRS

使用GUI重新编号pbr:

进入“系统>网络>策略路由”,在“策略路由”页签的“操作”列表中,选择“重编号优先级”。

用例—多跳策略路由

考虑这样一个场景,在Citrix ADC设备NS1上配置了两个pbr PBR1和PBR2。PBR1将源地址为10.102.29.30的所有出方向报文路由到下一跳路由器R1。PBR2将所有出方向的源地址为10.102.29.90的报文路由到下一跳路由器R2。R3是与NS1相连的下一跳路由器。

如果router R1发生故障,所有匹配PBR1的出方向报文都会被丢弃。为了避免这种情况,可以在创建或修改策略路由时在下一跳字段指定LLB (link load balancing)虚拟服务器。多个下一跳以服务的形式绑定到LLB虚拟服务器上(如R1、R2、R3)。现在,如果R1失败,所有匹配PBR1的报文都被路由到R2或R3,这取决于LLB虚拟服务器上配置的LB方法。

在以下情况下,如果您试图创建一个以LLB虚拟服务器作为下一跳的策略路由,Citrix ADC设备将抛出一个错误:

  • 使用相同的LLB虚拟服务器添加策略路由。
  • 指定不存在的LLB虚拟服务器。
  • 指定一个LLB虚拟服务器,其绑定的服务不是下一跳。
  • 指定一个LLB虚拟服务器,其LB方法不设置为以下任何一种:
    • 设置轮流捡取
    • DESTINATIONIPHASH
    • SOURCEIPHASH
    • SRCIPDESTIPHASH
    • LEASTPACKETS
    • LEASTBANDWIDTH
    • LTRM
    • CALLIDHASH
    • 自定义加载
  • 指定一个LLB虚拟服务器,其LB持久化类型不设置为以下任何一种:
    • DESTIP
    • SOURCEIP
    • SRCDSTIP

下表列出了在Citrix ADC设备上配置的实体的名称和值:

实体类型 的名字 IP地址
链路负载均衡虚拟服务器 LLB1 NA
服务(下一跳) 位于 1.1.1.254
Router2 2.2.2.254
Router3 3.3.3.254
为PBRs PBR1 NA
PBR2 NA

表1。创建实体的样例值

要实现上述配置,您需要:

  1. 创建业务Router1、Router2和Router3,分别代表下一跳路由器R1、R2和R3。
  2. 创建链路负载均衡虚拟服务器LLB1,并将业务Router1、Router2和Router3绑定在该虚拟服务器上。
  3. 创建策略路由设备PBR1和PBR2,下一跳字段分别为LLB1和2.2.2.254(路由器R2的IP地址)。

使用CLI命令创建服务。

在命令提示符处,输入:

  • add service
  • 显示服务

例子:

> add service Router1 1.1.1.254 ANY * Done > add service Router2 2.2.2.254 ANY * Done > add service Router3 3.3.3.254 ANY * Done 

使用GUI创建一个服务:

在“流量管理>负载均衡>服务”中创建服务。

使用CLI命令,创建链路负载均衡虚拟服务器,并绑定服务。

在命令提示符处,输入:

  • add lb vserver
  • bind lb vserver < name> .使用实例
  • 显示lb vserver < name>

例子:

> add lb vserver LLB1 ANY Done > bind lb vserver LLB1 Router1 Router2 Router3 Done 

使用实例创建链路负载均衡虚拟服务器,并绑定服务。

  1. 在“流量管理>负载均衡>虚拟服务器”中,创建用于链路负载均衡的虚拟服务器。指定任何协议字段。注意:请确保直接寻址没有启用。
  2. 服务选项卡,在活跃的列中,选中要绑定到虚拟服务器的服务的复选框。

使用CLI命令创建策略路由。

在命令提示符处,输入:

  • add ns pbr [-srcIP [] ] [-nextHop ]
  • Show ns策略路由

例子:

> add pbr PBR1 ALLOW -srcIP 10.102.29.30 -nextHop LLB1 Done > add pbr PBR2 ALLOW -srcIP 10.102.29.90 -nextHop 2.2.2.254 Done 

使用实例创建策略路由。

进入“系统>网络>策略路由”,在“策略路由”页签中添加新的策略路由。

针对IPv4流量的策略路由