Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

配置 SNMPv3

运行 Junos OS 的设备上的最低 SNMPv3 配置

要配置 SNMPv3 的最低要求,请在 [edit snmp v3] 层级和 [edit snmp] 层级添加以下语句:

注:

您必须在层次结构级别至少配置一个视图(通知、读取或写入 [edit snmp view-name] )。

示例:SNMPv3 配置

定义 SNMPv3 配置:

创建 SNMPv3 用户

对于每个 SNMPv3 用户,您可以指定用户名、身份验证类型、身份验证密码、隐私类型和隐私密码。用户输入密码后,将生成基于引擎 ID 和密码的密钥,并将其写入配置文件。生成密钥后,将从此配置文件中删除密码。

注:

您只能为每个 SNMPv3 用户配置一种加密类型。

要创建用户,请将语句user[edit snmp v3 usm local-engine]包含在层次结构级别:

username 是标识 SNMPv3 用户的名称。

要配置用户身份验证和加密,请在层次结构级别添加以下语句 [edit snmp v3 usm local-engine user username]

示例:创建 SNMPv3 用户

定义 SNMPv3 用户:

配置 SNMPv3 身份验证类型

默认情况下,在 Junos OS 配置中,SNMPv3 身份验证类型设置为 none。

本主题包含以下部分:

配置 MD5 身份验证

要将消息摘要算法 (MD5) 配置为 SNMPv3 用户的身份验证类型,请在 authentication-md5 层级添加语句 [edit snmp v3 usm local-engine user username]

authentication-password 是生成用于身份验证的密钥的密码。

SNMPv3 在路由器或交换机上创建纯文本密码时有特殊要求:

  • 密码长度必须至少为 8 个字符。

  • 密码可以包含字母、数字和特殊字符,但不能包含控制字符。

配置 SHA 身份验证

您可以将以下安全散列算法 (SHA) 配置为 SNMPv3 用户的身份验证类型:

  • authentication-sha

  • authentication-sha224

  • authentication-sha256

要将安全散列算法 (SHA) 配置为 SNMPv3 用户的身份验证类型,请在 authentication-sha层次结构级别添加 , authentication-sha224authentication-sha256 语句 [edit snmp v3 usm local-engine user username]

authentication-password 是生成用于身份验证的密钥的密码。

SNMPv3 在路由器或交换机上创建纯文本密码时有特殊要求:

  • 密码长度必须至少为 8 个字符。

  • 密码可以包含字母、数字和特殊字符,但不能包含控制字符。

配置无身份验证

要为 SNMPv3 用户配置不进行身份验证,请在 authentication-none 层级添加语句 [edit snmp v3 usm local-engine user username]

配置 SNMPv3 加密类型

默认情况下,加密设置为 none。

注:

配置加密之前,必须配置 MD5 或 SHA 身份验证。

本主题包含以下部分:

配置高级加密标准算法

要为 SNMPv3 用户配置高级加密标准 (AES) 算法,请在层次结构级别添加[edit snmp v3 usm local-engine user username]语句privacy-aes128

privacy-password 是生成用于加密的密钥的密码。

SNMPv3 在路由器或交换机上创建纯文本密码时有特殊要求:

  • 密码长度必须至少为 8 个字符。

  • 密码可以包含字母、数字和特殊字符,但不能包含控制字符。

配置数据加密算法

要为 SNMPv3 用户配置数据加密算法 (DES),请在 privacy-des 层级添加语句 [edit snmp v3 usm local-engine user username]

privacy-password 是生成用于加密的密钥的密码。

SNMPv3 在路由器或交换机上创建纯文本密码时有特殊要求:

  • 密码长度必须至少为 8 个字符。

  • 密码可以包含字母、数字和特殊字符,但不能包含控制字符。

配置三重 DES

要为 SNMPv3 用户配置三重 DES,请在 privacy-3des 层级添加语句 [edit snmp v3 usm local-engine user username]

privacy-password 是生成用于加密的密钥的密码。

SNMPv3 在路由器或交换机上创建纯文本密码时有特殊要求:

  • 密码长度必须至少为 8 个字符。

  • 密码可以包含字母、数字和特殊字符,但不能包含控制字符。

配置无加密

要为 SNMPv3 用户配置不加密,请在 privacy-none 层级添加语句 [edit snmp v3 usm local-engine user username]

定义 SNMP 组的访问权限

SNMP 版本 3 (SNMPv3) 使用基于视图的访问控制模型 (VACM),允许您配置授予组的访问权限。通过预定义的视图过滤可用于特定操作的 MIB 对象来控制访问。您可以分配视图,以确定在特定上下文、特定安全模型(v1、v2c 或 usm) 以及特定安全级别(经过身份验证、隐私或无)时对特定组的读取、写入和通知操作可见的对象。有关如何配置视图的信息,请参阅 配置 MIB 视图

您可以在层次结构级别定义用户访问管理信息 [edit snmp v3 vacm] 。VACM 中的所有访问控制都对组(USM 定义的用户集合)或 SNMPv1 和 SNMPv2c 安全模型中定义的社区字符串进行操作。security-name术语是指这些通用最终用户。特定安全名称所属的组在 [edit snmp v3 vacm security-to-group] 层次结构级别上配置。该安全名称可与在层次结构级别上定义的 [edit snmp v3 vacm security-to-group] 组相关联。一个组标识共享相同访问策略的 SNMP 用户集合。然后,您可以在层级定义与一个组 [edit snmp v3 vacm access] 关联的访问权限。访问权限是使用视图定义的。您可以针对每个组应用不同的视图,具体取决于 SNMP 操作;例如,读(getgetNextgetBulk)写 (set)、通知、使用的安全级别(身份验证、隐私或无)以及 SNMP 请求中使用的安全模型(v1、v2c 或 usm)。

您可以使用语句配置组 security-name 的成员。对于使用 USM 的 v3 数据包,安全名称与用户名相同。对于 SNMPv1 或 SNMPv2c 数据包,安全名称基于社区字符串确定。安全名称特定于安全模型。如果同时要为 SNMPv1 或 SNMPv2c 数据包配置 VACM 访问策略,则必须为层次结构级别的每个安全模型(SNMPv1 或 SNMPv2c) [edit snmp v3 vacm security-to-group] 分配安全名称。您还必须将安全名称与层级的 [edit snmp v3 snmp-community community-index] SNMP 社区相关联。

要配置 SNMP 组的访问权限,请在层次结构级别添加语句 [edit snmp v3 vacm]

配置授予组的访问权限

本主题包含以下部分:

配置组

要配置授予组的访问权限,请在 group 层次结构级别添加语句 [edit snmp v3 vacm access]

group-name 是属于定义访问策略的通用 SNMP 列表的 SNMP 用户的集合。属于特定 SNMP 组的用户将继承授予该组的所有访问权限。

配置安全模型

要配置安全模型,请在 security-model 层级添加语句 [edit snmp v3 vacm access group group-name (default-context-prefix | context-prefix context-prefix)]

  • any— 任何安全模型

  • usm—SNMPv3 安全模型

  • v1—SNMPV1 安全模型

  • v2c—SNMPv2c 安全模型

配置安全级别

要配置授予具有特定安全级别的数据包的访问权限,请在层次结构级别添加语句security-level[edit snmp v3 vacm access group group-name (default-context-prefix | context-prefix context-prefix) security-model (any | usm | v1 | v2c)]

  • none-不提供身份验证和加密。

  • authentication- 提供身份验证,但不加密。

  • privacy- 提供身份验证和加密。

    注:

    安全级别等于或高于配置级别的所有数据包都会获得访问权限。如果要配置 SNMPv1 或 SNMPv2c 安全模型,请使用 none 作为您的安全级别。如果要配置 SNMPv3 安全模型 (USM),请使用 authenticationnoneprivacy 安全级别。

将 MIB 视图与 SNMP 用户组相关联

MIB 视图定义组成员的访问权限。可以为 SNMP 支持的每种安全模型(usm、v1 和 v2c)内以及每个安全级别(身份验证、无和隐私)内的每个 SNMP 操作(读取、写入和通知)应用单独的视图。

要将 MIB 视图与 SNMP 用户组相关联,在层次结构级别使用以下语句 [edit snmp v3 vacm access group group-name (default-context-prefix | context-prefix context-prefix) security-model (any | usm | v1 | v2c) security-level (authentication | none | privacy)]

注:

您必须在层次结构级别至少关联一个视图(通知、读取或写入 [edit snmp v3 vacm access group group-name (default-context-prefix | context-prefix context-prefix) security-model (any | usm | v1 | v2c) security-level (authentication | none | privacy)] )。

您必须在层次结构级别配置 MIB 视图 [edit snmp view view-name] 。有关如何配置 MIB 视图的信息,请参阅 配置 MIB 视图

本节介绍与此配置相关的以下主题:

配置通知视图

要使通知访问与 SNMP 用户组相关联,请在 notify-view 层次结构级别包含语句 [edit snmp v3 vacm access group group-name (default-context-prefix | context-prefix context-prefix) security-model (any | usm | v1 | v2c) security-level (authentication | none | privacy)]

view-name 指定通知访问,这是可发送至 SNMP 组中每个用户的通知列表。视图名称不能超过 32 个字符。

配置读取视图

要将读取视图与 SNMP 组相关联,请将语句read-view[edit snmp v3 vacm access group group-name (default-context-prefix | context-prefix context-prefix) security-model (any | usm | v1 | v2c) security-level (authentication | none | privacy)]包含在层次结构级别:

view-name 为 SNMP 用户组指定读取访问权限。视图名称不能超过 32 个字符。

配置写视图

要将写视图与 SNMP 用户组相关联,请在 write-view 层级添加语句 [edit snmp v3 vacm access group group-name (default-context-prefix | context-prefix context-prefix) security-model (any | usm | v1 | v2c) security-level (authentication | none | privacy)]

view-name 为 SNMP 用户组指定写访问权限。视图名称不能超过 32 个字符。

示例:配置授予组的访问权限

定义访问权限:

为组分配安全模型和安全名称

要为组分配安全名称,在层次结构级别使用以下语句 [edit snmp v3 vacm security-to-group]

本主题包含以下部分:

配置安全模型

要配置安全模型,请在 security-model 层级添加语句 [edit snmp v3 vacm security-to-group]

  • usm—SNMPv3 安全模型

  • v1—SNMPv1 安全模型

  • v2c—SNMPv2 安全模型

为组分配安全名称

要将安全名称与 SNMPv3 用户或 v1 或 v2 社区字符串相关联,请将语句security-name[edit snmp v3 vacm security-to-group security-model (usm | v1 | v2c)]包含在层次结构级别:

对于 SNMPv3, security-name 是在层级配置的 [edit snmp v3 usm local-engine user username] 用户名。对于 SNMPv1 和 SNMPv2c,安全名称是在层级配置 [edit snmp v3 snmp-community community-index] 的社区字符串。有关配置用户名的信息,请参阅 创建 SNMPv3 用户。有关配置社区字符串的信息,请参阅 配置 SNMPv3 社区

注:

USM 安全名称与 SNMPv1 和 SNMPv2c 安全名称分离。如果除 SNMPv3 外还支持 SNMPv1 和 SNMPv2c,则必须在层次结构级别的安全到组配置 [edit snmp v3 vacm access] 中配置单独的安全名称。

配置组

创建 SNMPv3 用户或 v1 或 v2 安全名称后,将其与一个组相关联。组是属于特定安全模型的一组安全名称。一个组定义属于该组的所有用户的访问权限。访问权限定义可以读取、写入或创建哪些 SNMP 对象。一个组还定义了允许用户接收哪些通知。

如果您已有一个配置了要为用户提供的所有视图和访问权限的组,则可以将用户添加到该组。如果您希望为其他组提供的用户视图和访问权限,或者您未配置任何组,请创建一个组并将用户添加到其中。

要配置授予组的访问权限,请在 group 层次结构级别添加语句 [edit snmp v3 vacm security-to-group security-model (usm | v1 | v2c) security-name security-name]

group-name 标识共享相同访问策略的 SNMP 安全名称集合。有关组的更多信息,请参阅 定义 SNMP 组的访问权限

示例:安全组配置

为组分配安全名称:

在运行 Junos OS 的设备上配置 SNMPv3 陷阱

在 SNMPv3 中,您可以通过配置 notifytarget-address和参数来创建陷阱并 target-parameters 通知信息。陷阱是未经确认的通知,而通知是已确认的通知。本节介绍如何配置 SNMP 陷阱。有关配置 SNMP 通知的信息,请参阅 配置 SNMP 通知

目标地址定义了管理应用程序的地址以及要用于发送通知的参数。目标参数定义向特定管理目标发送通知时使用的消息处理和安全参数。SNMPv3 还允许您定义 SNMPv1 和 SNMPv2c 陷阱。

注:

配置 SNMP 陷阱时,请确保您配置的访问权限允许发送陷阱。访问权限配置在 [edit snmp v3 vacm access] 层级和 [edit snmp v3 vacm security-to-group] 层级。

要配置 SNMP 陷阱,请在层次结构级别使用以下语句 [edit snmp v3]

配置 SNMPv3 陷阱通知

notify 语句指定通知类型(trap),并包含一个标记。该标记定义一组要接收陷阱的目标地址。标记列表包含一个或多个标记,在 [edit snmp v3 target-address target-address-name] 层次结构级别进行配置。如果标记列表包含此标记,Junos OS 会向与此标记关联的所有目标地址发送通知。

要配置陷阱通知,请在 notify 层级添加语句 [edit snmp v3]

name 是分配给通知的名称。

tag-name 定义此通知发送到的目标地址。此通知会发送到标记列表中具有此标记的所有目标地址。通知 tag-name 中不包含。

trap 通知类型。

注:

每个通知条目名称都必须唯一。

Junos OS 支持两种类型的通知:trapinform

有关如何配置标记列表的信息,请参阅 配置陷阱目标地址

示例:配置 SNMPv3 陷阱通知

指定三组发送陷阱的目标:

配置陷阱通知过滤器

SNMPv3 使用通知过滤器定义将哪些陷阱(或从哪些陷阱的对象)发送到网络管理系统 (NMS)。陷阱通知过滤器可限制发送至 NMS 的陷阱类型。

每个对象标识符都表示 MIB 对象层次结构的一个子树。子树可以由一系列点状整数(如 1.3.6.1.2.1.2)或子树名称(如 interfaces)表示。您还可以使用对象标识符 (OID) 中的通配符字符星号 (*) 来指定与特定模式匹配的对象标识符。

要配置陷阱通知过滤器,请在 notify-filter 层级添加语句 [edit snmp v3]

profile-name 是分配给通知过滤器的名称。

默认情况下,OID 设置为 include。要定义对陷阱(或陷阱对象)的访问,请将语句 oid 包含在 [edit snmp v3 notify-filter profile-name] 层次结构级别:

oid 是对象标识符。此语句表示的所有 MIB 对象均将指定的 OID 作为前缀。它可以由一个点整数序列指定,也可以由子树名称指定。

  • include- 包括由指定 OID 表示的 MIB 对象的子树。

  • exclude- 排除由指定 OID 表示的 MIB 对象的子树。

配置陷阱目标地址

目标地址定义管理应用程序的地址以及用于发送通知的参数。它还可以识别允许使用特定社区字符串的管理站。收到带有已识别社区字符串的数据包并与该标记相关联时,Junos OS 会使用此标记查找所有目标地址,并验证此数据包的源地址是否与已配置的目标地址之一匹配。

注:

配置 SNMP 社区时,必须配置地址掩码。

要指定将陷阱发送到何处并定义允许哪些 SNMPv1 和 SNMPv2cc 数据包,请在 target-address 层次结构级别包含语句 [edit snmp v3]

target-address-name 是标识目标地址的字符串。

要配置目标地址属性,请在层级添加以下语句 [edit snmp v3 target-address target-address-name]

与 SNMP v2 不同,在 SNMPv3 中,没有限制入站轮询的配置选项。但是,您可以通过创建允许来自监控系统 IP 的 SNMP 的规则来配置 lo0 过滤器以限制入站轮询。例如:

配置地址

要配置地址,请在 address 层级添加语句 [edit snmp v3 target-address target-address-name]

address 是 SNMP 目标地址。

配置地址掩码

地址掩码可以指定一组允许使用社区字符串的地址,并验证一组目标地址的源地址。

要配置地址掩码,请在 address-mask 层级添加语句 [edit snmp v3 target-address target-address-name]

address-mask 与地址组合定义一个地址范围。有关如何配置社区字符串的信息,请参阅 配置 SNMPv3 社区

配置端口

默认情况下,UDP 端口设置为 162。要配置不同的端口号,请在 port 层级添加语句 [edit snmp v3 target-address target-address-name]

port-number 是 SNMP 目标端口号。

配置路由实例

陷阱通过默认路由实例发送。要配置用于发送陷阱的路由实例,请在 routing-instance 层级添加语句 [edit snmp v3 target-address target-address-name]

instance 是路由实例的名称。要配置逻辑系统中的路由实例,请指定逻辑系统名称,后跟路由实例名称。使用斜杠 ( / ) 分隔两个名称(例如 test-lr/test-ri)。要配置逻辑系统上的默认路由实例,请指定逻辑系统名称, default 后跟(例如 test-lr/default)。

配置陷阱目标地址

每个 target-address 语句的标记列表中都可以配置一个或多个标记。每个标记都可以显示在多个标记列表中。当网络设备上发生重大事件时,标记列表将标识通知发送到的目标。

要配置标记列表,请在 tag-list 层级添加语句 [edit snmp v3 target-address target-address-name]

tag-list 将一个或多个标记指定为用双引号括起来的空格分隔列表。

有关标记列表配置的示例,请参阅 示例:配置标记列表

有关如何在 [edit snmp v3 notify notify-name] 层次结构级别指定标记的信息,请参阅 配置 SNMPv3 陷阱通知

注:

配置 SNMP 陷阱时,请确保您配置的访问权限允许发送陷阱。在 [edit snmp v3 vacm access] 层次结构级别配置访问权限。

应用目标参数

层级 target-parameters[edit snmp v3] 语句将应用在层级配置 [edit snmp v3 target-parameters target-parameters-name] 的目标参数。

要引用配置的目标参数,请将语句target-parameters[edit snmp v3 target-address target-address-name]包含在层次结构级别:

target-parameters-name 是与向特定管理目标发送通知时使用的消息处理和安全参数相关联的名称。

示例:配置标记列表

在以下示例中,在层次结构级别定义了[edit snmp v3 notify notify-name]两个标记条目 (router1router2)。当事件触发通知时,Junos OS 会向目标地址标记列表中已 router1 拥有或 router2 配置的所有目标地址发送一个陷阱。这导致前两个目标每个获得一个陷阱,第三个目标得到两个陷阱。

定义和配置陷阱目标参数

目标参数定义向特定管理目标发送通知时使用的消息处理和安全参数。

要定义一组目标参数,请将语句 target-parameters 包含在 [edit snmp v3] 层次结构级别:

target-parameters-name 是分配给目标参数的名称。

要配置目标参数属性,请在层级添加以下语句 [edit snmp v3 target-parameters target-parameter-name]

注:

在 MX 系列路由器上为订阅者安全策略配置 SNMP 陷阱通知时,必须按如下配置参数:

  • 消息处理模型: v3

  • 安全级别: privacy

  • 安全模型: usm

有关配置订阅者安全策略的更多信息,请参阅 订阅者安全策略概述

本主题包含以下部分:

应用陷阱通知过滤器

要应用陷阱通知过滤器,请将语句 notify-filter 包含在 [edit snmp v3 target-parameters target-parameter-name] 层次结构级别:

profile-name 是配置的通知过滤器的名称。有关配置通知过滤器的信息,请参阅 配置陷阱通知过滤器

配置目标参数

要配置目标参数属性,请在层级添加以下语句 [edit snmp v3 target-parameters target-parameter-name parameters]

本节包含以下主题:

配置消息处理模型

消息处理模型定义在生成 SNMP 通知时使用哪个版本的 SNMP。要配置消息处理模型,请在 message-processing-model 层级添加语句 [edit snmp v3 target-parameters target-parameter-name parameters]

  • v1—SNMPv1 消息处理模型

  • v2c—SNMPv2c 消息处理模型

  • v3—SNMPV3 消息处理模型

注:

v3 MX 系列路由器上的订阅者安全策略需要消息处理模型。有关更多信息 ,请参阅订阅者安全策略概述

配置安全模型

要定义生成 SNMP 通知时使用的安全模型,请将语句 security-model 包含在 [edit snmp v3 target-parameters target-parameter-name parameters] 层次结构级别:

  • usm—SNMPv3 安全模型

  • v1—SNMPv1 安全模型

  • v2c—SNMPv2c 安全模型

注:

MX usm 系列路由器上的订阅者安全策略需要安全模型。有关更多信息 ,请参阅订阅者安全策略概述

配置安全级别

语句 security-level 指定在发送陷阱之前是否经过身份验证和加密。

要配置生成 SNMP 通知时使用的安全级别,请在 security-level 层次结构级别添加语句 [edit snmp v3 target-parameters target-parameter-name parameters]

  • authentication- 提供身份验证,但不加密。

  • none— 没有安全性。不提供身份验证和加密。

  • privacy- 提供身份验证和加密。

    注:

    如果要配置 SNMPv1 或 SNMPV2c 安全模型,请使用 none 作为安全级别。如果要配置 SNMPv3 (USM) 安全模型,请使用 authenticationprivacy 安全级别。

    MX privacy 系列路由器上的订阅者安全策略需要安全级别。有关更多信息 ,请参阅订阅者安全策略概述

配置安全名称

要配置生成 SNMP 通知时使用的安全名称,请在 security-name 层次结构级别添加语句 [edit snmp v3 target-parameters target-parameter-name parameters]

如果使用 USM 安全模型,则 security-name 标识生成通知时使用的用户。如果使用了 v1 或 v2c 安全模型, security-name 则标识生成通知时使用的 SNMP 社区。

注:

与安全名称关联的组的访问权限必须允许发送此通知。

如果使用 v1 或 v2 安全模型,则层次结构级别的安全名称 [edit snmp v3 vacm security-to-group] 必须与层级的安全名称 [edit snmp v3 snmp-community community-index] 匹配。

配置 SNMP 通知

Junos OS 支持两种类型的通知:陷阱和通知。使用陷阱时,接收器在收到陷阱时不会发送任何确认。因此,发件人无法确定是否收到了陷阱。由于传输过程中出现问题,陷阱可能会丢失。为了提高可靠性,通知类似于“陷阱”,只是通知会定期存储和重新传输,直到出现以下任一情况:

  • 通知的接收方(目标)向 SNMP 代理返回确认。

  • 已尝试指定数量的未成功重新传输,并且代理丢弃通知消息。

如果发件人始终未收到回复,则可以再次发送通知。因此,通知比陷阱更有可能到达其预期目的地。通知使用与陷阱(相同套接字和端口)相同的通信通道,但具有不同的协议数据单元 (PDU) 类型。

通知比陷阱更可靠,但它们会消耗更多的网络、路由器和交换机资源(请参阅 图 1)。与陷阱不同,通知会保留在内存中,直到收到响应或达到超时。此外,陷阱仅发送一次,而通知可能会重新尝试多次。当 SNMP 管理器收到所有通知很重要时,使用通知。但是,如果您更关心网络流量、路由器和交换机内存,请使用陷阱。

图 1: 通知请求和响应通知请求和响应

配置通知类型和目标地址

要配置通知类型和目标信息,请在层次结构级别添加以下语句 [edit snmp v3]

notify name 是分配给通知的名称。每个通知条目名称都必须唯一。

tag tag-name 定义发送此通知的目标地址。通知将发送到标记列表中具有此标记的所有目标地址。通知 tag-name 中不包含。有关如何配置标记列表的信息,请参阅 配置陷阱目标地址

type inform 通知类型。

target-address target-address-name 标识目标地址。目标地址定义管理应用程序的地址以及用于响应通知的参数。

timeout seconds 是等待确认的秒数。如果在超时期限内未收到确认,则会重新传输通知。默认超时为 15 秒。

retry-count number 是未收到确认时传输通知的最大次数。默认值为 3。如果通知在传输最大次数后未收到确认,则通知消息将被丢弃。

message-processing-model 定义生成 SNMP 通知时要使用哪个版本的 SNMP。通知需要消息 v3 处理模型。

security-model 定义生成 SNMP 通知时使用的安全模型。通知需要安全 usm 模型。

security-model 定义生成 SNMP 通知时使用的安全模型。通知需要安全 usm 模型。

security-level 指定在发送通知之前是否经过身份验证和加密。usm对于安全模型,安全级别必须为以下之一:

  • authentication- 提供身份验证,但不加密。

  • privacy- 提供身份验证和加密。

security-name 标识生成通知时使用的用户名。

示例:配置通知类型和目标地址

在以下示例中,目标 172.17.20.184 配置为响应通知。通知超时为 30 秒,最大重新传输计数为 3。通知将发送到 tl1 列表中的所有目标。远程用户的安全模型为 usm,远程引擎用户名为 u10。

配置远程引擎和远程用户

要向远程设备上的 SNMPv3 用户发送通知消息,必须先为用户所在的远程设备上为 SNMP 代理指定引擎标识符。远程引擎 ID 用于计算安全摘要,以便对发送至远程主机上用户的数据包进行验证和加密。发送通知消息时,代理将使用在远程引擎上配置的用户凭据(通知目标)。

要配置远程引擎和远程用户以接收和响应 SNMP 通知,请在层次结构级别添加以下语句 [edit snmp v3]

remote-engine engine-id通知是用户所驻留的远程设备上的 SNMP 代理的标识符。

对于通知, user username 是接收通知的远程 SNMP 引擎上的用户。

生成的通知可以是 unauthenticatedauthenticatedauthenticated_and_encrypted,具体取决于在远程引擎(通知接收器)上配置的 SNMPv3 用户的安全级别。身份验证密钥用于生成消息认证代码 (MAC)。密钥用于对消息的通知 PDU 部分进行加密。

示例:配置远程引擎 ID 和远程用户

此示例说明如何配置远程引擎和远程用户,以便接收和响应 SNMP 通知。通知通知可以进行身份验证和加密。它们也比陷阱更可靠,这是 Junos OS 支持的另一种类型的通知。与陷阱不同,通知通知会定期存储和重新传输,直到出现以下任一情况:

  • 通知通知的目标向 SNMP 代理返回确认。

  • 已尝试指定数量的重新传输失败。

要求

配置此示例之前,不需要除设备初始化之外的特殊配置。

此功能需要使用适用于 SNMPv3 的纯文本密码。SNMPv3 在路由器或交换机上创建纯文本密码时具有以下特殊要求:

  • 密码长度必须至少为 8 个字符。

  • 密码可以包含字母、数字和特殊字符,但不能包含控制字符。

虽然密码并不总是需要引号来括起来,但最好使用引号。如果密码包含任何空格,或者可能是某些特殊字符或标点符号,则需要引号。

概述

SNMPv3 中支持通知以提高可靠性。例如,接收通知的 SNMP 代理会确认收到通知。

对于通知,远程引擎 ID 标识用户所在的远程设备上的 SNMP 代理,用户名用于识别接收通知的远程 SNMP 引擎上的用户。

考虑一个场景,在此示例中, 表 1 有要使用的值来配置远程引擎 ID 和远程用户。

表 1: 示例中使用的值

变量名称

价值

用户

u10

远程引擎 ID

800007E5804089071BC6D10A41

认证类型

authentication-md5

认证密码

qol67R%?

加密类型

privacy-des

隐私密码

m*72Jl9v

配置

CLI 快速配置

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

配置远程引擎和远程用户

逐步过程

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

要配置远程引擎 ID 和远程用户:

  1. 配置远程引擎 ID、用户名以及身份验证类型和密码。

  2. 配置加密类型和隐私密码。

    每个 SNMPv3 用户只能配置一种加密类型。

结果

在配置模式下,输入命令以确认 show 您的配置。如果输出未显示预期的配置,请重复此示例中的说明,以更正配置。

确认配置正确后,从配置模式进入 commit

验证

验证远程引擎 ID 和用户名的配置

目的

验证引擎 ID 的状态和用户信息。

行动

显示有关 SNMPv3 引擎 ID 和用户的信息。

含义

输出显示以下信息:

  • 本地引擎 ID 和有关引擎的详细信息

  • 远程引擎 ID(已 Engine ID标记)

  • 用户名

  • 为用户配置的身份验证类型和加密(隐私)类型

  • 用户名的存储类型,非易失性(已保存配置)或易失性(未保存)

  • 新用户的状态;只有具有活动状态的用户才能使用 SNMPv3

配置本地引擎 ID

默认情况下,本地引擎 ID 使用路由器的默认 IP 地址。本地引擎 ID 是 SNMPv3 引擎的管理唯一标识符。此语句可选。要配置本地引擎 ID,请在 engine-id 层级添加语句 [edit snmp]

  • local engine-id-suffix-已显式配置引擎 ID 后缀。

  • use-default-ip-address-引擎 ID 后缀从默认 IP 地址生成。

  • use-mac-address—SNMP 引擎标识符从路由器上管理接口的媒体接入控制 (MAC) 地址生成。

注:

如果您使用 SNMPv3,并且引擎 ID 基于 MAC 地址,并且从早期版本升级到其中一个版本 (14.1X53-D50, 16.1R5、17.1R2、17.2R1、15.1X53-D231、14.1X53-D43、15.1X53-D232),因为引擎 ID 会因升级而更改,因此必须重新配置 SNMPv3。如果不重新配置 SNMPv3,您将看到 SNMPv3 轮询身份验证错误,因为升级后会更改引擎 ID。您只需在第一次此类升级时重新配置 SNMPv3。如果随后从上述某个版本升级到这些版本中的另一个版本,则不必再次升级 SNMPv3。

要重新配置 SNMPv3,请使用以下过程。请勿使用 rollback 1 命令。

要重新配置 SNMPv3:

  1. 检查 SNMPv3 配置是什么。
  2. 删除 SNMPv3 配置。
  3. 重新配置 SNMPv3 配置(请参阅步骤 1 中的输出)。

本地引擎 ID 被定义为 SNMPv3 引擎的管理唯一标识符,用于识别,而非用于寻址。引擎 ID 有两个部分:前缀和后缀。前缀的格式按照 RFC 3411 描述 简单网络管理协议 (SNMP) 管理框架的架构中定义的规范进行格式化。您可以在此处配置后缀。

注:

SNMPv3 身份验证和加密密钥会基于关联密码和引擎 ID 生成。如果配置或更改引擎 ID,必须先提交新引擎 ID,然后才能配置 SNMPv3 用户。否则,从配置的密码生成的密钥将基于之前的引擎 ID。对于引擎 ID,如果设备具有多个路由引擎并配置了主 IP 地址,我们建议使用设备的主 IP 地址。或者,如果设备只有一个路由引擎,则可以使用管理端口的 MAC 地址。

配置 SNMPv3 社区

SNMP 社区定义了 SNMP 服务器系统和客户端系统之间的关系。此语句可选。

要配置 SNMP 社区,请在 snmp-community 层级添加语句 [edit snmp v3]

community-index 是 SNMP 社区的索引。

要配置 SNMP 社区属性,请在层级添加以下语句 [edit snmp v3 snmp-community community-index]

本节包含以下主题:

配置社区名称

社区名称定义 SNMP 社区。SNMP 社区对 SNMPv1 或 SNMPv2c 客户端进行授权。与配置的安全名称关联的访问权限定义哪些 MIB 对象可用以及允许对这些对象执行操作(读、写或通知)。

要配置 SNMP 社区名称,请在 community-name 层级添加语句 [edit snmp v3 snmp-community community-index]

community-name 是 SNMPv1 或 SNMPv2c 社区的社区字符串。

如果未配置,则与社区索引相同。

如果社区名称包含空格,请用引号 (“ ”) 括起来。

注:

社区名称必须唯一。您不能在 [edit snmp community][edit snmp v3 snmp-community community-index] 层级配置相同的社区名称。在层次结构级别上 [edit snmp v3 snmp-community community-index] 配置的社区名称已加密。配置好社区名称并提交更改后,您无法查看该社区名称。在命令行界面 (CLI) 中,社区名称被隐藏。

配置环境

SNMP 上下文定义了一组可供 SNMP 实体访问的管理信息。通常,SNMP 实体可以访问多个上下文。上下文可以是物理或逻辑系统、多个系统的集合,甚至是系统的子集。管理域中的每个上下文都有一个唯一标识符。

要配置 SNMP 上下文,请在 context context-name 层级添加语句 [edit snmp v3 snmp-community community-index]

注:

要查询路由实例或逻辑系统,

配置安全名称

要为安全名称分配社区字符串,请将语句security-name[edit snmp v3 snmp-community community-index]包含在层次结构级别:

security-name 在设置访问控制时使用。层次结构 security-to-group 级别的配置 [edit snmp v3 vacm] 标识该组。

注:

此安全名称必须与配置陷阱时在 [edit snmp v3 target-parameters target-parameters-name parameters] 层级配置的安全名称匹配。

配置标记

要配置标记,请在 tag 层级添加语句 [edit snmp v3 snmp-community community-index]

tag-name 标识允许使用社区字符串的管理器的地址。

示例:配置 SNMPv3 社区

此示例说明如何配置 SNMPv3 社区。

要求

配置此示例之前,不需要除设备初始化之外的特殊配置。

概述

此示例演示了如何创建 SNMPv3 社区。定义 SNMP 社区名称,指定执行访问控制的安全名称,以及定义标记名称,用于标识允许使用社区字符串的管理器的地址。目标地址定义管理应用程序的地址以及用于发送通知的参数。

当设备收到带有已识别社区字符串的数据包并与该数据包关联时,Junos 软件会使用此标记查找所有目标地址,并验证此数据包的源地址是否与已配置的目标地址之一匹配。

指定您希望将陷阱发送到何处,并定义允许哪些 SNMPv1 和 SNMPv2c 数据包。指定用于识别目标地址的目标地址名称,定义目标地址、地址掩码范围、端口号、标记列表和目标参数。

配置

CLI 快速配置

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

程序

逐步过程

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

  1. 配置 SNMP 社区名称。

    注:

    SNMP 社区名称必须唯一。

  2. 配置安全名称以执行访问控制。

  3. 定义标记名称。标记名称标识允许使用社区字符串的管理器的地址。

  4. 配置 SNMP 目标地址。

  5. 为社区字符串访问控制配置地址的掩码范围。

  6. 配置 SNMPv3 目标端口号。

  7. 配置 SNMPv3 标记列表以选择目标地址。

  8. 在目标参数表中配置 SNMPv3 目标参数名称。

结果

在配置模式下,输入命令以确认 show snmp v3 您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明。

验证

验证 SNMPv3 社区

目的

验证是否启用了 SNMPv3 社区。

行动

要验证 SNMPv3 社区配置,请输入 show snmp v3 community 命令。如果输出未显示预期的配置,请重复此示例中的说明,以更正配置。

含义

输出显示有关系统上启用 SNMPv3 社区的信息。