原理概述
随着网络规模的日益发展,现有的网络中,设备数量日益庞大。当这些设备发生故障时,由于设备无法主动上报故障,导致网络管理员无法及时感知、定位和排除故障,从而导致网络的维护效率降低,维护工作量大大增加。
为了解决这个问题,设备制造商在一些设备中提供了网络管理功能,这样网管就可以远程查看设备的状态,同样,设备也能够在特定类型的事件发生时向网络管理工作站发出警告。SNMP(Simple Network Management Protocol,简单网络管理协议)就是规定网管站和设备之间如何传递管理信息的应用层协议。SNMP定义了网管管理设备的几种操作,以及设备故障时能向网管主动发送告警。网络管理使用SNMP协议时存在网络管理站(NMS)、代理进程(Agent)、和被管理设备3个角色。
■ 网络管理站(NMS):向被管理设备发送各种查询报文,以及接收被管理设备发送的告警;
■ 代理进程(Agent):是被管理设备上的一个代理进程,用于维护被管理设备的信息数据并响应来之NMS的请求,把管理数据汇报发送请求的NMS。Agent的作用为接收、解析来自网管站的查询报文;根据报文类型对管理变量进行Read或write操作,并生成响应报文,返回给网管站;根据各协议模块对告警触发条件的定义,在达到触发条件后,如进入、退出系统视图或重启设备等,相应的模块通过Agent主动向网管站发送告警,报告所发生的事件。
■ 被管理设备:接受网管站的管理,产生并主动上报告警。
实验内容
本实验模拟真实网络场景。在网络中分别部署了两台管理站设备(NMS)和一台代理站设备(Agent),分别使用两台PC来模拟NMS;一台路由器来模拟Agent。本实验将介绍如何配置Agent设备、版本,配置管理站及用户权限,了解SNMP协议的作用及管理方法,被管理的设备可以是路由器、服务器、交换机、主机等设备,一般与Agent部署在同一网络。
实验目的
- 理解SNMP的应用场景
- 掌握配置SNMP Agent的方法
- 掌握配置SNMP版本的方法
- 掌握配置管理用户权限的方法
实验编址
设备 | 接口 | IP地址 | 子网掩码 | 默认网关 |
NMS-1 | Ethernet0/0/1 | 10.1.1.1 | 255.255.255.0 | N/A |
NMS-2 | Ethernet0/0/1 | 10.1.1.2 | 255.255.255.0 | N/A |
Agent | G0/0/0 | 10.1.1.254 | 255.255.255.0 | N/A |
实验拓扑
实验步骤
1.基本配置
将两台PC模拟为管理站,分别为NMS-1、NMS-2,根据实验编址配置各设备的名称及IP地址,并测试连通性。
2.开启Agent服务
[Agent]snmp-agent
配置完成后,使用命令 display snmp-agent sys-info 查看SNMP信息。
[Agent]dis snmp-agent sys-info
The contact person for this managed node:
R&D Shenzhen, Huawei Technologies Co., Ltd.
The physical location of this node:
Shenzhen China
SNMP version running in the system:
SNMPv1 SNMPv2c SNMPv3
显示当前默认情况下所运行的SNMP版本为 v1、v2c、v3。
3.配置SNMP版本
SNMP共有三个版本,开启SNMP服务后默认同时兼容3个版本。当网络规模较小且安全性较高时,在规划时可配置设备使用SNMPv1版本与网关进行通信;当网络规模较大,安全性较高时,但运行的业务比较繁忙,在规划时配置设备使用SNMPv2c版本与网关进行通信;当网络规模较大且安全性较低时,在规划时配置设备使用SNMPv3版本与网管进行通信,并配置认证和加密功能保证安全性。
根据实际网络需求,使用 snmp-agent sys-info 命令配置SNMP版本,本例使用SNMPv3版本。
[Agent]snmp-agent sys-info version v3
配置完成后查看Agent信息。
[Agent]dis snmp-agent sys-info ver
SNMP version running in the system:
SNMPv3
显示当前运行的的SNMP版本为v3。
由于SNMPv3版本使用于大型网络规模,且可以配置认证加密,在实际工作环境下通常使用该版本。
4.配置NMS管理权限
如果网络中不止一个管理站用户,可根据业务需要,为不同管理站用户设置不同的访问权限。本实验中有两个管理站用户,现仅允许NMS-2可以管理设备。
配置基本ACL,限制仅NMS-2管理设备,NMS-1不允许管理设备。
[Agent]acl 2000
[Agent-acl-basic-2000]rule 5 permit source 10.1.1.2 0.0.0.255
[Agent-acl-basic-2000]rule 10 deny source 10.1.1.1 0.0.0.255
配置用户组为 group ,用户名为 user ,指定使用ACL2000.
[Agent]snmp-agent usm-user v3 user group acl 2000
配置完成后,查看SNMPv3的用户信息。
[Agent]dis snmp-agent usm-user
User name: user
Engine ID: 800007DB03000000000000
Group name: group
Authentication mode: No authentication mode, Privacy mode: No privacy mode
Storage type: nonVolatile
User status: active
Acl: 2000
Total number is 1
可以观察到,配置已经生效。
5.配置向 SNMP Agent 输出Trap信息。
网络管理员需要查看被管理者产生的Trap信息,以便监控设备运行情况及定位故障信息。
配置Agent发送Trap消息。用于接收该Trap消息的网管名为adminNMS2,目标地址为10.1.1.2,且指定接收该消息使用UDP端口为9991,。Trap消息的发送参数信息列表名称为 trapNMS2。
[Agent]snmp-agent target-host trap-hostname adminNMS2 address 10.1.1.2 udp-port
9991 trap-paramsname trapNMS2
开启设备告警开关。只有将该开关打开以后,Agent才会向网关发送告警信息。
[Agent]snmp-agent trap enable
Info: All switches of SNMP trap/notification will be open. Continue? [Y/N]:y
设置告警消息的队列长度为200(默认为100)。如果某个时间段的trap报文消息很多,为防止丢包,可以设置增加消息队列长度以便减少丢包情况发生。
[Agent]snmp-agent trap queue-size 200
设置报文消息的保存时间为240秒(默认120秒)。该值是Trap报文消息的生存时间,如果超过该时间报文将会被丢弃,不再发送,也不再保存。
[Agent]snmp-agent trap life 240
为了便于维护,配置管理员的联系方式,电话为400-822-110,地址为中国北京。
[Agent]snmp-agent sys-info contact call admin 400-822-110 [Agent]snmp-agent sys-info location BeiJing China
配置完成后,使用命令 disable snmp-agent sys-info 查看相关系统信息。
[Agent]dis snmp-agent sys-info
The contact person for this managed node:
call admin 400-822-110
The physical location of this node:
BeiJing China
SNMP version running in the system:
SNMPv3
查看SNMP Agent输出网关的信息。
[Agent]dis snmp-agent target-host
Traphost list:
Target host name: adminNMS2
Traphost address: 10.1.1.2
Traphost portnumber: 9991
Target host parameter: trapNMS2
Total number is 1
Parameter list trap target host:
Total number is 0
可以观察到Trap主机名为adminNMS2,主机地址为10.1.1.2,主机端口为9991,目标主机参数列表为trapNMS2。