用于 BGP 会话的 BFD
了解 BGP 的 BFD
双向转发检测 (BFD) 协议是一种简单的hello机制,用于检测网络中的故障。Hello 数据包将以指定的定期间隔发送。当路由设备在指定时间间隔后停止接收回复时,将检测到邻接方故障。BFD 适用于各种网络环境和拓扑结构。BFD 的故障检测计时器的时间限制比 BGP 的默认故障检测机制更短,因此它们提供更快的检测。
使用 功能资源管理器 确认平台和版本对特定功能的支持。
查看适用于 BGP 行为的平台特定 BFD 部分,了解与您的平台相关的注意事项。
在同一设备上同时为 BGP 配置 BFD 和平滑重启会适得其反。当接口出现故障时,BFD 会立即检测到这一点,停止流量转发,BGP 会话关闭,而平稳重新启动会转发流量,尽管接口发生故障,此行为可能会导致网络问题。因此,我们不建议在同一设备上同时配置 BFD 和平滑重启。
BFD 故障检测计时器可以调整为更快或更慢。BFD 故障检测计时器值越低,故障检测越快,反之亦然。例如,如果邻接失败(即,计时器检测故障的速度较慢),计时器可以适应更高的值。或者,邻接方可以协商一个高于配置值的计时器值。当 BFD 会话抖动在 15 秒(15000 毫秒)内发生 3 次以上时,计时器会适应更高的值。如果本地 BFD 实例是会话翻动的原因,则回退算法会将接收 (Rx) 间隔增加 2。如果远程 BFD 实例是会话翻动的原因,则传输 (Tx) 间隔将增加 2。您可以使用该 clear bfd adaptation 命令将 BFD 间隔计时器返回到其配置值。该 clear bfd adaptation 命令是无中断的,表示该命令不会影响路由设备上的流量。
用于 BGP 对等体会话的 BFD 严格模式
Junos OS 支持 BGP 对等体会话的 BFD 严格模式。启用严格模式后,BGP 会等待关联的 BFD 会话建立并稳定,然后再允许 BGP 会话转换为已建立。当 BFD 不可用或不稳定时,严格模式有助于减少路由改动。
行为
-
在下
bfd-liveness-detection配置时strict-bfd,BGP 有限状态机将等待关联的 BFD 会话报告 Up,然后再允许 BGP 会话进入 Established。 -
如果 BFD 未在允许的等待间隔内报告 Up ,则 BGP 会话将重置,并且路由器会向对等方发送子代码为 BFD Down 的 BGP 通知。
-
使用的等待间隔为:
-
当保持时间为非零时的 BGP 保持时间,或
-
当 BGP 保持时间为
0时配置bfd-up-wait-interval。
-
-
strict-bfd默认情况下处于禁用状态,必须显式配置。 -
对未建立会话的
strict-bfd更改或bfd-up-wait-interval立即应用。对于已建立的会话,更改将在下次会话重新启动时生效。 -
两个对等方都必须通告对严格 BFD 功能的支持,严格行为才能在该会话上生效。
使用 BFD 严格模式和抑制间隔相同配置对等路由器,以避免无限空闲状态,并确保正确建立 BGP 会话。
示例:为 BGP 邻接方配置严格的 BFD 等待间隔
您可以将 BGP 配置为在 BFD 严格模式下运行,确保在关联的 BGP 会话成功建立且稳定之前不会建立 BGP 会话。
在数据平面路径可能不稳定的网络中,此配置有助于防止路由变动并提高会话可靠性。
要将 BGP 配置为在建立 BGP 会话之前等待最多 20 秒的 BFD 会话启动,请执行以下操作:
[edit protocols bgp] user@host# set group EBGP neighbor 198.51.100.1 bfd-liveness-detection strict-bfd bfd-up-wait-interval 20
在此示例中:
-
如果 BGP 保持时间
0为 ,则路由器最多会等待 20 秒,以便 BFD 会话启动。 -
如果保持时间为非零,则该值将覆盖等待间隔。
-
如果 BFD 会话在间隔到期之前启动,则计时器将被取消。
-
如果间隔到期而 BFD 无法运行,则 BGP 会话将重置,并向对等方发送 BGP 通知消息。
限制和默认值
-
默认等待间隔:30 秒(使用时适用)
-
支持范围:10–255 秒
-
在 Junos 上启动的最小实际 BFD(取决于平台):通常需要大约 4-6 秒。使用允许的最短 10 秒为新的 BFD 会话提供足够的时间来完成初始化。
也可以看看
示例:在内部 BGP 对等会话上配置 BFD
此示例说明如何使用双向转发检测 (BFD) 协议配置内部 BGP (IBGP) 对等会话,以检测网络故障。
要求
配置此示例之前,不需要除设备初始化之外的特殊配置。
概述
在 IBGP 会话上启用 BFD 的最低配置是在 bfd-liveness-detection minimum-interval 参与 BFD 会话的所有邻接方的 BGP 配置中包含该语句。该 minimum-interval 语句指定故障检测的最小传输和接收间隔。具体而言,此值表示本地路由设备传输 hello 数据包的最小间隔,以及路由设备预期从已与其建立 BFD 会话的邻接方接收回复的最小间隔。可以配置 1 到 255,000 毫秒之间的 值。
或者,您可以使用 and transmit-interval minimum-interval minimum-receive-interval 语句分别指定最小传输和接收间隔。有关这些语句和其他可选 BFD 配置语句的信息,请参阅 bfd-liveness-detection。
根据您的网络环境,以下附加建议可能适用:
为防止在常规路由引擎切换事件期间发生 BFD 抖动,请为基于路由引擎的会话指定 5000 毫秒的最小间隔。此最小值是必需的,因为在常规路由引擎切换事件期间,RPD、MIBD 和 SNMPD 等进程对 CPU 资源使用的次数超过了指定的阈值。因此,由于缺乏 CPU 资源,BFD 处理和调度会受到影响。
若要使 BFD 会话在双机箱群集控制链路场景期间保持开启,当第一个控制链路出现故障时,请指定 6000 毫秒的最小间隔,以防止 LACP 在基于路由引擎的会话的辅助节点上抖动。
对于具有大量 BFD 会话的大规模网络部署,请为基于路由引擎的会话指定最小间隔 300 毫秒,为分布式 BFD 会话指定 100 毫秒。
对于具有大量 BFD 会话的超大规模网络部署,请联系瞻博网络客户支持以获取更多信息。
在配置不间断活动路由 (NSR) 时,要使 BFD 会话在路由引擎切换事件期间保持开启,请为基于路由引擎的会话指定 2500 毫秒的最小间隔。对于配置了 NSR 的分布式 BFD 会话,建议的最小间隔保持不变,仅取决于您的网络部署。
默认路由实例(主路由器)、路由实例和逻辑系统支持 BFD。此示例显示逻辑系统上的 BFD。
图 1 显示了具有内部对等会话的典型网络。
典型网络
配置
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层次结构级别的 [edit] CLI 中。
设备 A
set logical-systems A interfaces lt-1/2/0 unit 1 description to-B set logical-systems A interfaces lt-1/2/0 unit 1 encapsulation ethernet set logical-systems A interfaces lt-1/2/0 unit 1 peer-unit 2 set logical-systems A interfaces lt-1/2/0 unit 1 family inet address 10.10.10.1/30 set logical-systems A interfaces lo0 unit 1 family inet address 192.168.6.5/32 set logical-systems A protocols bgp group internal-peers type internal set logical-systems A protocols bgp group internal-peers traceoptions file bgp-bfd set logical-systems A protocols bgp group internal-peers traceoptions flag bfd detail set logical-systems A protocols bgp group internal-peers local-address 192.168.6.5 set logical-systems A protocols bgp group internal-peers export send-direct set logical-systems A protocols bgp group internal-peers bfd-liveness-detection minimum-interval 1000 set logical-systems A protocols bgp group internal-peers neighbor 192.163.6.4 set logical-systems A protocols bgp group internal-peers neighbor 192.168.40.4 set logical-systems A protocols ospf area 0.0.0.0 interface lo0.1 passive set logical-systems A protocols ospf area 0.0.0.0 interface lt-1/2/0.1 set logical-systems A policy-options policy-statement send-direct term 2 from protocol direct set logical-systems A policy-options policy-statement send-direct term 2 then accept set logical-systems A routing-options router-id 192.168.6.5 set logical-systems A routing-options autonomous-system 17
设备 B
set logical-systems B interfaces lt-1/2/0 unit 2 description to-A set logical-systems B interfaces lt-1/2/0 unit 2 encapsulation ethernet set logical-systems B interfaces lt-1/2/0 unit 2 peer-unit 1 set logical-systems B interfaces lt-1/2/0 unit 2 family inet address 10.10.10.2/30 set logical-systems B interfaces lt-1/2/0 unit 5 description to-C set logical-systems B interfaces lt-1/2/0 unit 5 encapsulation ethernet set logical-systems B interfaces lt-1/2/0 unit 5 peer-unit 6 set logical-systems B interfaces lt-1/2/0 unit 5 family inet address 10.10.10.5/30 set logical-systems B interfaces lo0 unit 2 family inet address 192.163.6.4/32 set logical-systems B protocols bgp group internal-peers type internal set logical-systems B protocols bgp group internal-peers local-address 192.163.6.4 set logical-systems B protocols bgp group internal-peers export send-direct set logical-systems B protocols bgp group internal-peers bfd-liveness-detection minimum-interval 1000 set logical-systems B protocols bgp group internal-peers neighbor 192.168.40.4 set logical-systems B protocols bgp group internal-peers neighbor 192.168.6.5 set logical-systems B protocols ospf area 0.0.0.0 interface lo0.2 passive set logical-systems B protocols ospf area 0.0.0.0 interface lt-1/2/0.2 set logical-systems B protocols ospf area 0.0.0.0 interface lt-1/2/0.5 set logical-systems B policy-options policy-statement send-direct term 2 from protocol direct set logical-systems B policy-options policy-statement send-direct term 2 then accept set logical-systems B routing-options router-id 192.163.6.4 set logical-systems B routing-options autonomous-system 17
设备 C
set logical-systems C interfaces lt-1/2/0 unit 6 description to-B set logical-systems C interfaces lt-1/2/0 unit 6 encapsulation ethernet set logical-systems C interfaces lt-1/2/0 unit 6 peer-unit 5 set logical-systems C interfaces lt-1/2/0 unit 6 family inet address 10.10.10.6/30 set logical-systems C interfaces lo0 unit 3 family inet address 192.168.40.4/32 set logical-systems C protocols bgp group internal-peers type internal set logical-systems C protocols bgp group internal-peers local-address 192.168.40.4 set logical-systems C protocols bgp group internal-peers export send-direct set logical-systems C protocols bgp group internal-peers bfd-liveness-detection minimum-interval 1000 set logical-systems C protocols bgp group internal-peers neighbor 192.163.6.4 set logical-systems C protocols bgp group internal-peers neighbor 192.168.6.5 set logical-systems C protocols ospf area 0.0.0.0 interface lo0.3 passive set logical-systems C protocols ospf area 0.0.0.0 interface lt-1/2/0.6 set logical-systems C policy-options policy-statement send-direct term 2 from protocol direct set logical-systems C policy-options policy-statement send-direct term 2 then accept set logical-systems C routing-options router-id 192.168.40.4 set logical-systems C routing-options autonomous-system 17
配置设备 A
分步程序
下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅 《CLI 用户指南》中的在配置模式下使用 CLI 编辑器。
要配置设备 A:
将 CLI 设置为逻辑系统 A。
user@host> set cli logical-system A
配置接口。
[edit interfaces lt-1/2/0 unit 1] user@host:A# set description to-B user@host:A# set encapsulation ethernet user@host:A# set peer-unit 2 user@host:A# set family inet address 10.10.10.1/30 [edit interfaces lo0 unit 1] user@host:A# set family inet address 192.168.6.5/32
配置 BGP。
即使设备 A 未直接连接到设备 C,设备 B 和设备 C 也包含这些
neighbor语句。[edit protocols bgp group internal-peers] user@host:A# set type internal user@host:A# set local-address 192.168.6.5 user@host:A# set export send-direct user@host:A# set neighbor 192.163.6.4 user@host:A# set neighbor 192.168.40.4
配置 BFD。
[edit protocols bgp group internal-peers] user@host:A# set bfd-liveness-detection minimum-interval 1000
您必须在连接对等方上配置相同的最小间隔。
(选答)配置 BFD 跟踪。
[edit protocols bgp group internal-peers] user@host:A# set traceoptions file bgp-bfd user@host:A# set traceoptions flag bfd detail
配置 OSPF。
[edit protocols ospf area 0.0.0.0] user@host:A# set interface lo0.1 passive user@host:A# set interface lt-1/2/0.1
配置接受直接路由的策略。
此方案的其他有用选项可能是接受通过 OSPF 或本地路由获知的路由。
[edit policy-options policy-statement send-direct term 2] user@host:A# set from protocol direct user@host:A# set then accept
配置路由器 ID 和自治系统 (AS) 编号。
[edit routing-options] user@host:A# set router-id 192.168.6.5 user@host:A# set autonomous-system 17
如果完成设备配置,请从配置模式进入。
commit重复这些步骤以配置设备 B 和设备 C。
结果
在配置模式下,输入 show interfaces、 show policy-options、 show protocols和 show routing-options 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。
user@host:A# show interfaces
lt-1/2/0 {
unit 1 {
description to-B;
encapsulation ethernet;
peer-unit 2;
family inet {
address 10.10.10.1/30;
}
}
}
lo0 {
unit 1 {
family inet {
address 192.168.6.5/32;
}
}
}
user@host:A# show policy-options
policy-statement send-direct {
term 2 {
from protocol direct;
then accept;
}
}
user@host:A# show protocols
bgp {
group internal-peers {
type internal;
traceoptions {
file bgp-bfd;
flag bfd detail;
}
local-address 192.168.6.5;
export send-direct;
bfd-liveness-detection {
minimum-interval 1000;
}
neighbor 192.163.6.4;
neighbor 192.168.40.4;
}
}
ospf {
area 0.0.0.0 {
interface lo0.1 {
passive;
}
interface lt-1/2/0.1;
}
}
user@host:A# show routing-options router-id 192.168.6.5; autonomous-system 17;
验证
确认配置工作正常。
验证是否已启用 BFD
目的
验证是否在 IBGP 对等方之间启用了 BFD。
行动
在操作模式下,输入命令 show bgp neighbor 。您可以使用 | match bfd 过滤器缩小输出范围。
user@host:A> show bgp neighbor | match bfd Options: <BfdEnabled> BFD: enabled, up Trace file: /var/log/A/bgp-bfd size 131072 files 10 Options: <BfdEnabled> BFD: enabled, up Trace file: /var/log/A/bgp-bfd size 131072 files 10
意义
输出显示,逻辑系统 A 有两个启用了 BFD 的邻接方。未启用 BFD 时,输出将显示 BFD: disabled, down,并且该 <BfdEnabled> 选项不存在。如果启用了 BFD 且会话已关闭,则输出将显示 BFD: enabled, down。输出还显示,由于配置了跟踪操作,因此正在将与 BFD 相关的事件写入日志文件。
验证 BFD 会话是否已开启
目的
验证 BFD 会话是否已开启,并查看有关 BFD 会话的详细信息。
行动
在操作模式下,输入命令 show bfd session extensive 。
user@host:A> show bfd session extensive
Detect Transmit
Address State Interface Time Interval Multiplier
192.163.6.4 Up 3.000 1.000 3
Client BGP, TX interval 1.000, RX interval 1.000
Session up time 00:54:40
Local diagnostic None, remote diagnostic None
Remote state Up, version 1
Logical system 12, routing table index 25
Min async interval 1.000, min slow interval 1.000
Adaptive async TX interval 1.000, RX interval 1.000
Local min TX interval 1.000, minimum RX interval 1.000, multiplier 3
Remote min TX interval 1.000, min RX interval 1.000, multiplier 3
Local discriminator 10, remote discriminator 9
Echo mode disabled/inactive
Multi-hop route table 25, local-address 192.168.6.5
Detect Transmit
Address State Interface Time Interval Multiplier
192.168.40.4 Up 3.000 1.000 3
Client BGP, TX interval 1.000, RX interval 1.000
Session up time 00:48:03
Local diagnostic None, remote diagnostic None
Remote state Up, version 1
Logical system 12, routing table index 25
Min async interval 1.000, min slow interval 1.000
Adaptive async TX interval 1.000, RX interval 1.000
Local min TX interval 1.000, minimum RX interval 1.000, multiplier 3
Remote min TX interval 1.000, min RX interval 1.000, multiplier 3
Local discriminator 14, remote discriminator 13
Echo mode disabled/inactive
Multi-hop route table 25, local-address 192.168.6.5
2 sessions, 2 clients
Cumulative transmit rate 2.0 pps, cumulative receive rate 2.0 pps
意义
输出表示 TX interval 1.000, RX interval 1.000 使用语句配置 minimum-interval 的设置。所有其他输出均表示 BFD 的默认设置。要修改默认设置,请在语句下 bfd-liveness-detection 添加可选语句。
查看详细的 BFD 事件
目的
如果需要,查看 BFD 跟踪文件的内容以帮助进行故障排除。
行动
在操作模式下,输入命令 file show /var/log/A/bgp-bfd 。
user@host:A> file show /var/log/A/bgp-bfd Aug 15 17:07:25 trace_on: Tracing to "/var/log/A/bgp-bfd" started Aug 15 17:07:26.492190 bgp_peer_init: BGP peer 192.163.6.4 (Internal AS 17) local address 192.168.6.5 not found. Leaving peer idled Aug 15 17:07:26.493176 bgp_peer_init: BGP peer 192.168.40.4 (Internal AS 17) local address 192.168.6.5 not found. Leaving peer idled Aug 15 17:07:32.597979 task_connect: task BGP_17.192.163.6.4+179 addr 192.163.6.4+179: No route to host Aug 15 17:07:32.599623 bgp_connect_start: connect 192.163.6.4 (Internal AS 17): No route to host Aug 15 17:07:36.869394 task_connect: task BGP_17.192.168.40.4+179 addr 192.168.40.4+179: No route to host Aug 15 17:07:36.870624 bgp_connect_start: connect 192.168.40.4 (Internal AS 17): No route to host Aug 15 17:08:04.599220 task_connect: task BGP_17.192.163.6.4+179 addr 192.163.6.4+179: No route to host Aug 15 17:08:04.601135 bgp_connect_start: connect 192.163.6.4 (Internal AS 17): No route to host Aug 15 17:08:08.869717 task_connect: task BGP_17.192.168.40.4+179 addr 192.168.40.4+179: No route to host Aug 15 17:08:08.869934 bgp_connect_start: connect 192.168.40.4 (Internal AS 17): No route to host Aug 15 17:08:36.603544 advertising receiving-speaker only capabilty to neighbor 192.163.6.4 (Internal AS 17) Aug 15 17:08:36.606726 bgp_read_message: 192.163.6.4 (Internal AS 17): 0 bytes buffered Aug 15 17:08:36.609119 Initiated BFD session to peer 192.163.6.4 (Internal AS 17): address=192.163.6.4 ifindex=0 ifname=(none) txivl=1000 rxivl=1000 mult=3 ver=255 Aug 15 17:08:36.734033 advertising receiving-speaker only capabilty to neighbor 192.168.40.4 (Internal AS 17) Aug 15 17:08:36.738436 Initiated BFD session to peer 192.168.40.4 (Internal AS 17): address=192.168.40.4 ifindex=0 ifname=(none) txivl=1000 rxivl=1000 mult=3 ver=255 Aug 15 17:08:40.537552 BFD session to peer 192.163.6.4 (Internal AS 17) up Aug 15 17:08:40.694410 BFD session to peer 192.168.40.4 (Internal AS 17) up
意义
在建立路由之前,该 No route to host 消息将显示在输出中。建立路由后,最后两行显示两个 BFD 会话都启动。
停用和重新激活环路接口后查看详细的 BFD 事件
目的
检查关闭路由器或交换机然后重新启动后会发生什么情况。要模拟关闭路由器或交换机,请停用逻辑系统 B 上的环路接口。
行动
从配置模式,输入命令
deactivate logical-systems B interfaces lo0 unit 2 family inet。user@host:A# deactivate logical-systems B interfaces lo0 unit 2 family inet user@host:A# commit
在操作模式下,输入命令
file show /var/log/A/bgp-bfd。user@host:A> file show /var/log/A/bgp-bfd ... Aug 15 17:20:55.995648 bgp_read_v4_message:9747: NOTIFICATION received from 192.163.6.4 (Internal AS 17): code 6 (Cease) subcode 6 (Other Configuration Change) Aug 15 17:20:56.004508 Terminated BFD session to peer 192.163.6.4 (Internal AS 17) Aug 15 17:21:28.007755 task_connect: task BGP_17.192.163.6.4+179 addr 192.163.6.4+179: No route to host Aug 15 17:21:28.008597 bgp_connect_start: connect 192.163.6.4 (Internal AS 17): No route to host
从配置模式,输入命令
activate logical-systems B interfaces lo0 unit 2 family inet。user@host:A# activate logical-systems B interfaces lo0 unit 2 family inet user@host:A# commit
在操作模式下,输入命令
file show /var/log/A/bgp-bfd。user@host:A> file show /var/log/A/bgp-bfd ... Aug 15 17:25:53.623743 advertising receiving-speaker only capabilty to neighbor 192.163.6.4 (Internal AS 17) Aug 15 17:25:53.631314 Initiated BFD session to peer 192.163.6.4 (Internal AS 17): address=192.163.6.4 ifindex=0 ifname=(none) txivl=1000 rxivl=1000 mult=3 ver=255 Aug 15 17:25:57.570932 BFD session to peer 192.163.6.4 (Internal AS 17) up
了解 BGP 的 BFD 身份验证
双向转发检测协议 (BFD) 可以快速检测相邻系统之间的通信故障。默认情况下,BFD 会话的身份验证处于禁用状态。但是,当您在网络层协议上运行 BFD 时,遭受服务攻击的风险可能很高。如果跨多个跃点或通过不安全的隧道运行 BFD,强烈建议使用身份验证。Junos OS 支持对通过 BGP 运行的 BFD 会话进行身份验证。MPLS OAM 会话不支持 BFD 身份验证。BFD 身份验证仅在加拿大和美国版本的 Junos OS 映像中受支持,在导出版本中不可用。
指定 身份验证 算法和密钥链,然后使用密钥链名称将该配置信息与安全身份验证密钥链相关联,可验证 BFD 会话。
以下部分介绍了支持的身份验证算法、安全密钥链以及可配置的身份验证级别:
BFD 身份验证算法
Junos OS 支持以下 BFD 身份验证算法:
simple-password — 纯文本密码。1 到 16 字节的纯文本用于对 BFD 会话进行身份验证。可以配置一个或多个密码。此方法最不安全,仅当 BFD 会话不受数据包拦截时才应使用。
keyed-md5—用于传输和接收间隔大于 100 毫秒的会话的密钥消息摘要 5 散列算法。要对 BFD 会话进行身份验证,密钥 MD5 使用一个或多个密钥(由算法生成)和一个定期更新的序列号。使用此方法,如果其中一个密钥匹配且序列号大于或等于收到的最后一个序列号,则会话的接收端将接受数据包。尽管这种方法比简单的密码更安全,但很容易受到重放攻击。提高序列号的更新速率可以降低此风险。
meticulous-keyed-md5—细致键控消息摘要 5 散列算法。此方法的工作方式与密钥 MD5 相同,但序列号会随着每个数据包的更新而更新。尽管此方法比密钥 MD5 和简单密码更安全,但此方法可能需要额外的时间来验证会话。
keyed-sha-1—密钥安全散列算法 I,用于传输和接收间隔大于 100 毫秒的会话。要对 BFD 会话进行身份验证,密钥 SHA 使用一个或多个密钥(由算法生成)和一个定期更新的序列号。密钥不会在数据包中携带。使用此方法,如果其中一个密钥匹配且序列号大于接收的最后一个序列号,则会话的接收端将接受数据包。
meticulous-keyed-sha-1—细致密钥安全散列算法 I.此方法的工作方式与密钥 SHA 相同,但序列号会随着每个数据包的更新而更新。虽然此方法比密钥 SHA 和简单密码更安全,但可能需要额外的时间来对会话进行身份验证。
meticulous-keyed-md5 和 meticulous-keyed-sha-1 身份验证算法不支持不间断活动路由 (NSR)。切换后,使用这些算法的 BFD 会话可能会中断。
安全性认证钥匙串
安全身份验证密钥链定义用于身份验证密钥更新的身份验证属性。通过密钥链名称配置安全身份验证密钥链并与协议关联时,可以在不中断路由和信令协议的情况下进行身份验证密钥更新。
身份验证钥匙串包含一个或多个钥匙串。每个钥匙串都包含一个或多个钥匙。每个密钥都保存密钥数据和密钥生效的时间。必须在 BFD 会话的两端配置算法和密钥链,并且它们必须匹配。配置中的任何不匹配都将导致创建 BFD 会话。
BFD 允许每个会话多个客户端,并且每个客户端可以定义自己的密钥链和算法。为避免混淆,建议仅指定一个安全身份验证钥匙串。
严格身份验证与松散身份验证
默认情况下,启用严格身份验证,并在每个 BFD 会话的两端检查身份验证。或者,为了从未经身份验证的会话顺利迁移到经过身份验证的会话,您可以配置 松散检查。配置松散检查后,数据包将被接受,而无需在会话的每一端检查身份验证。此功能仅适用于过渡期。
也可以看看
示例:为 BGP 配置 BFD 身份验证
从 Junos OS 9.6 版开始,您可以为通过 BGP 运行的 BFD 会话配置身份验证。只需三个步骤即可在 BFD 会话上配置身份验证:
为 BGP 协议指定 BFD 身份验证算法。
将身份验证密钥链与 BGP 协议相关联。
配置相关的安全身份验证密钥链。
以下部分提供了在 BGP 上配置和查看 BFD 身份验证的说明:
配置 BFD 身份验证参数
可以为整个 BGP 协议或特定的 BGP 组、邻接方或路由实例配置 BFD 身份验证。
下面的示例要求您在各个配置层级中进行导航。有关导航CLI的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用CLI编辑器。
要配置 BFD 身份验证,请执行以下操作:
BFD 身份验证仅在加拿大和美国版本的 Junos OS 映像中受支持,在导出版本中不可用。
查看 BFD 会话的身份验证信息
您可以使用 和 show bfd session extensive 命令show bfd session detail查看现有的 BFD 身份验证配置。
以下示例显示了为 bgp-gr1 BGP 组配置的 BFD 身份验证。它指定密钥 SHA-1 身份验证算法和密钥链名称 bfd-bgp。身份验证钥匙串配置了两个密钥。密钥 1 包含密钥数据“$ABC 123$ABC123”,开始时间为 2009 年 6 月 1 日上午 9:46:02(太平洋标准时间)。密钥 2 包含机密数据“$ABC 123$ABC123”,开始时间为 2009 年 6 月 1 日下午 3:29:20(太平洋标准时间)。
[edit protocols bgp]
group bgp-gr1 {
bfd-liveness-detection {
authentication {
algorithm keyed-sha-1;
key-chain bfd-bgp;
}
}
}
[edit security]
authentication key-chains {
key-chain bfd-bgp {
key 1 {
secret “$ABC123$ABC123”;
start-time “2009-6-1.09:46:02 -0700”;
}
key 2 {
secret “$ABC123$ABC123”;
start-time “2009-6-1.15:29:20 -0700”;
}
}
}
如果将这些更新提交到配置中,则会看到类似于以下内容的输出。在命令的 show bfd session detail 输出中,将显示 Authenticate ,以指示已配置 BFD 身份验证。有关配置的更多信息,请使用命令 show bfd session extensive 。此命令的输出提供密钥链名称、会话中每个客户端的身份验证算法和模式,以及总体 BFD 身份验证配置状态、密钥链名称以及身份验证算法和模式。
显示 BFD 会话详细信息
user@host# show bfd session detail
Detect Transmit
Address State Interface Time Interval Multiplier
192.0.2.2 Up ge-0/1/5.0 0.900 0.300 3
Client BGP, TX interval 0.300, RX interval 0.300, Authenticate
Session up time 3d 00:34
Local diagnostic None, remote diagnostic NbrSignal
Remote state Up, version 1
Replicated
显示 BFD 会话扩展
user@host# show bfd session extensive
Detect Transmit
Address State Interface Time Interval Multiplier
192.0.2.2 Up ge-0/1/5.0 0.900 0.300 3
Client BGP, TX interval 0.300, RX interval 0.300, Authenticate
keychain bfd-bgp, algo keyed-sha-1, mode strict
Session up time 00:04:42
Local diagnostic None, remote diagnostic NbrSignal
Remote state Up, version 1
Replicated
Min async interval 0.300, min slow interval 1.000
Adaptive async TX interval 0.300, RX interval 0.300
Local min TX interval 0.300, minimum RX interval 0.300, multiplier 3
Remote min TX interval 0.300, min RX interval 0.300, multiplier 3
Local discriminator 2, remote discriminator 2
Echo mode disabled/inactive
Authentication enabled/active, keychain bfd-bgp, algo keyed-sha-1, mode strict
针对特定于 BGP 行为的平台特定 BFD
使用 功能资源管理器 确认平台和版本对特定功能的支持。
使用下表查看平台的特定于平台的行为:
针对特定于 BGP 行为的平台特定 BFD
| 平台 | 差异 |
|---|---|
| ACX 系列 |
|
| EX 系列 |
|
| QFX 系列 |
|
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能资源管理器 确定您的平台是否支持某个功能。