SNMPv3 通知
Junos OS 支持两种类型的通知:陷阱和通知。
使用陷阱时,接收方在收到陷阱时不会发送任何确认。因此,发件人无法确定是否已收到陷阱。由于传输过程中出现问题,陷阱可能会丢失。为了提高可靠性,通知类似于陷阱,不同之处在于通知会定期存储和重新传输,直到出现以下情况之一:
-
通知的接收方(目标)向 SNMP 代理返回确认。
-
尝试了指定数量的不成功重新传输,代理会丢弃通知消息。
如果发件人从未收到响应,则可以再次发送通知。因此,通知比陷阱更有可能到达其预期目的地。通知使用与陷阱相同的通信通道(相同的套接字和端口),但具有不同的协议数据单元 (PDU) 类型。
通知比陷阱更可靠,但它们消耗更多的网络、路由器和交换机资源。与陷阱不同,通知将保留在内存中,直到收到响应或达到超时。此外,陷阱仅发送一次,而通知可能会重试多次。当 SNMP 管理器必须接收所有通知时,请使用通知。但是,如果您更关心网络流量或路由器和交换机内存,请使用陷阱。
示例:配置通知通知类型和目标地址
在以下示例中,目标 172.17.20.184 配置为响应通知。通知超时为 30 秒,最大重新传输计数为 3。通知将发送到 tl1 列表中的所有目标。远程用户的安全模型为 usm,远程引擎用户名为 u10。
[edit snmp v3] notify n1 { type inform; tag tl1; } notify-filter nf1 { oid .1.3 include; } target-address ta1 { address 172.17.20.184; retry-count 3; tag-list tl1; address-mask 255.255.255.0; target-parameters tp1; timeout 30; } target-parameters tp1 { parameters { message-processing-model v3; security-model usm; security-level privacy; security-name u10; } notify-filter nf1; }
示例:配置远程引擎 ID 和远程用户
此示例说明如何配置远程引擎和远程用户,以便接收和响应 SNMP 通知通知。通知通知可以进行身份验证和加密。它们也比陷阱(Junos OS 支持的另一种通知类型)更可靠。与陷阱不同,通知会定期存储和重新传输,直到出现以下情况之一:
通知通知的目标向 SNMP 代理返回确认。
已尝试指定数量的不成功重新传输。
要求
此功能需要使用对 SNMPv3 有效的纯文本密码。在路由器或交换机上创建纯文本密码时,SNMPv3 具有以下要求:
密码长度必须至少为 8 个字符。
密码可以包含字母、数字和特殊字符,但不能包含控制字符。
尽管不是必需的,但最好使用引号将密码括起来。如果密码包含任何空格或某些特殊字符或标点符号,则需要引号。
概述
SNMPv3 支持通知以提高可靠性。例如,接收通知的 SNMP 代理确认收到。
对于通知通知,远程引擎 ID 标识用户所在的远程设备上的 SNMP 代理,用户名标识远程 SNMP 引擎上接收通知的用户。
考虑一个场景,在此示例中,您具有 表 1 用于配置远程引擎 ID 和远程用户的值。
要向远程设备上的 SNMPv3 用户发送通知消息,必须先为用户所在的远程设备上的 SNMP 代理指定引擎标识符。远程引擎 ID 用于计算安全摘要,以便对发送给远程主机上用户的数据包进行身份验证和加密。发送通知消息时,代理将使用在远程引擎(通知目标)上配置的用户凭据。
对于通知, remote-engine engine-id
是用户所在的远程设备上 SNMP 代理的标识符。
对于通知, user username
是指远程 SNMP 引擎上接收通知的用户。
生成的通知可以是 unauthenticated
、 authenticated
或 authenticated_and_encrypted
,具体取决于在远程引擎(通知接收器)上配置的 SNMPv3 用户的安全级别。身份验证密钥用于生成消息身份验证代码 (MAC)。隐私密钥用于加密消息的通知 PDU 部分。
变量名称 |
value |
---|---|
username |
u10 |
远程引擎 ID |
800007E5804089071BC6D10A41 |
身份验证类型 |
身份验证-MD5 |
认证密码 |
qol67R%? |
加密类型 |
privacy-des |
隐私密码 |
m*72Jl9v |
配置
CLI 快速配置
要快速配置此示例,请复制以下命令并将其粘贴到文本文件中,删除所有换行符并更改与您的网络配置匹配所需的任何详细信息,将这些命令复制并粘贴到层次结构级别的 CLI [edit snmp v3]
中,然后从配置模式进入 commit
。
set usm remote-engine 800007E5804089071BC6D10A41 user u10 authentication-md5 authentication-password "qol67R%?" set usm remote-engine 800007E5804089071BC6D10A41 user u10 privacy-des privacy-password "m*72Jl9v"
配置远程引擎和远程用户
分步过程
以下示例要求您导航到配置层次结构中的各个级别。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器。
要配置远程引擎 ID 和远程用户,请执行以下操作:
配置远程引擎 ID、用户名以及身份验证类型和密码。
[edit snmp v3] user@host# set usm remote-engine 800007E5804089071BC6D10A41 user u10 authentication-md5 authentication-password "qol67R%?"
配置加密类型和隐私密码。
每个 SNMPv3 用户只能配置一种加密类型。
[edit snmp v3] user@host# set usm remote-engine 800007E5804089071BC6D10A41 user u10 privacy-des privacy-password "m*72Jl9v"
结果
在配置模式下,输入 show
命令确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明,以便进行更正。
[edit snmp v3] user@ host# show usm { remote-engine 800007E5804089071BC6D10A41 { user u10 { authentication-md5 { authentication-key "$9$hagSyKNdbY2acyvLN-2g69CtpBRhSvMX/CLx-V4oZUjkqfQz69CuF36Apu1Idbw2ZUiHm3/C.mF/CA1IVws4oGkqf6CtzF";## SECRET-DATA } privacy-des { privacy-key "$9$GJDmf3nCtO1zFnCu0hcrevM87bs2oaUbwqmP5F3Ap0O1hrevMLxcSYgoaUDqmf5n/Ap0REyk.BIREyr4aJZUHfTz9tu5T";## SECRET-DATA } } } }
确认配置正确后,从配置模式输入 commit
。
验证
验证远程引擎 ID 和用户名的配置
目的
验证引擎 ID 和用户信息的状态。
操作
显示有关 SNMPv3 引擎 ID 和用户的信息。
user@host> show snmp v3 Local engine ID: 80 00 0a 4c 01 0a ff 03 e3 Engine boots: 3 Engine time: 769187 seconds Max msg size: 65507 bytes Engine ID: 80 00 07 e5 80 40 89 07 1b c6 d1 0a 41 User Auth/Priv Storage Status u10 md5/des nonvolatile active
意义
输出显示以下信息:
本地引擎 ID 和有关引擎的详细信息
远程引擎 ID(标记为
Engine ID
)用户名
为用户配置的身份验证类型和加密(隐私)类型
用户名的存储类型,非易失性(配置已保存)或易失性(未保存)
新用户的状态;只有处于活动状态的用户才能使用 SNMPv3