配置设备使用SNMPv2c与网管通信
配置SNMPv2c功能后,网管和设备之间将使用SNMPv2c进行通信。为了保证网管和设备之间的正常通信,需要配置网管侧和Agent侧,本节只介绍Agent侧的配置,网管侧的配置请参考网管的操作手册。
- 配置SNMPv2c的基本功能
配置SNMP的基本功能后,网管即可与被管理设备间进行基本的监控和管理操作,比如GET和SET相关数据,被管理设备主动向网管发送告警。 - (可选)限制网管对设备的访问权限
通过限定指定地址的网管管理设备,以及限定网管管理的MIB节点,可以增强网管和被管理设备使用SNMP进行通信时的安全性。 - (可选)配置向网管发送Trap告警
配置向网管发送告警可以设定发送指定的告警,方便用户定位重要的问题。指定发送告警的相关参数,可以增加告警发送的可靠性。 - (可选)配置向网管发送Inform告警
使能了SNMP代理功能的路由器可产生两种告警:Trap告警和Inform告警。Trap消息通知网管该网络出了状况,Inform告警通知网管网络出了状况并要求网管回复确认。Inform告警将不断发往网管直到收到确认消息。因此,Inform比trap更可靠。 - (可选)配置SNMP防攻击功能
为了提高安全性,SNMP支持黑名单功能,防止恶意用户攻击,破坏用户密码。 - 检查配置结果
配置SNMPv2c成功后,用户可以查看到SNMPv2c的配置情况。
配置SNMPv2c的基本功能
配置SNMP的基本功能后,网管即可与被管理设备间进行基本的监控和管理操作,比如GET和SET相关数据,被管理设备主动向网管发送告警。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令snmp-agent password
min-length min-length,配置SNMP密码的最小长度。
配置了该命令后,用户配置SNMP密码时,密码长度必须大于等于配置的SNMP密码的最小长度。
- (可选)执行命令snmp-agent,启动SNMP
Agent服务。
执行任意snmp-agent的配置命令(无论是否含参数)都可以触发SNMP Agent服务启动,故该步骤可选。
- (可选)执行命令snmp-agent udp-port port-number修改SNMP Agent侦听的端口号。
如果不执行此步骤,会使用缺省端口号进行侦听。
- 执行命令snmp-agent sys-info version v2c,配置SNMP的协议版本。
使能SNMPv2c后,被管理设备将同时支持SNMPv2c和SNMPv3,能同时满足使用SNMPv2c和SNMPv3的网管对设备进行监控和管理。
- 执行命令snmp-agent community { read | write } { community-name | cipher cipher-name } [ mib-view view-name | acl { acl-number | acl-name } | alias alias-name ] *,配置设备的读写团体名。
团体名将以密文形式保存在配置文件中,团体名别名将以明文形式保存在配置文件中。
可以使用snmp-agent community complexity-check disable命令关闭团体名复杂度检查功能,但是为了保证系统安全性,建议开启此功能。说明:
HUAWEI对团体名复杂度的要求如下:
最小长度为8个字符。
至少包含2种字符,包括:大写字母、小写字母、数字、特殊字符(不包括问号和空格)。
配置设备的读写团体名之后,如果不配置MIB视图,使用该团体名的网管拥有Viewdefault视图(即1.3.6.1)的权限。
需要网管在指定视图下具有只读权限时(比如级别比较低的管理员),使用read参数。
需要网管在指定视图下具有读写权限时(比如级别比较高的管理员),使用write参数。
- 请根据网络需要选择下面的命令配置设备发送告警和错误码的目的IP地址:
如果是IPv4网络,请根据需要选择配置Trap方式告警或Inform方式告警:
说明:
Trap方式告警和Inform方式告警的区别如下:
被管理设备发送Trap方式告警时,不需要告警主机回应确认信息。
被管理设备发送Inform方式告警时,需要网管回应确认消息,在超时时间范围内没有收到网管的回应消息时,被管理设备将重新发送该告警,直至发送的告警个数达到配置的重复发送最大次数。
被管理设备发送Inform告警时,同时记录告警日志,方便网管故障或链路故障恢复后,网管能够同步故障时间内产生的告警。
因此,Inform告警相比Trap方式告警更加可靠,但由于重传机制的存在,可能导致设备需要缓存大量的告警信息,占用设备内存资源。
建议用户在网络比较稳定时选择Trap方式告警;在设备资源充足且网络不太稳定的环境下,选择配置Inform方式告警。
配置设备发送Trap告警和错误码的目的IP地址,请执行命令:
snmp-agent target-host [ host-name host-name ] trap address udp-domain ip-address [ [ udp-port port-number ] | [ source interface-type interface-number ] | [ public-net | vpn-instance vpn-instance-name ] ] * params securityname { security-name [ v2c | private-netmanager | ext-vb | notify-filter-profile profile-name ] * | cipher cipher-name [ v2c | private-netmanager | ext-vb | notify-filter-profile profile-name ] * }
配置设备发送Inform告警和错误码的目的IP地址,请执行命令:
snmp-agent target-host [ host-name host-name ] inform address udp-domain ip-address [ [ udp-port port-number ] | [ source interface-type interface-number ] | [ public-net | vpn-instance vpn-instance-name ] ] * params securityname { security-name v2c | cipher cipher-name v2c } [ ext-vb | notify-filter-profile profile-name | private-netmanager ] *
请参考下面的说明对参数进行选取:目的UDP端口号缺省是162,如果有特殊需求,可以配置udp-port参数将UDP端口号更改为非知名端口号,保证网管和被管理设备的正常通信。
如果被管理设备发送的告警需要通过私网传递给网管时,选择参数vpn-instance vpn-instance-name,指定告警需要穿越的VPN实例。
- 如果被管理设备发送的告警需要通过公网传递给网管时,选择参数public-net。
securityname用来在网管上标识和区别发送告警的源设备,方便用户识别告警的发送方。
如果是IPv6网络,请执行以下命令配置设备发送告警和错误码的目的主机:
snmp-agent target-host [ host-name host-name ] trap ipv6 address udp-domain ipv6-address [ udp-port port-number | [ { vpn-instance vpn-instance-name | public-net } ] | source interface-type interface-number ] * params securityname { security-name [ v2c | private-netmanager | ext-vb | notify-filter-profile profile-name ] * | cipher cipher-name [ v2c | private-netmanager | ext-vb | notify-filter-profile profile-name ] * }
说明:
IPv6网络只支持Trap方式告警,不支持Inform方式告警。
- (可选)执行命令snmp-agent sys-info { contact contact | location location },配置设备管理员的联系方法和位置。
当网管管理多台设备时,为了方便网管管理员记录设备管理员的联系方式和位置,在设备异常时快速联系设备管理员进行故障排除和定位,可配置该功能。
- (可选)执行命令snmp-agent packet max-size byte-count,配置设备接收或发送的SNMP消息包的最大值。
配置SNMP报文的最大尺寸后,当SNMP报文尺寸大于配置的最大尺寸时,设备将丢弃该报文。
- (可选)执行命令snmp-agent extend error-code enable,使能SNMP扩展错误码功能。
- (可选)执行命令snmp-agent set-cache enable,使能SET回应报文缓冲功能。
- (可选)执行命令snmp-agent get-cache disable,关闭GET回应报文缓冲功能。
- (可选)执行命令snmp-agent get-cache age-out age-out,配置GET回应报文缓冲功能的老化时间。
- (可选)配置SNMP接收和响应网管请求报文,用户可以根据需要选择执行如下命令中的一个或者多个:
- 执行命令snmp-agent protocol source-interface interface-type interface-number,配置SNMP接收和响应网管请求报文的源接口信息。
- 执行命令snmp-agent protocol ipv6 source-ip ip–address,配置SNMP接收和响应网管请求报文的源IPv6地址。
- 配置SNMP从VPN或者公网接收和响应网管请求报文。
- 对于IPv4网络,执行命令snmp-agent protocol { vpn-instance vpn-instance-name | public-net }。
- 对于IPv6网络,执行命令snmp-agent protocol ipv6 { vpn-instance vpn-instance-name | public-net }。
- (可选)执行命令snmp-agent local-engineid engineid,设置本地SNMP实体的引擎ID。
其中,系统采用主控板的管理网口MAC地址作为引擎ID的“设备信息”。
- (可选)执行命令snmp-agent protocol
get-bulk timeout time,配置网管get-bulk操作超时返回的时间阈值。
建议不要修改网管get-bulk超时返回的时间,使用缺省2秒即可。如果需要重新配置,配置的阈值时间必须小于网管的超时时间。
- (可选)执行命令snmp-agent
protocol server [ ipv4 | ipv6 ] disable,关闭SNMP IPv4或IPv6的侦听端口。
执行snmp-agent protocol server disable命令关闭SNMP IPv4或IPv6的侦听端口后,SNMP将不再处理对应的SNMP报文,因此请慎重操作。
- 执行命令commit,提交配置。
后续处理
访问控制是使用该团体名的网管都可以对设备上的所有节点进行监控和管理。
被管理设备向网管发送缺省状态是打开的模块的告警。
要使用该团体名中的指定网管来管理设备的指定节点,请参考限制网管对设备的访问权限进行配置。
需要被管理设备上指定模块的告警发送到网管,请参考配置向网管系统发送Trap告警或配置向网管系统发送Inform告警进行配置。
(可选)限制网管对设备的访问权限
通过限定指定地址的网管管理设备,以及限定网管管理的MIB节点,可以增强网管和被管理设备使用SNMP进行通信时的安全性。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令acl { name basic-acl-name { basic | [ basic ] number basic-acl-number } | [ number ] basic-acl-number } [ match-order { config | auto } ],创建一个基本访问控制列表,过滤管理设备的网管用户。
- 执行命令rule [ rule-id ] [ name rule-name ] { deny | permit } [ fragment-type { fragment | non-fragment | non-subseq | fragment-subseq | fragment-spe-first } | source { source-ip-address { source-wildcard | 0 | src-netmask } | any } | time-range time-name | [ vpn-instance vpn-instance-name | vpn-instance-any ] ] *,配置基本ACL的规则。
如果登录用户的地址匹配上的ACL规则的动作是permit,那么用户可以登录设备;
如果登录用户的地址匹配上的ACL规则的动作是deny,那么用户被禁止登录;
如果登录用户的地址不在ACL规则指定的允许范围内,那么此用户被禁止登录;
如果引用的ACL中不存在规则或者引用的ACL不存在,那么用户登录时不受ACL的控制,用户可以登录设备。
- 执行命令commit,提交配置。
- 执行命令quit,退回至系统视图。
- (可选)执行命令snmp-agent acl,配置SNMP的访问控制列表。
- 执行命令snmp-agent mib-view { excluded | included } view-name oid-tree,创建MIB视图并限定网管监控和管理的MIB节点。
需要网管管理设备上的绝大部分MIB节点,只有一少部分节点不允许网管管理时,或者在现有的MIB视图中希望取消网管对某些节点的访问权限时,使用参数excluded,排除这些MIB节点。
需要网管管理设备上的一少部分MIB节点,绝大部分节点不允许网管管理时,或者在现有的MIB视图中添加网管对某些节点的访问权限时,使用参数included,添加这些允许管理的MIB节点。
- 执行命令snmp-agent community { read | write } { community-name | cipher cipher-name } [ mib-view view-name | acl { acl-number | acl-name } | alias alias-name ] *,限制网管对设备的访问权限。
希望网管在指定视图下具有只读权限时(比如级别比较低的管理员),使用read参数。
希望网管在指定视图下具有读写权限时(比如级别比较高的管理员),使用write参数。
如果需要使用该团体名的某些网管拥有视图Viewdefault的权限,参数mib-view view-name可以省略。
如果需要使用该团体名的所有网管管理设备上的某些节点,参数acl acl-number可以省略。
如果需要使用该团体名的某些网管管理设备上的某些节点,mib-view和acl都需要配置。
- 执行命令commit,提交配置。
(可选)配置向网管发送Trap告警
配置向网管发送告警可以设定发送指定的告警,方便用户定位重要的问题。指定发送告警的相关参数,可以增加告警发送的可靠性。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令snmp-agent trap enable,使能发送Trap报文。
- 执行命令snmp-agent
trap enable feature-name feature-name trap-name trap-name,使能向网管发送指定特性下的某条告警信息。
说明:
使用snmp-agent trap enable命令打开所有模块的告警开关,或者使用snmp-agent trap enable feature-name打开某个告警开关时:如果需要一次性关闭所有打开的告警开关,需使用snmp-agent trap disable关闭所有打开的告警开关。
如果需要一次性恢复所有的告警开关至缺省状态,需使用undo snmp-agent trap enable或者undo snmp-agent trap disable命令恢复所有的告警开关至缺省状态。
如果需要关闭其中某一个告警开关时,可以使用undo snmp-agent trap enable feature-name命令一次关闭一个告警开关。
如果需要一键式清除某一特性的所有告警开关的相关配置,可以使用clear configuration snmp-agent trap enable命令将该特性的所有告警开关的配置清除。
- 执行命令snmp-agent trap source interface-type interface-number,指定发送Trap的源端接口。
指定源接口后,将以源接口IP地址作为发送的Trap报文的源IP地址。为了保证设备的安全性,发送的源地址最好配置为本地的loopback地址。
路由器端配置的Trap报文的源接口和网管站配置的路由器发送报文的接口需要一致,否则网管站无法接收路由器发送的Trap报文。
- 执行命令snmp-agent trap source-port port-number,修改发送Trap报文的源端口号。
配置发送Trap报文的源端口为固定端口,用户防火墙可以针对此端口进行报文过滤,从而提高网络报文的安全性。
- (可选)执行命令snmp-agent
trap type { base-trap | entity-trap },配置上送网管的告警信息格式。
该命令仅在Admin-VS支持。
- 执行命令commit,提交配置。
(可选)配置向网管发送Inform告警
使能了SNMP代理功能的路由器可产生两种告警:Trap告警和Inform告警。Trap消息通知网管该网络出了状况,Inform告警通知网管网络出了状况并要求网管回复确认。Inform告警将不断发往网管直到收到确认消息。因此,Inform比trap更可靠。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令snmp-agent trap enable,使能发送Trap报文。
- 执行命令snmp-agent
trap enable feature-name feature-name trap-name trap-name,使能向网管发送指定特性下的某条告警信息。
说明:
使用snmp-agent trap enable命令打开所有模块的告警开关,或者使用snmp-agent trap enable feature-name打开三个或三个以上的告警开关时:如果需要一次性关闭所有打开的告警开关,需使用snmp-agent trap disable关闭所有打开的告警开关。
如果需要一次性恢复所有的告警开关至缺省状态,需使用undo snmp-agent trap enable或者undo snmp-agent trap disable命令恢复所有的告警开关至缺省状态。
如果需要关闭其中某一个告警开关时,可以使用undo snmp-agent trap enable feature-name命令一次关闭一个告警开关。
- (可选)执行命令snmp-agent inform { timeout seconds | resend-times times | pending number } *,设置等待Inform确认消息的超时时间、Inform重传次数、未确认的Inform最大个数。
说明:
如果网络不太稳定,应适当增大超时时间,并增加Inform的重传次数和未确认的Inform最大个数。
- 执行命令snmp-agent inform { timeout seconds | resend-times times } * [ host-name host-name | address udp-domain ip-address [ vpn-instance vpn-instance-name ] params securityname security-name ],设置等待Inform确认消息的超时时间、Inform重传次数。
- 执行命令snmp-agent
notification-log enable,使能告警日志功能。
如果被管理设备与网管之间的链路发生故障,导致路由不可达。被管理设备不再发送Inform告警,但是继续记录告警日志。当链路恢复正常,路由变为可达后,目标主机将同步被管理设备在链路故障期间记录的告警日志。
使能告警日志功能后,系统只记录Inform方式的告警,不记录Trap方式的告警。
- 执行命令snmp-agent notification-log { global-ageout ageout | global-limit limit } *,配置告警日志的老化时间和日志缓冲区中最多能保存的告警日志条数。
超过24小时,告警日志被自动删除。
超出这个限制,将从最早的一条告警日志开始删除。
- 执行命令commit,提交配置。
检查配置结果
配置SNMPv2c成功后,用户可以查看到SNMPv2c的配置情况。
操作步骤
- 执行display snmp-agent community命令查看当前配置的团体名。
- 执行display snmp-agent sys-info version命令查看SNMP使能的版本信息。
- 执行display acl acl-number命令显示配置的访问控制列表的规则。
- 执行display snmp-agent mib-view命令查看MIB视图信息。
- 执行display snmp-agent mib modules命令查看被加载的MIB文件信息。
- 执行display snmp-agent sys-info contact命令查看管理员的联系方式。
- 执行display snmp-agent sys-info location命令查看路由器的位置。
- 执行display current-configuration | include max-size命令查看SNNP报文的最大尺寸。
- 执行display current-configuration | include trap命令查看Trap配置信息。
- 执行display snmp-agent target-host命令查看目标主机的信息。
- 执行display snmp-agent inform 命令查看全局或指定目标主机的Inform参数。
- 执行display snmp-agent notification-log命令检查日志缓冲区存储的告警日志。
- 执行display snmp-agent vacmgroup命令检查VACM组信息。
任务示例
<HUAWEI> display snmp-agent community
Community name: %#%#qTp*MccD#Z[sHw4"pbzVHzAfO]gWN;h#30K=)%}X1jIHNF<QdMskYG$9xj:9k\EZN6Mi!Hrt@\Oa8tqP%#%#
Group name: %#%#qTp*MccD#Z[sHw4"pbzVHzAfO]gWN;h#30K=)%}X1jIHNF<QdMskYG$9xj:9k\EZN6Mi!Hrt@\Oa8tqP%#%#
Alias name:huawei
Acl: 2000
Storage-type: nonVolatile
<HUAWEI> display snmp-agent sys-info version
SNMP version running in the system:
SNMPv2c SNMPv3
<HUAWEI> display acl 2000 Basic ACL 2000, 1 rule Acl's step is 5 rule 5 permit source 1.1.1.1 0 (0 times matched)
<HUAWEI> display snmp-agent mib-view
View name: ViewDefault
MIB Subtree: internet
Subtree mask: F0(Hex)
Storage-type: nonVolatile
View Type: included
View status: active
View name: ViewDefault
MIB Subtree: snmpCommunityMIB
Subtree mask: FE(Hex)
Storage-type: nonVolatile
View Type: excluded
View status: active
View name: ViewDefault
MIB Subtree: snmpUsmMIB
Subtree mask: FE(Hex)
Storage-type: nonVolatile
View Type: excluded
View status: active
View name: ViewDefault
MIB Subtree: snmpVacmMIB
Subtree mask: FE(Hex)
Storage-type: nonVolatile
View Type: excluded
View status: active
执行display snmp-agent mib modules命令,查看被加载的MIB文件信息。
<HUAWEI> display snmp-agent mib modules
BGP4-MIB:
resource : allmibs_mib.bin
mib : bgp4-mib.mib
DISMAN-PING-MIB:
resource : allmibs_mib.bin
mib : disman-ping-mib.mib
DISMAN-TRACEROUTE-MIB:
resource : allmibs_mib.bin
mib : disman-traceroute-mib.mib
<HUAWEI> display snmp-agent sys-info contact
The contact person for this managed node:
R&D Beijing, Huawei Technologies co.,Ltd.
<HUAWEI> display snmp-agent sys-info location
The physical location of this node:
Beijing China
执行display current-configuration | include max-size命令查看SNNP报文的最大尺寸。
<HUAWEI> display current-configuration | include max-size
snmp-agent packet max-size 1800
执行display current-configuration | include trap命令,查看trap配置信息。
<HUAWEI> display current-configuration | include trap snmp-agent trap source GigabitEthernet0/1/1snmp-agent target-host host-name targetHost_1_25846 trap ipv6 address udp-domain 1:1::1:1 udp-port 111 params securityname %#%#yowoL2.\8~LKL5*|k[h'3`Nv:DX;Y-$tU=SWNu[*%#%# snmp-agent target-host host-name targetHost_2_51321 trap address udp-domain 1.1. 1.1 params securityname htipl snmp-agent trap enable
<HUAWEI> display snmp-agent target-host
Target-host NO. 1
---------------------------------------------------------------------------
Host-name : targetHost_1_55062
IP-address : 10.18.27.183
Source interface : -
VPN instance : -
Security name : %#%#yowoL2.\8~LKL5*|k[h'3`Nv:DX;Y-$tU=SWNu[*%#%#
Port : 162
Type : inform
Version : v2c
Level : No authentication and privacy
NMS type : NMS
With ext-vb : No
Notification filter profile name : -
---------------------------------------------------------------------------
Target-host NO. 2
---------------------------------------------------------------------------
Host-name : targetHost_2_25846
IP-address : 10.18.27.184
Source interface : -
VPN instance : -
Security name : %#%#[7SCH}$<HX.vZ8%7YS3L:IsCPA^LbRRK-`/6"i"$%#%#
Port : 162
Type : trap
Version : v2c
Level : No authentication and privacy
NMS type : NMS
With ext-vb : No
Notification filter profile name : -
---------------------------------------------------------------------------
执行display snmp-agent inform命令查看Inform的配置。
<HUAWEI> display snmp-agent inform
Global config: resend-times 3, timeout 15s, pending 39
Global status: current notification count 0
Target-host ID: Host name/VPN instance/IP-Address/Security name
-/-/1.2.1.2/%#%#yowoL2.\8~LKL5*|k[h'3`Nv:DX;Y-$tU=SWNu[*%#%#:
Config: resend-times 3, timeout 15s
Status: retries 0, pending 0, sent 0, dropped 0, failed 0, confirmed 0
执行display snmp-agent notification-log命令查看日志缓冲区内存储的告警日志。
<HUAWEI> display snmp-agent notification-log info
Notification log information:
Notification Admin Status : enable
GlobalNotificationsLogged : 0
GlobalNotificationsBumped : 0
GlobalNotificationsLimit : 1000
GlobalNotificationsAgeout : 36
Total number of notification log(s): 0
执行display snmp-agent vacmgroup命令查看VACM组。
<HUAWEI> display snmp-agent vacmgroup
--------------------------------------------------
Security name : john
Group name : johngroup
Security model : USM
--------------------------------------------------