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 是指由于已达到接口最大队列大小限制而未服务的邻接方发现请求数。