ADC
感谢您提供反馈

这篇文章已经过机器翻译.放弃

IPv4 流量的基于策略的路由 (PBR)

配置 PBR 涉及以下任务:

  • 创建 PBR。
  • 应用 PBR。
  • (可选)禁用或启用 PBR。
  • (可选)重新编号 PBR 的优先级。

创建或修改 PBR

您不能使用相同的参数创建两个 PBR。如果您尝试创建副本,则会出现一条错误消息。

您可以配置 PBR 的优先级。优先级(整数值)定义了 NetScaler 设备评估 PBR 的顺序。当您在不指定优先级的情况下创建 PBR 时,NetScaler 会自动分配一个 10 的倍数的优先级。

如果数据包与 PBR 定义的条件相匹配,则 NetScaler 会执行操作。如果数据包与 PBR 定义的条件不匹配,NetScaler 会将该数据包与优先级第二高的 PBR 进行比较。

您可以将 PBR 配置为将选定的数据包发送到已绑定多个下一跳的链路负载平衡虚拟服务器,而不是将所选数据包发送到下一跳路由器。如果下一跳链路出现故障,此配置可以提供备份。

请看下面的例子。在 NetScaler 上配置了两个 PBR,即 p1 和 p2,并自动分配优先级 20 和 30。您需要添加第三个 PBR p3,以便在第一个 PBR p1 之后立即进行评估。新的 PBR p3 的优先级必须介于 20 到 30 之间。在这种情况下,您可以将优先级指定为 25。

CLI 过程

要使用 CLI 创建 PBR,请执行以下操作:

在命令提示符下,键入:

  • add ns pbr <name> <action> [-srcIP [\<operator>] <srcIPVal>] [-srcPort [\<operator>] <srcPortVal>] [-destIP [\<operator>] <destIPVal>] [-destPort [\<operator>] <destPortVal>] [-nextHop \<nextHopVal>] [-srcMac \<mac_addr>] [-protocol \<protocol> |-protocolNumber \<positive_integer>] [-vlan \<positive_integer>] [-interface \<interface_name>] [-priority \<positive_integer>] [-msr ( ENABLED | DISABLED ) [-monitor \<string>]] [-state ( ENABLED | DISABLED )]
  • show ns pbr

示例:

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

要使用 CLI 修改 PBR 的优先级,请执行以下操作:

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

  • set ns pbr <name> [-action ( ALLOW | DENY )] [-srcIP [\<operator>] <srcIPVal>] [-srcPort [\<operator>] <srcPortVal>] [-destIP [\<operator>] <destIPVal>] [-destPort [\<operator>] <destPortVal>] [-nextHop \<nextHopVal>] [-srcMac \<mac_addr>] [-protocol \<protocol> | -protocolNumber \<positive_integer>] [-vlan \<positive_integer>] [-interface \<interface_name>] [-priority \<positive_integer>] [-msr ( ENABLED | DISABLED ) [-monitor \<string>]] [-state ( ENABLED | DISABLED )]
  • show ns pbr [\<name>]

示例:

> set ns pbr pbr1 -priority 23 Done

要使用 CLI 删除一个或所有 PBR,请执行以下操作:

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

  • rm ns pbr <name>
  • 清除 ns pbrs

示例:

> rm ns pbr pbr1 Done > clear ns PBRs Done

GUI 程序

要使用 GUI 创建 PBR,请执行以下操作:

导航到“系统”>“网络”>“PBR”,在 PBR 选项卡上,添加新的 PBR 或编辑现有 PBR。

要使用 GUI 删除一个或所有 PBR,请执行以下操作:

导航到系统 > 网络 > PBR,在 PBR 选项卡上,删除 PBR。

应用 PBR

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

每次修改任何 PBR 后,都必须应用此程序。例如,禁用 PBR 后必须遵循此步骤。

注意: 在 NetScaler 设备上创建的 PBR 只有在应用后才能运行。

要使用 CLI 应用 PBR,请执行以下操作:

在命令提示符下,键入:

应用 ns PBR

要使用 GUI 应用 PBR,请执行以下操作:

  1. 导航到“系统”>“网络”>“PBR”。
  2. 在 PBR 选项卡上,选择 PBR,在“操作”列表中选择“应用”。

启用或禁用 PBR

默认情况下,PBR 处于启用状态。这意味着在应用 PBR 时,NetScaler 设备会自动将传入的数据包与配置的 PBR 进行比较。如果查找表中不需要 PBR,但需要将其保留在配置中,则在应用 PBR 之前必须将其禁用。应用 PBR 后,NetScaler 不会将传入的数据包与禁用的 PBR 进行比较。

要使用 CLI 启用或禁用 PBR,请执行以下操作:

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

  • 启用 ns pbr <name>
  • 禁用 ns pbr <name>

示例:

> enable ns PBR pbr1 Done > show ns PBR pbr1 1) Name: pbr1 Action: ALLOW Hits: 0 srcIP = 10.102.37.252 destIP = 10.10.10.2 srcMac: Protocol: Vlan: Interface: Active Status: ENABLED Applied Status: APPLIED Priority: 10 NextHop: 10.102.29.77 Done > disable ns PBR pbr1 Warning: PBR modified, use 'apply pbrs' to commit this operation > apply pbrs Done > show ns PBR pbr1 1) Name: pbr1 Action: ALLOW Hits: 0 srcIP = 10.102.37.252 destIP = 10.10.10.2 srcMac: Protocol: Vlan: Interface: Active Status: DISABLED Applied Status: NOTAPPLIED Priority: 10 NextHop: 10.102.29.77 Done

要使用 GUI 启用或禁用 PBR,请执行以下操作:

  1. 导航到“系统”>“网络”>“PBR”。
  2. 在 PBR 选项卡上,选择 PBR,在操作列表中选择启用或禁用。

对 PBR 进行重新编号

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

要使用 CLI 对 PBR 进行重新编号,请执行以下操作:

在命令提示符下,键入:

  • 对 ns pbrs 进行重新编号

要使用 GUI 对 PBR 进行重新编号,请执行以下操作:

导航到“系统”>“网络”>“PBR”,在 PBR 选项卡的“操作”列表中,选择“重新编号优先级”。

用例-具有多跳的 PBR

假设在 NetScaler 设备 NS1 上配置了两个 PBR,即 PBR1 和 PBR2。PBR1 将源 IP 地址为 10.102.29.30 的所有传出数据包路由到下一跳路由器 R1。PBR2 将源 IP 地址为 10.102.29.90 的所有传出数据包路由到下一跳路由器 R2。R3 是连接到 NS1 的另一台下一跳路由器。

如果路由器 R1 出现故障,则与 PBR1 匹配的所有传出数据包都将被丢弃。为避免这种情况,可以在创建或修改 PBR 时在 next hop 字段中指定链路负载平衡 (LLB) 虚拟服务器。多个下一跳作为服务绑定到 LLB 虚拟服务器(例如 R1、R2 和 R3)。现在,如果 R1 出现故障,则根据 LLB 虚拟服务器上配置的 LB 方法确定,与 PBR1 匹配的所有数据包都将路由到 R2 或 R3。

在以下情况下,如果您尝试创建以 LLB 虚拟服务器作为下一跳的 PBR,则 NetScaler 设备会引发错误:

  • 使用相同的 LLB 虚拟服务器添加另一个 PBR。
  • 指定不存在的 LLB 虚拟服务器。
  • 指定绑定服务不是下一跳的 LLB 虚拟服务器。
  • 指定 LB 方法未设置为以下任一项的 LLB 虚拟服务器:
    • ROUNDROBIN
    • DESTINATIONIPHASH
    • SOURCEIPHASH
    • SRCIPDESTIPHASH
    • LEASTPACKETS
    • LEASTBANDWIDTH
    • LTRM
    • CALLIDHASH
    • CUSTOM LOAD
  • 指定 LB 持久性类型未设置为以下任一类型的 LLB 虚拟服务器:
    • DESTIP
    • 源码/IP
    • SRCDSTIP

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

实体类型 名称 IP 地址
链接负载平衡虚拟服务器 LLB1 不适用
服务(下一步) Router1 1.1.1.254
  Router2 2.2.2.254
  Router3 3.3.3.254
PBR PBR1 不适用
  PBR2 不适用

表 1. 创建实体的示例值

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

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

要使用 CLI 创建服务,请执行以下操作:

在命令提示符下,键入:

  • add service <name> <IP> <serviceType> <port>
  • show service <name>

示例:

> 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 <name> <serviceType>
  • bind lb vserver < name> <serviceName>
  • show lb vserver < name>

示例:

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

要使用 GUI 创建链路负载平衡虚拟服务器并绑定服务,请执行以下操作:

  1. 导航到流量管理 > 负载平衡 > 虚拟服务器,然后创建用于链路负载平衡的虚拟服务器。在“协议”字段中指定 ANY。 注意:确保未选中“可 直接寻址”。
  2. 在“服务”选项卡下的“活动”列中,选中要绑定到虚拟服务器的服务对应的复选框。

要使用 CLI 创建 PBR,请执行以下操作:

在命令提示符下,键入:

  • add ns pbr <name> <action> [-srcIP [\<operator>] <srcIPVal>] [-nextHop \<nextHopVal>]
  • show ns pbr

示例:

> 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

要使用 GUI 创建 PBR,请执行以下操作:

导航到系统 > 网络 > PBR,在 PBR 选项卡上,添加新的 PBR。

本内容的正式版本为英文版。部分 Cloud Software Group 文档内容采用了机器翻译,仅供您参考。Cloud Software Group 无法控制机器翻译的内容,这些内容可能包含错误、不准确或不合适的语言。对于从英文原文翻译成任何其他语言的内容的准确性、可靠性、适用性或正确性,或者您的 Cloud Software Group 产品或服务沿用了任何机器翻译的内容,我们均不作任何明示或暗示的保证,并且适用的最终用户许可协议或服务条款或者与 Cloud Software Group 签订的任何其他协议(产品或服务与已进行机器翻译的任何文档保持一致)下的任何保证均不适用。对于因使用机器翻译的内容而引起的任何损害或问题,Cloud Software Group 不承担任何责任。
IPv4 流量的基于策略的路由 (PBR)