ADC

配置双向转发检测

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

在 BFD 操作中,路由对等体以协商的时间间隔交换 BFD 数据包。如果在协商间隔加上宽限间隔内未收到来自对等体的数据包,则认为对等方已失效,并将通知发送到一组注册的路由协议。反过来,路由协议会重新计算最佳路径并重新编程路由表。与路由协议提供的计时器相比,BFD 支持更短的时间间隔,因此可以更快地检测故障。

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

配置双向转发检测的注意事项

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

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

配置步骤

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

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

配置 BFD 参数

NetScaler 设备为单跳会话、IPv4 多跳会话和 IPv6 多跳会话提供单独的 BFD 会话参数。如果您没有为某一类型的会话配置 BFD 参数,则默认值将应用于该会话。

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

BFD 参数名称 默认值
Interval(时间间隔) 750 毫秒
最低 Rx 500 毫秒
乘数 3

重要:

NetScaler ADC 设备中的 Mellanox NIC 需要大约 1500 毫秒才能初始化。对于配备 Mellanox NIC 的 NetScaler 设备,必须将 BFD 计时器设置为超过 1500 毫秒。Citrix 建议将 BFD 计时器设置为 3000 毫秒:

  • 间隔 Tx = 600 毫秒
  • 最小 Rx = 600 毫秒
  • 倍数 = 5

为单跳会话配置 BFD 参数

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

命令 说明
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
<!--NeedCopy-->

为 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
<!--NeedCopy-->

为 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
<!--NeedCopy-->

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

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

为 IPv4 BGP 单跳会话配置 BFD

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

命令 说明
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
<!--NeedCopy-->

为 IPv4 BGP 多跳会话配置 BFD

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

命令 说明
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
<!--NeedCopy-->

为 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 路由器系列的前缀。

示例配置:

> 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

<!--NeedCopy-->

为 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 路由器系列的前缀。

示例配置:

> 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

<!--NeedCopy-->

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

您可以在所有接口上启用 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
<!--NeedCopy-->

要使用 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
<!--NeedCopy-->

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

您可以在所有接口上启用 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
<!--NeedCopy-->

要使用 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
<!--NeedCopy-->
配置双向转发检测