一、snmp相关工作原理:
- NMS(网络管理系统)管理设备监听的是UDP162,被管设备监听的是UDP161。被管设备有MIB(管理信息数据库),NMS通过代理程序agent读取MIB。信息交互可以是网管设备向被管设备拉取,也可以是被管设备向网管设备推送trap信息。
- NMS通过SNMP协议与设备的Agent通信,完成对MIB的读取和修改操作,从而实现对网络设备的监控与管理。
- MIB以树状结构进行存储,树的叶子节点表示管理对象,它可以通过从根节点开始的一条唯一路径来识别,这也就是对象标识符OID(Object Identifier)。NMS通过OID引用Agent中的对象。
二、SNMPv1/v2c协议
配置示例
snmp-agent
snmp-agent sys-info version v2c
snmp-agent community read *community-name*
1.执行命令system-view,进入系统视图。
2.执行命令snmp-agent,使能SNMP Agent服务。
缺省情况下,执行任意snmp-agent的配置命令(无论是否含参数)都可以触发SNMP Agent服务使能。
3.执行命令snmp-agent sys-info version { { v1 | v2c } * },配置SNMP的协议版本为SNMPv1或者SNMPv2c。
4.执行命令snmp-agent community { read | write } community-name [ mib-view view-name | acl acl-number ] *,配置读写团体名及团体名可以访问的MIB视图。
设备默认的view-name为ViewDefault视图,该视图允许对internet节点(其OID为1.3.6.1)和lagMIB节点(其OID为1.2.840.10006.300.43)进行操作。
检查配置结果
设备使用SNMPv1/v2c协议通信,通过如下命令,查看配置的SNMP参数配置结果是否正确。
•执行命令display snmp-agent sys-info version,查看SNMP版本。
•执行命令display snmp-agent community { read | write },查看SNMP读写团体名。
•执行命令display snmp-agent mib-view,查看SNMP MIB视图信息。
三、设备使用SNMPv3协议
配置示例:
snmp-agent
snmp-agent sys-info version v3
snmp-agent group v3 *group-name* authentication
snmp-agent usm-user v3 *user-name*group *group-name*
snmp-agent usm-user v3 *user-name* authentication-mode sha snmp-agent usm-user v3 *user-name* privacy-mode aes128
1.执行命令system-view,进入系统视图。
2.执行命令snmp-agent,使能SNMP Agent服务。
缺省情况下,执行任意snmp-agent的配置命令(无论是否含参数)都可以触发SNMP Agent服务使能。
3.执行命令snmp-agent sys-info version v3,配置SNMP的协议版本。
4.执行命令snmp-agent group v3 group-name{ authentication | noauth | privacy } [ read-view read-view| write-view write-view| notify-view notify-view ] *,配置SNMPv3用户组。
当网管和设备处在不安全的网络环境中时,比如容易遭受攻击等,建议用户配置参数authentication或privacy,使能数据的认证或加密功能。
5.执行命令snmp-agent usm-user v3 user-name[ group group-name| acl acl-name ] *,配置SNMPv3用户。
设备侧参数user-name需与网管侧的“SNMP协议参数”中的Security user name保持一致。
6.执行命令snmp-agent usm-user v3 user-name authentication-mode { md5 | sha | sha2-256 },配置SNMPv3用户认证密码。
在使用中需要注意,MD5和SHA属于不安全的用户认证密码,建议使用相对安全的SHA2-256用户认证密码。
设备侧参数authentication-mode和password需分别与网管侧的“SNMP协议参数”中的Authentication protocol和password保持一致。
7.执行命令snmp-agent usm-user v3 user-name privacy-mode { aes128 | des56 | aes256 },配置SNMPv3用户加密密码。
在使用中需要注意,DES56属于不安全的加密算法,建议使用AES128加密算法。设备侧参数privacy-mode和password需分别与网管侧的“SNMP协议参数”中的Privacy protocol和password保持一致。
用户组和用户配置完成后,使用该用户名的网管拥有ViewDefault视图(即1.3.6.1和1.2.840.10006.300.43)的权限。
检查配置结果
设备使用SNMPv3协议通信,通过如下命令,查看配置的SNMP参数配置结果是否正确。
•执行命令display snmp-agent sys-info version,查看SNMP版本。
•执行命令display snmp-agent group [ group-name ],查看用户组信息。
•执行命令display snmp-agent usm-user [ user-name ],查看用户信息。
•执行命令display snmp-agent mib-view,查看SNMP MIB视图信息。
disp snmp-agent mib-view
四、配置设备侧的Trap参数
设备的故障信息可以通过SNMP协议中的Trap报文,主动向网管侧发送。只有在设备上使能发送Trap报文的功能并设置Trap目标主机后,网管侧才能对设备上的故障信息进行监控。
配置设备发送告警前,需要先确认信息中心已经使能。如未使能,需要执行info-center enable命令。
snmp-agent trap enable
snmp-agent target-host trap-paramsname paramsname{ { v1 | v2c } securityname securityname| v3 securityname securityname { authentication | noauthnopriv | privacy } } [ binding-private-value ][ private-netmanager ]
snmp-agent target-host trap-hostname hostnameaddress { ipv4-addr[ udp-port udp-portid][ public-net | vpn-instance vpn-instance-name] | ipv6 ipv6-addr[ udp-port udp-portid] } trap-paramsname paramsname
Trap snmp v1/v2c:
snmp-agent trap enable
snmp-agent target-host trap-paramsname paramsname{ v1 | v2c } securityname securityname
校验的关键字securityname
snmp-agent target-host trap-hostname hostname address ipv4-addr[ udp-port udp-portid] trap-paramsname paramsname
Trap snmp V3
snmp-agent trap enable
snmp-agent target-host trap-paramsname paramsnamev3 securityname securityname authentication
校验的关键字securityname
snmp-agent target-host trap-hostname hostname address ipv4-addr[ udp-port udp-portid] trap-paramsname paramsname
操作步骤
1.执行命令system-view,进入系统视图。
2.执行命令snmp-agent trap enable,使能设备发送Trap报文的功能。
执行上述命令会一次性打开所有模块的告警开关。当用户希望打开特定模块的告警开关时,可以使用命令snmp-agent trap enable feature-name feature-name。
- 执行命令snmp-agent target-host trap-paramsname paramsname{ { v1 | v2c } securityname securityname| v3 securityname securityname { authentication | noauthnopriv | privacy } } [ binding-private-value ][ private-netmanager ],配置设备发送Trap报文的参数信息。
对于SNMPv3版本,securityname必须配置为用户名。告警主机和网管都需要配置此参数,如果网管要接收告警主机发送的告警,必须通过该参数(包括认证和加密的方式)的校验,否则告警无法接收。
对于SNMPv1和SNMPv2c版本,不需要通过securityname参数的校验,网管可以接收所有告警主机发送的告警信息。该参数主要用来区分同一个目的主机下的多个告警主机。
在配置告警主机的安全级别时,要确保其安全级别不低于securityname用户的安全级别。否则,告警主机无法正常发送告警。
用户具备三种属性,按照安全性从高到低为:
•1级:privacy(鉴权且加密)
•2级:authentication(只鉴权)
•3级:noauthnopriv(不鉴权不加密)
执行命令snmp-agent target-host trap-hostname hostnameaddress { ipv4-addr[ udp-port udp-portid] [ public-net | vpn-instance vpn-instance-name] | ipv6 ipv6-addr[ udp-port udp-portid] } trap-paramsname paramsname,配置设备发送告警和错误码的目的主机。
请参考下面的说明对参数进行选取:
•目的UDP端口号缺省是162,如果有特殊需求导致端口被占用(比如避免知名端口号被攻击配置了端口镜像),可以配置udp-port将UDP端口号更改为非知名端口号,保证网管和被管理设备的正常通信。
•如果被管理设备发送的告警需要通过公网传递给网管时,选择参数public-net;如果被管理设备发送的告警需要通过私网传递给网管时,选择参数vpn-instance vpn-instance-name,指定告警需要穿越的VPN实例。
检查配置结果
通过如下命令,查看配置的Trap参数配置结果是否正确。
•执行命令display current-configuration | include trap,查看Trap配置信息。
•执行命令display snmp-agent trap all,查看所有特性下所有Trap开关当前的状态和缺省状态。
•执行命令display snmp-agent target-host,查看目标主机的信息。
SNMP v1/v2c:
SNMPv1/v2c协议基础配置
snmp-agent
snmp-agent sys-info version v2
snmp-agent community read community-name
snmp-agent usm-user v3 user-name
snmp v1/v2c:
告警Trap配置
snmp-agent trap enable
snmp-agent target-host trap-paramsname paramsname{ v1 | v2c } securityname securityname
校验的关键字securityname
snmp-agent target-host trap-hostname hostname address ipv4-addr[ udp-port udp-portid] trap-paramsname paramsname
SNMPv3
SNMPv3协议基础配置
snmp-agent
snmp-agent sys-info version v3
snmp-agent group v3 group-name authentication
snmp-agent usm-user v3 user-namegroup group-name
snmp-agent usm-user v3 user-name authentication-mode sha
Chonglang2020
snmp-agent usm-user v3 user-name privacy-mode aes128
Chonglang2021
snmp V3
告警Trap配置
snmp-agent trap enable
snmp-agent target-host trap-paramsname paramsnamev3 securityname securityname authentication
校验的关键字securityname
snmp-agent target-host trap-hostname hostname address ipv4-addr[ udp-port udp-portid] trap-paramsname paramsname
网友评论