Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

配置 PIM 和双向转发检测 (BFD) 协议

了解 PIM 的双向转发检测身份验证

双向转发检测 (BFD) 可以快速检测相邻系统之间的通信故障。默认情况下,BFD 会话的身份验证处于禁用状态。但是,当您通过网络层协议运行 BFD 时,服务攻击的风险可能很大。如果您通过多个跃点或通过不安全的隧道运行 BFD,我们强烈建议使用身份验证。

从 Junos OS 9.6 版开始,Junos OS 支持对通过 PIM 运行的 BFD 会话进行身份验证。BFD 身份验证仅在加拿大和美国版本的 Junos OS 映像中受支持,在导出版本中不可用。

要对 BFD 会话进行身份验证,请指定身份验证算法和密钥链,然后使用该密钥链名称将该配置信息与安全身份验证密钥链相关联。

以下部分介绍支持的身份验证算法、安全密钥链和可配置的身份验证级别:

BFD 认证算法

Junos OS 支持以下 BFD 身份验证算法:

  • 简单密码 - 纯文本密码。1 到 16 字节的纯文本用于验证 BFD 会话。可以配置一个或多个密码。此方法最不安全,仅当 BFD 会话不受数据包拦截限制时才应使用。

  • keyed-md5 — 密钥消息摘要 5 哈希算法,适用于传输和接收间隔大于 100 毫秒的会话。要验证 BFD 会话,密钥 MD5 使用一个或多个密钥(由算法生成)以及定期更新的序列号。使用此方法,如果其中一个密钥匹配且序列号大于或等于收到的最后一个序列号,则在会话的接收端接受数据包。虽然比简单密码更安全,但此方法容易受到重放攻击。提高序列号的更新速率可以降低此风险。

  • 细致密钥 md5 — 细致密钥消息摘要 5 哈希算法。此方法的工作方式与键控 MD5 相同,但序列号随每个数据包一起更新。尽管此方法比密钥 MD5 和简单密码更安全,但此方法可能需要更多时间来验证会话。

  • keyed-sha-1 — 密钥安全散列算法 I,适用于传输和接收间隔大于 100 毫秒的会话。要对 BFD 会话进行身份验证,密钥 SHA 使用一个或多个密钥(由算法生成)以及定期更新的序列号。密钥不在数据包中携带。使用此方法,如果其中一个密钥匹配且序列号大于收到的最后一个序列号,则在会话的接收端接受数据包。

  • 一丝不苟的密钥 sha-1 — 一丝不苟的密钥安全散列算法 I.此方法的工作方式与键控 SHA 相同,但序列号随每个数据包一起更新。尽管此方法比密钥化 SHA 和简单密码更安全,但此方法可能需要更多时间来验证会话。

注意:

一丝不苟密钥 md5 和一丝不苟密钥 sha-1 身份验证算法不支持不间断活动路由 (NSR)。使用这些算法的 BFD 会话可能会在切换后关闭。

安全认证钥匙串

安全认证密钥链定义用于认证密钥更新的认证属性。配置安全认证密钥链并通过密钥链名称与协议关联时,可以在不中断路由和信令协议的情况下进行身份验证密钥更新。

认证钥匙串包含一个或多个钥匙串。每个钥匙串包含一个或多个密钥。每个密钥都保存机密数据和密钥生效的时间。必须在 BFD 会话的两端配置算法和钥匙串,并且它们必须匹配。配置中的任何不匹配都会阻止创建 BFD 会话。

BFD 允许每个会话使用多个客户端,并且每个客户端都可以定义自己的密钥链和算法。为避免混淆,我们建议仅指定一个安全认证钥匙串。

注意:

SRX 系列防火墙不支持安全认证密钥链。

严格身份验证与松散身份验证

默认情况下,启用严格身份验证,并在每个 BFD 会话的两端检查身份验证。(可选)要从未经身份验证的会话顺利迁移到经过身份验证的会话,您可以配置 松散检查。配置松散检查后,将接受数据包,而不会在会话的每一端检查身份验证。此功能仅适用于过渡期。

为 PIM 配置 BFD

双向转发检测 (BFD) 协议是一种检测网络中故障的简单你好机制。BFD 适用于各种网络环境和拓扑结构。一对路由设备交换 BFD 数据包。Hello 数据包按指定的定期间隔发送。当路由设备在指定间隔后停止接收回复时,将检测到邻接方故障。BFD 故障检测计时器的时间限制比协议无关组播 (PIM) 你好保持时间短,因此检测速度更快。

BFD 故障检测计时器是自适应的,可以调整为更快或更慢。BFD 故障检测计时器值越低,故障检测越快,反之亦然。例如,如果邻接失败(即,计时器检测故障的速度较慢),计时器可以适应更高的值。或者,邻居可以为计时器协商比配置的值更高的值。当 BFD 会话抖动在 15 秒内出现三次以上时,计时器会适应更高的值。如果本地 BFD 实例是会话抖动的原因,则退避算法会将接收 (Rx) 间隔增加 2。如果远程 BFD 实例是会话抖动的原因,则传输 (Tx) 间隔增加 2。您可以使用命令将 clear bfd adaptation BFD 间隔计时器返回到其配置的值。该 clear bfd adaptation 命令是无中断的,这意味着该命令不会影响路由设备上的流量。

必须指定最小传输间隔和最小接收间隔才能在 PIM 上启用 BFD。

要启用故障检测,请执行以下操作:

  1. 全局或在路由实例中配置接口。

    此示例显示全局配置。

  2. 配置最小传输间隔。

    这是路由设备将你好数据包传输到已与其建立 BFD 会话的邻接方的最小间隔。指定小于 300 毫秒的间隔可能会导致意外的 BFD 抖动。

  3. 配置路由设备期望从已与其建立 BFD 会话的邻接方接收回复的最小间隔。

    指定小于 300 毫秒的间隔可能会导致意外的 BFD 抖动。

  4. (可选)配置其他 BFD 设置。

    作为单独设置接收和传输间隔的替代方法,请为两者配置一个间隔。

  5. 配置 BFD 会话检测时间适配阈值。

    当检测时间适应等于或大于阈值的值时,将发送单个陷阱和单个系统日志消息。

  6. 配置导致始发接口声明关闭的邻接方未接收的 你好 数据包数。
  7. 配置 BFD 版本。
  8. 指定 BFD 会话不应适应不断变化的网络条件。

    我们建议您不要禁用 BFD 适配,除非最好不要在网络中启用 BFD 适配。

  9. 通过检查命令的 show bfd session 输出来验证配置。

为 PIM 配置 BFD 身份验证

  1. 指定 PIM 协议的 BFD 身份验证算法。

  2. 将身份验证密钥链与 PIM 协议关联。

  3. 配置相关的安全认证密钥链。

从 Junos OS 9.6 版开始,您可以为通过协议无关组播 (PIM) 运行的双向转发检测 (BFD) 会话配置身份验证。还支持路由实例。

以下各节提供了有关在 PIM 上配置和查看 BFD 身份验证的说明:

配置 BFD 身份验证参数

BFD 身份验证仅在加拿大和美国版本的 Junos OS 映像中受支持,在导出版本中不可用。

要配置 BFD 身份验证,请执行以下操作:

  1. 指定用于在 PIM 路由或路由实例上进行 BFD 身份验证的算法(keyed-md5keyed-sha-1meticous-keyed-md5meticualous-keyed-sha-1简单密码)。
    注意:

    一丝不苟的密钥 md5 和一丝不苟的密钥 sha-1 身份验证算法不支持不间断活动路由 (NSR)。使用这些算法的 BFD 会话可能会在切换后关闭。

  2. 指定用于将指定 PIM 路由或路由实例上的 BFD 会话与唯一安全认证密钥链属性相关联的密钥链。

    您指定的钥匙串必须与在层次结构级别配置的 [edit security authentication key-chains] 钥匙串名称匹配。

    注意:

    必须在 BFD 会话的两端配置算法和钥匙串,并且它们必须匹配。配置中的任何不匹配都会阻止创建 BFD 会话。

  3. 指定 BFD 会话的唯一安全身份验证信息:
    • 步骤 2 中指定的匹配钥匙串名称。

    • 至少一个键,即 介于 063 之间的唯一整数。创建多个密钥允许多个客户端使用 BFD 会话。

    • 用于允许访问会话的机密数据。

    • 身份验证密钥变为活动状态的时间,格式 yyyy-mm-dd.hh:mm:ss为 。

    注意:

    SRX 系列防火墙不支持安全认证密钥链。

  4. (可选)如果要从未经身份验证的会话转换为经过身份验证的会话,请指定松散身份验证检查。
  5. (可选)使用 or show bfd session detail show bfd session extensive 命令查看配置。
  6. 重复这些步骤以配置 BFD 会话的另一端。

查看 BFD 会话的身份验证信息

您可以使用和show bfd session extensive命令查看show bfd session detail现有的 BFD 身份验证配置。

以下示例显示了为 ge-0/1/5 接口配置的 BFD 身份验证。它指定密钥化 SHA-1 身份验证算法和密钥链名称 bfd-pim。身份验证钥匙串配置了两个密钥。密钥 1 包含机密数据“$ABC 123/”,开始时间为太平洋标准时间 2009 年 6 月 1 日上午 9:46:02。密钥 2 包含机密数据“$ABC 123/”,开始时间为太平洋标准时间 2009 年 6 月 1 日下午 3:29:20。

如果将这些更新提交到配置,则会看到类似于以下示例的输出。在命令的 show bfd session detail 输出中,将显示 身份验证 以指示已配置 BFD 身份验证。有关配置的更多信息,请使用 show bfd session extensive 命令。此命令的输出提供密钥链名称、会话中每个客户端的身份验证算法和模式,以及整体 BFD 身份验证配置状态、密钥链名称以及身份验证算法和模式。

显示 BFD 会话详细信息

显示 BFD 会话广泛

示例:为 PIM IPv6 配置 BFD 活动检测

此示例说明如何为为协议无关组播 (PIM) 拓扑配置的 IPv6 接口配置双向转发检测 (BFD) 活动检测。BFD 是一种检测网络中故障的简单你好机制。

配置 BFD 活动检测需要执行以下步骤:

  1. 配置接口。

  2. 配置相关的安全认证密钥链。

  3. 指定 PIM 协议的 BFD 身份验证算法。

  4. 配置 PIM,将身份验证密钥链与所需协议相关联。

  5. 为路由实例配置 BFD 身份验证。

注意:

您必须在 BFD 会话的两端执行这些步骤。

要求

此示例使用以下硬件和软件组件:

  • 两个对等路由器。

  • Junos OS 12.2 或更高版本。

概述

在此示例中。设备 R1 和设备 R2 是对等方。每个路由器都运行 PIM,通过公共介质连接。

拓扑学

图 1 显示了此示例中使用的拓扑。

图 1:PIM IPv6 拓扑 BFD Liveness Detection for PIM IPv6 Topology的 BFD 活动检测

假设路由器初始化。尚未建立 BFD 会话。对于每个路由器,PIM 会通知 BFD 进程监控路由协议中配置的邻接方的 IPv6 地址。地址不是动态学习的,必须进行配置。

在 [编辑协议 pim] 层次结构级别为每个路由器配置 IPv6 地址和 BFD 活动检测。

在 [编辑路由实例instance-name 协议 pim 接口所有系列 inet6] 层次结构级别为路由实例配置 BFD 活动检测(此处为 instance-name instance1

您还将配置 BFD 的身份验证算法和身份验证密钥链值。

在 BFD 配置的网络中,当客户端启动与对等方的 BFD 会话时,BFD 开始发送缓慢的定期 BFD 控制数据包,其中包含您在配置 BFD 对等方时指定的间隔值。这称为初始化状态。在此状态下,BFD 不会生成任何启动或关闭通知。当另一个 BFD 接口确认 BFD 控制数据包时,会话将进入上升状态,并开始更快地发送定期控制数据包。如果发生数据路径故障,并且 BFD 在配置的时间内未收到控制数据包,则数据路径将被声明为关闭,BFD 会通知 BFD 客户端。然后,BFD 客户端可以执行必要的操作来重新路由流量。对于不同的 BFD 客户端,此过程可能有所不同。

配置

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,然后将命令复制并粘贴到层次结构级别的 CLI [edit] 中。

设备 R1

设备 R2

程序

分步过程

以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器

要为设备 R1 上的 PIM IPv6 接口配置 BFD 活动检测,请执行以下操作:

注意:

此过程适用于设备 R1。修改相应的接口名称、地址和任何其他参数后,对设备 R2 重复此过程。

  1. 配置接口,使用语句指定 inet6 这是 IPv6 地址。

  2. 指定 PIM 协议的 BFD 身份验证算法和密钥链。

    密钥链用于将指定 PIM 路由或路由实例上的 BFD 会话与唯一安全认证密钥链属性相关联。此钥匙串名称应与在层次结构级别配置的 [edit security authentication] 钥匙串名称匹配。

    注意:

    必须在 BFD 会话的两端配置算法和钥匙串,并且它们必须匹配。配置中的任何不匹配都会阻止创建 BFD 会话。

  3. 配置路由实例(此处为 instance1),指定 BFD 身份验证并关联安全身份验证算法和钥匙串。

  4. 指定 BFD 会话的唯一安全身份验证信息:

    • 步骤 2 中指定的匹配钥匙串名称。

    • 至少一个键,即 介于 063 之间的唯一整数。创建多个密钥允许多个客户端使用 BFD 会话。

    • 用于允许访问会话的机密数据。

    • 身份验证密钥变为活动状态的时间,格式为 YYYY-MM-DD.hh:mm:ss

结果

通过发出 show interfacesshow protocolsshow routing-instancesshow security 命令来确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

验证

确认配置工作正常。

验证 BFD 会话

目的

验证是否启用了 BFD 活动检测。

行动
意义

命令显示 show pim neighbors detail 的显示显示 BFD:已启用、操作状态:Up,指示 BFD 正在两个 PIM 邻接方之间运行。有关 BFD 会话的其他信息(包括会话 ID 号),请使用 show bfd session extensive 命令。

更改历史记录表

功能支持由您使用的平台和版本决定。使用 功能资源管理器 确定您的平台是否支持某个功能。

释放
描述
9.6
从 Junos OS 9.6 版开始,Junos OS 支持对通过 PIM 运行的 BFD 会话进行身份验证。BFD 身份验证仅在加拿大和美国版本的 Junos OS 映像中受支持,在导出版本中不可用。
9.6
从 Junos OS 9.6 版开始,您可以为通过协议无关组播 (PIM) 运行的双向转发检测 (BFD) 会话配置身份验证。还支持路由实例。