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 具有特殊要求:

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

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

配置 SHA 身份验证

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

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

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

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

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

不配置身份验证

要为 SNMPv3 用户配置无身份验证,请将authentication-none语句包含在[edit snmp v3 usm local-engine user username]层次结构级别:

配置 SNMPv3 加密类型

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

注:

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

privacy-des在配置privacy-3desprivacy-aes128语句之前,您必须安装jcrypto程序包,然后重新启动 SNMP 进程或重新启动路由器。

本主题包括以下几节:

配置高级加密标准算法

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

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

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

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

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

配置数据加密算法

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

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

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

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

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

配置三重 DES

要为 SNMPv3 用户配置三重 DES,请将privacy-3des语句包含在[edit snmp v3 usm local-engine user username]层次结构级别:

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

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

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

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

不配置加密

要为 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 操作应用不同的视图;例如,读取 ( 、 或 ) 写入 ( )、通知、所使用的安全级别(认证、隐私或无)以及 SNMP 请求中使用的安全模式 getgetNextgetBulkset (v1、v2c 或 usm)。

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

要配置 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 视图定义组成员的访问权限。可为每个安全模型(usm、v1 和 v2c)内的每个 SNMP 操作("读取"、"写入" 和 "通知")应用单独的视图,并且 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)]层次结构级别至少关联一个视图(通知、读取或写入)。

您必须在[edit snmp view view-name]层次结构级别上配置 MIB 视图。有关如何配置 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-addresstarget-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语句指定通知类型(陷阱)并包含单个标记。此标记定义一组用于接收陷阱的目标地址。标记列表包含一个或多个标记,并在[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 使用 notify 过滤器定义将哪些陷阱(或哪些对象从哪个陷阱)发送至网络管理系统(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 中,没有配置选项可限制入站轮询。但是,您可以配置 lo0 过滤器,通过创建一个规则来允许来自监控系统 IP 的 SNMP 来限制入站轮询。例如:

配置地址

要配置地址,请将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与消息处理和用于向特定管理目标发送通知时使用的安全参数相关联的名称。

示例:配置标记列表

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

定义和配置陷阱目标参数

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

要定义一组目标参数,请将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 消息处理模式

注:

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

配置安全模型

要定义在生成 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 引擎上的用户。

根据远程引擎( unauthenticated通知authenticated接收器) authenticated_and_encrypted上配置的 SNMPv3 用户的安全级别,生成的通知可能是、或。身份验证密钥用于生成消息验证代码(MAC)。隐私密钥用于加密消息的 "通知 PDU" 部分。

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

此示例演示如何配置远程引擎和远程用户,以便您可以接收和响应 SNMP 通知通知。通知可通过身份验证和加密。它们也比陷阱更可靠,Junos OS 支持的另一种通知类型。与陷阱不同的是,通知通知按固定间隔存储和重新传输,直至出现以下情况之一:

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

  • 尝试执行指定数量的未成功重新传输。

要求

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

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

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

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

尽管不总是需要用引号将密码括起来,但最好使用双引号。如果密码中包含任何空格或某些特殊字符或标点符号,则需要用引号引起来。

概述

在 SNMPv3 中支持通知通知以提高可靠性。例如,接收通知通知的 SNMP 代理将确认该回执。

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

考虑在此示例中配置远程引擎 ID 和表 1远程用户时使用其中的值的情况。

表 1: 示例中要使用的值

变量名称

名称

u10

远程引擎 ID

800007E5804089071BC6D10A41

认证类型

authentication-md5

身份验证密码

qol67R%?

加密类型

隐私-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为)

  • 用户名

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

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

  • 新用户的状态;只有具有 active status 的用户才能使用 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.1 X53-D50、16.1 R5、17.2 15.1-X53、14.1 D231-X53、D43 15.1-X53),则必须重新配置 SNMPv3,因为引擎 ID由升级更改。如果不重新配置 SNMPv3,您将看到 SNMPv3 轮询的身份验证错误,因为在升级后引擎 ID 已更改。您只需要在第一次此类升级时重新配置 SNMPv3。如果您随后从其中一个所述版本升级到这些版本中的另一个,则无需再次升级 SNMPv3。

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

要重新配置 SNMPv3:

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

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

注:

将根据关联的密码和引擎 ID 生成 SNMPv3 身份验证和加密密钥。如果配置或更改引擎 ID,则在配置 SNMPv3 用户之前,必须提交新的引擎 ID。否则,从配置的密码生成的密钥基于先前的引擎 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 团体的信息。