Citrix ADC

配置双向转发检测

双向转发检测 (BFD) 协议是一种快速检测转发路径故障的机制。BFD 按毫秒顺序检测路径故障。BFD 与动态路由协议一起使用。

在 BFD 操作中,路由对等方以协商的间隔交换 BFD 数据包。如果未在协商的间隔加宽限间隔内从对等方接收数据包,则认为该对等方已死亡,并且将向已注册的路由协议集发送通知。反过来,路由协议会重新计算最佳路径并重新编程路由表。与路由协议提供的定时器相比,BFD 支持更小的时间间隔,从而更快地检测故障。

Citrix ADC 设备支持以下路由协议的 BFD:BGP(IPv4 和 IPv6)、OSPFv2(IPv4)和 OSPFv3(IPv6)。Citrix ADC 设备中的 BFD 支持符合 RFC 5880、5881 和 5883 的要求。

配置双向转发检测的要点

在开始配置 BFD 之前,请考虑以下几点:

  • 请确保您了解 RFC 5880、5881 和 5883 中描述的 BFD 的不同组件。
  • 以下路由协议支持 Citrix ADC 设备上的 BFD:
    • BGP(IPv4 和 IPv6)
    • OSPFv2 (IPv4)
    • OSPFv3 (IPv6)
  • 以下路由协议不支持 Citrix ADC 设备上的 BFD:
    • ISIS
    • RIP (IPv4)
    • RIPng (IPv6)
  • Citrix ADC 设备不支持以下 BFD 功能:
    • BFD 回声模式
    • BFD 身份验证
    • BFD 需求异步模式
  • BFD 间隔和 BFD Rx 定时器的最小值为 100 毫秒。
  • 当 BFD 在具有共享 IP 地址的拓扑中使用(例如,带 SNIP 地址的第 2 层高可用性设置或带条带 IP 地址的群集设置)时,BFD 会在故障切换期间关闭活动会话,因为 BFD 故障检测时间(毫秒顺序)小于 HA故障转移检测间隔(3-4 秒)。因此,Citrix 建议在第 2 层 HA 拓扑中使用“正常”重新启动,因为路由将在故障转移过程中保留。

配置步骤

在 Citrix ADC 设备上配置 BFD 包括以下任务:

  • 配置 BFD 参数
  • 配置动态路由协议的 BFD 支持

配置 BFD 参数

Citrix ADC 设备为单跃点会话、IPv4 多跃点会话和 IPv6 多跃点会话提供单独的 BFD 会话参数。如果未为某种会话类型配置 BFD 参数,则默认值将应用于该会话。

对于单跃点会话、IPv4 多跃点会话和 IPv6 多跃点会话,每个 BFD 参数的默认值相同。下表显示了每个 BFD 参数的默认值。

BFD 参数名称 默认值
时间间隔 750 毫秒
最小 Rx 500 毫秒
乘数 3

重要:

Citrix 设备中的 Mellanox 网卡需要大约 1500 毫秒才能初始化。对于采用 Mellanox 网卡的 Citrix ADC 设备,必须将 BFD 定时器设置为 1500 毫秒以上。Citrix 建议将 BFD 计时器设置为 3000 毫秒:

  • 间隔传输 = 600 毫秒
  • 最小值 = 600 毫秒
  • 乘数 = 5

为单跳会话配置 BFD 参数

要使用 VTYSH 命令行为单跳会话配置 BFD 参数,请在命令提示符处键入以下命令,按显示的顺序:

命令 说明
vtysh 显示 VTYSH 命令提示符。
configure terminal 进入全局配置模式。
interface vlan ID> 进入界面配置模式。
bfd singlehop-peer interval <num> minrx <num> multiplier <num> 在指定接口上配置 BFD 参数。

示例配置:

> vtysh

ns# configure terminal

ns(config)# interface vlan3

ns(config-if)# bfd singlehop-peer interval 200 minrx 200 multiplier 5

ns(config-if)# exit

为 IPv4 多跃点会话配置 BFD 参数

要使用 VTYSH 命令行为 IPv4 多跳会话配置 BFD 参数,请在命令提示符处键入以下命令,按显示的顺序:

命令 说明
vtysh 显示 VTYSH 命令提示符。
configure terminal 进入全局配置模式。
bfd multihop-peer <ipv4addr> interval <num> minrx <num> multiplier <num> 为 IPv4 多跳会话配置 BFD 参数。

示例配置:

    > vtysh

    ns# configure terminal

    ns(config)# bfd multihop-peer 20.20.20.138 interval 300 minrx 300 multiplier 5

    ns(config)# exit

为 IPv6 多跃点会话配置 BFD 参数

要使用 VTYSH 命令行为 IPv6 多跳会话配置 BFD 参数,请在命令提示符处键入以下命令,按显示的顺序:

命令 说明
vtysh 显示 VTYSH 命令提示符。
configure terminal 进入全局配置模式。
bfd multihop-peer ipv6 <ipv6addr> interval <num> minrx <num> multiplier <num> 为 IPv6 多个跳会话配置 BFD 参数。

示例配置:

    > vtysh

    ns(config)# bfd multihop-peer ipv6 20fe:125::138 interval 500 minrx 500 multiplier 5

    ns(config)# exit

配置动态路由协议的 BFD 支持

您可以为与对等项的某种会话类型的动态路由协议启用 BFD。例如,单跳和多跳。Citrix ADC 设备将相关的 BFD 参数设置应用于会话。

为 IPv4 BGP 单跳会话配置 BFD

要使用 VTYSH 命令行为 IPv4 BGP 单跳会话配置 BFD,请在命令提示符处按显示的顺序键入以下命令:

命令 说明
vtysh 显示 VTYSH 命令提示符。
configure terminal 进入全局配置模式。
router bgp <asnumber> BGP 自治系统。asnumber 是必需的参数。
neighbor <ipv4addr> remote-as <num> 使用指定自治系统中邻居的 IPv4 地址更新 IPv4 BGP 表。
neighbor <ipv4addr> fall-over bfd 为指定邻居启用 BFD。

示例配置:

    > vtysh

    ns# configure terminal

    ns(config)#router bgp 1

    ns(config-router)#neighbor 20.20.20.138 remote-as 1

    ns(config-router)#neighbor 20.20.20.138 fall-over bfd

    ns(config-router)#redistribute kernel

    ns(config-router)#exit

为 IPv4 BGP 多跃点会话配置 BFD

要使用 VTYSH 命令行为 IPv4 BGP 多跳会话配置 BFD,请在命令提示符处按显示的顺序键入以下命令:

命令 说明
vtysh 显示 VTYSH 命令提示符。
configure terminal 进入全局配置模式。
router bgp <asnumber> BGP 自治系统。asnumber 是必需的参数。
neighbor <ipv4addr> remote-as <num> 使用指定自治系统中邻居的 IPv4 地址更新 IPv4 BGP 表。
neighbor <ipv4addr> fall-over bfd multihop 为指定邻居启用 BFD。

示例配置:

    > vtysh

    ns# configure terminal

    ns(config)#router bgp 1

    ns(config-router)#neighbor 20.20.20.138 remote-as 1

    ns(config-router)#neighbor 20.20.20.138 fall-over bfd multihop

    ns(config-router)#redistribute kernel

    ns(config-router)#exit

为 IPv6 BGP 单跳会话配置 BFD

要使用 VTYSH 命令行为 IPv6 BGP 单跳会话配置 BFD,请在命令提示符处按显示的顺序键入以下命令:

命令 说明
vtysh 显示 VTYSH 命令提示符。
configure terminal 进入全局配置模式。
router bgp <asnumber> BGP 自治系统。asnumber 是必需的参数。
neighbor <ipv6addr> remote-as <num> 使用指定自治系统中邻居的链接本地 IPv6 地址更新 IPv6 BGP 表。
neighbor <ipv6addr> fall-over bfd 为指定邻居启用 BFD。
address-family ipv6 输入地址系列配置模式。
neighbor <ipv6addr> activate 使用链接本地地址在对等节点和本地节点之间的 IPv6 路由器系列的 Exchange 前缀。

示例配置:

> vtysh

ns# configure terminal ns(config)#router bgp 1

ns(config-router)#neighbor 30fe:123::124 remote-as 1

ns(config-router)#neighbor 30fe:123::124 fall-over bfd

ns(config-router)#address-family ipv6

ns(config-router-af)#neighbor 30fe:123::124 activate

ns(config-router-af)#redistribute kernel

ns(config-router-af)#exit

为 IPv6 BGP 多跃点会话配置 BFD

要使用 VTYSH 命令行为 IPv6 BGP 多跳会话配置 BFD,请在命令提示符处按显示的顺序键入以下命令:

命令 说明
vtysh 显示 VTYSH 命令提示符。
configure terminal 进入全局配置模式。
router bgp <asnumber> BGP 自治系统。asnumber 是必需的参数。
neighbor <ipv6addr> remote-as <num> 使用指定自治系统中邻居的链接本地 IPv6 地址更新 IPv6 BGP 表。
neighbor <ipv6addr> fall-over bfd multihop 为指定邻居启用 BFD。
address-family ipv6 输入地址系列配置模式。
neighbor <ipv6addr> activate 使用链接本地地址在对等节点和本地节点之间的 IPv6 路由器系列的 Exchange 前缀。

示例配置:

> vtysh

ns# configure terminal

ns(config)# bfd multihop-peer ipv6 20fe:125::138 interval 500 minrx 500 multiplier 5

ns(config)#router bgp 1

ns(config-router)#neighbor 20fe:125::138 remote-as 1

ns(config-router)#neighbor 20fe:125::138 fall-over bfd multihop

ns(config-router)#address-family ipv6

ns(config-router-af)#neighbor 20fe:125::138 activate

ns(config-router-af)#redistribute kernel

ns(config-router-af)#end

在接口上为 OSPFv2 (IPv4) 配置 BFD

您可以在所有或使用 OSPFv2 协议的特定接口上启用 BFD。

要使用 VTYSH 命令行在所有接口上配置 OSPFv2 的 BFD,请执行以下操作:

在命令提示符下,按所示顺序键入以下命令:

命令 说明
vtysh 显示 VTYSH 命令提示符。
configure terminal 进入全局配置模式。
router ospf <process tag> 进入 OSPFv2 配置模式。
bfd all-interfaces 在使用 OSPFv2 的所有接口上启用 BFD。

示例配置:

    > vtysh

    ns# configure terminal

    ns(config)#router ospf 1

    ns(config-router)#bfd all-interfaces

    ns(config-router)#redistribute kernel

    ns(config-router)#exit

要使用 VTYSH 命令行在特定接口上配置 OSPFv2 的 BFD,请执行以下操作:

在命令提示符下,按所示顺序键入以下命令:

命令 说明
vtysh 显示 VTYSH 命令提示符。
configure terminal 进入全局配置模式。
interface <vlan ID> 进入界面配置模式。
ip ospf bfd 在使用 OSPFv2 的指定接口上启用 BFD。

示例配置:

    > vtysh

    ns# configure terminal

    ns(config)# interface vlan5

    ns(config-if)# ip ospf bfd

    ns(config-if)# exit

在接口上为 OSPFv3 (IPv6) 配置 BFD

您可以在所有或使用 OSPFv3 协议的特定接口上启用 BFD。

要使用 VTYSH 命令行在所有接口上配置 OSPFv3 的 BFD,请执行以下操作:

在命令提示符下,按所示顺序键入以下命令:

命令 说明
vtysh 显示 VTYSH 命令提示符。
configure terminal 进入全局配置模式。
router ipv6 ospf <process tag> 进入 OSPFv3 配置模式。
bfd all-interfaces 在使用 OSPFv3 的所有接口上启用 BFD。

示例配置:

    > vtysh

    ns# configure terminal

    ns(config)#router ipv6 ospf 10

    ns(config-router)#bfd all-interfaces

    ns(config-router)#redistribute kernel

    ns(config-router)#exit

要使用 VTYSH 命令行在特定接口上配置 OSPFv3 的 BFD,请执行以下操作:

在命令提示符下,按所示顺序键入以下命令:

命令 说明
vtysh 显示 VTYSH 命令提示符。
configure terminal 进入全局配置模式。
interface <vlan ID> 进入界面配置模式。
ipv6 ospf bfd 在使用 OSPFv3 的指定接口上启用 BFD。

示例配置:

    > vtysh

    ns# configure terminal

    ns(config)# interface vlan15

    ns(config-if)# ipv6 ospf bfd

    ns(config-if)# exit

配置双向转发检测