Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

邻接方发现缓存保护

NDP 缓存保护使您能够在 IPv6 部署方案中保护路由引擎免受某些类型的拒绝服务 (DoS) 攻击。

邻接方发现缓存保护概述

在 IPv6 部署方案中,路由引擎可能容易受到某些拒绝服务 (DoS) 攻击。IPv6 子网通常非常大,例如,子 /64 网可能具有大量未分配的地址。路由引擎的控制平面对未知地址执行地址解析。攻击者可通过为此未分配的地址空间生成解析请求,迅速淹没路由引擎的控制平面,从而导致缓存溢出。攻击者依赖于生成的请求数和请求排队的速率。此类场景可能会占用路由器资源,并阻止路由引擎响应有效的邻居请求和维护现有的邻居缓存条目,从而有效地导致合法用户遭受 DoS 攻击。

缓解此类 DoS 攻击的策略如下:

  • 过滤未使用的地址空间。

  • 最小化子网的大小。

  • 为子网配置丢弃路由。

  • 对邻接方发现缓存中条目的大小和解析速率实施限制。

通过限制可添加到缓存中的 IPv6 邻接方和新的未解析下一跃点地址的数量,可以将邻接方发现缓存的影响降至最低。您可以使用和 配置nd6-new-hold-limit语句设置每个接口nd6-max-cache的限制,nd-system-cache-limit也可以使用 配置语句在系统范围内设置限制。

注意:
  • 对于 ACX、EX22XX、EX3200、EX33XX 和 SRX 等小型平台,默认值为 20,000。

  • 对于 EX4200、EX45XX、EX4300、EX62XX、QFX 和 MX 等中型平台,默认值为 75,000。

  • 对于其余平台,默认值为 100,000。

配置邻接方发现缓存保护

在 IPv6 部署方案中,路由引擎可能容易受到某些类型的拒绝服务 (DoS) 攻击。一般来说,IPv6 子网往往非常大;例如,子 /64 网可能有大量未分配的地址。路由引擎的控制平面对未知地址执行地址解析。攻击者可通过为此未分配的地址空间生成解析请求,迅速淹没路由引擎的控制平面,从而导致缓存溢出。攻击者依赖于生成的请求数量和请求排队的速度。

邻接方发现过程是实现邻接方发现协议的控制平面的一部分。它负责执行地址解析和维护邻居缓存中的条目。缓解 DoS 攻击的一种方法是对邻居发现缓存的大小和新下一跃点条目的解析速率实施限制,并确定某些类别的邻居发现流量的优先级。您可以为每个接口和整个系统配置邻接方发现缓存限制。

开始之前,请确保您运行的是 Junos OS 15.1 或更高版本。

本地限制适用于单个接口,并针对邻接方发现队列中的已解析和未解析条目进行定义,而全局限制则适用于整个系统。

要在接口上配置邻接方发现缓存保护,请执行以下作:

  1. 为接口配置 IPv6 家族。
  2. 为接口配置邻接方发现缓存的最大大小。
  3. 配置邻接方发现缓存中可附加到接口的最大未解析条目数。

要验证配置,请执行 show interfaces interface-name 作命令。

要在整个系统范围内配置邻接方发现缓存保护,请执行以下作:

  • 配置邻接方发现缓存的系统范围限制。

要验证配置的系统范围限制,请执行 show system statistics icmp6 作命令。

注意:
  • 对于 ACX、EX22XX、EX3200、EX33XX 和 SRX 等小型平台,默认值为 20,000。

  • 对于 EX4200、EX45XX、EX4300、EX62XX、QFX 和 MX 等中型平台,默认值为 75,000。

  • 对于其余平台,默认值为 100,000。

示例:配置邻接方发现缓存保护以防止拒绝服务攻击

此示例说明如何配置可添加到邻接方发现的 IPv6 邻接方条目数限制。对缓存中的条目数强制实施限制可以缓解拒绝服务 (DoS) 攻击。邻接方发现缓存功能支持两种类型的限制:

  • 本地 — 本地限制按接口配置,并为邻接方发现缓存中的已解析和未解析条目定义。

  • 全局 - 全局限制适用于整个系统。公共接口和管理接口将进一步单独定义全局限制,例如 fxp0。管理接口只有一个全局限制,没有本地限制。全局限制对邻接方发现缓存的条目强制执行系统范围的上限,包括内部路由实例的环路接口,以及管理接口和公共接口。

要求

此示例要求运行 Junos OS 15.1 或更高版本的 MX 系列路由器。

概述

在 IPv6 部署场景中,路由引擎可能容易受到某些类型的 DoS 攻击。IPv6 子网通常非常大,例如,子 /64 网可能有大量未分配的地址,可用于执行 DoS 攻击。路由引擎的控制平面对未知地址执行地址解析。攻击者可通过为此未分配的地址空间生成解析请求,迅速淹没路由引擎的控制平面,并使队列溢出。攻击者依赖于生成的请求数和请求排队的速率。

邻接方发现过程是实现邻接方发现协议的控制平面的一部分。它负责执行地址解析和维护邻居缓存。缓解 DoS 攻击的一种方法是强制限制邻居发现队列限制,这可以通过限制队列大小和解析速率以及确定某些类别的邻居发现流量的优先级来实现。

配置

要配置邻接方发现缓存保护,请执行以下任务:

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层 [edit] 级的 CLI 中,然后从配置模式进入 commit

您还可以对邻接方发现缓存中的 IPv6 邻接方条目数配置系统范围限制。此限制还包括环路接口、管理接口和公共接口。

语句对不同接口类型的限制分配nd-system-cache-limit是根据一定的固定百分比执行的。当定义为X且内部路由接口邻接方发现缓存限制为Y(默认值为 200)时nd-system-cache-limit,则:

  • 公共最大缓存限制, Z = () 的X- Y 80%

  • 管理接口 最大缓存限制(例如,fxp0), M = () 的X-Y 20%

配置邻接方发现缓存保护

分步过程

下面的示例要求您在各个配置层级中进行导航。有关 CLI 导航的信息,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器

要为每个接口配置邻接方发现缓存保护,请执行以下作:

  • 配置和 nd6-max-cache nd6-new-hold-limit

结果

要在本地确认邻接方发现缓存保护,请从配置模式输入 show interfaces ge-0/3/0 。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

验证

确认配置工作正常。

全局验证邻接方发现缓存保护

目的

验证输出是否反映了邻接方发现缓存的系统范围限制。

行动

在作模式下,运行 show system statistics icmp6 命令。

意义

对邻接方发现缓存条目强制执行的全系统上限为 100000

Management ND nexthops creation failed as mgt limit reached 指示达到系统范围限制时管理接口的丢弃计数。 Total ND nexthops creation failed as limit reached 指示管理、公共或内部路由实例接口的故障,并 Public ND nexthops creation failed as public limit reached 指示当达到系统范围的条目数限制时,公共接口的丢弃计数。

在本地验证邻接方发现缓存保护

目的

验证输出是否反映了配置的接口限制。

行动

在作模式下,运行 show interfaces ge-0/3/0 命令。

意义

可连接到接口 ge-0/3/0 的新的未解析下一跃点地址的最大总条目数和最大条目数为 100000

NH drop cnt 指由于已达到接口最大队列大小限制而未服务的邻接方发现请求数。