一、专业术语
1、NMS(Network Management System)-网络管理系统
2、Agent-代理进程
3、Managed Object-被管理对象
4、MIB(Management Information Base)-管理信息库
二、网络管理与运维基本概念
1.什么是网络管理?
网络管理是通过对网络中设备的管理,保证设备工作正常,使通信网络正常地运行,以提供高效、可靠和安全的通信服务,是通信网络生命周期中的重要一环。
分为两类:
1)第一类是对网络应用程序、用户账号(例如文件的使用)和存取权限(许可)的管理。它们都是与软件有关的网络管理问题,这里不作深入解释。
2)第二类是对构成网络的硬件即网元的管理,包括防火墙、交换机、路由器等等。本课程主要针对此类网络管理。
注:NE(Network Element,网元):即网络单元,包含硬件设备及运行其上的软件。通常一个网络单元至少具有一块主控板,负责整个网络单元的管理和监控。主机软件运行在主控板上。
2.网络管理基本功能
OSI定义了网络管理的五大功能模型:
1)配置管理(Configuration Management):配置管理负责监控网络的配置信息,使网络管理人员可以生成、查询和修改硬件、软件的运行参数和条件,并可以进行相关业务的配置。
2)性能管理(Performance Management):性能管理以网络性能为准则,保证在使用较少网络资源和具有较小时延的前提下,网络能够提供可靠、连续的通信能力。
3)故障管理(Fault Management):故障管理的主要目标是确保网络始终可用,并在发生故障时尽快将其修复。
4)安全管理(Security Management):安全管理可以保护网络和系统免受未经授权的访问和安全攻击。 5)计费管理(Accounting Management):记录用户使用网络资源的情况并核收费用,同时也统计网络的利用率。
三、SNMP的原理
1.概述
SNMP(Simple Network Management Protocol,简单网络管理协议)是广泛用于TCP/IP网络的网络管理标准协议,提供了一种通过运行网络管理软件的中心计算机,即NMS(Network Management Station,网络管理工作站)来管理网元的方法。
网络管理员可以利用NMS在网络上的任意节点完成信息查询、信息修改和故障排查等工作,提升工作效率。屏蔽了不同产品之间的差异,实现了不同种类和厂商的网络设备之间的统一管理。
特点:
1)简单:SNMP采用轮询机制,提供基本的功能集,适合快速、低价格的场景使用,而且SNMP以UDP报文为承载,因而得到绝大多数设备的支持。
2)强大:SNMP的目标是保证管理信息在任意两点传送,便于管理员在网络上的任何节点检索信息,进行故障排查。
2.典型架构
NMS:
1)在基于SNMP进行管理的网络中,NMS是整个网络的网管中心,在它之上运行管理进程。每个被管理设备需要运行代理(Agent)进程。管理进程和代理进程利用SNMP报文进行通信。
2)NMS是一个采用SNMP协议对网络设备进行管理/监控的系统,运行在NMS服务器上。
3)被管理设备是网络中接受NMS管理的设备。
4)代理进程运行于被管理设备上,用于维护被管理设备的信息数据并响应来自NMS的请求,把管理数据汇报给发送请求的NMS。
NMS和被管理设备的信息交互分为两种:
1)NMS通过SNMP协议给被管理设备发送修改配置信息请求或查询配置信息请求。被管理设备上运行的代理进程根据NMS的请求消息做出响应。
2)被管理设备可以主动向NMS上报告警信息(Trap)以便网络管理员及时发现故障。
MIB:
SNMP规定通过MIB(Management Information Base,管理信息库)去描述可管理实体的一组对象。MIB给出了一个数据结构,包含了网络中所有可能的被管理对象的集合。因为数据结构与树相似,MIB又被称为对象命名树。
对象标识符(Object IDentifier,OID)
1)用于查询或修改的节点:
OID | 节点名称 | 数据类型 | 最大访问权限 | 含义 |
1.3.6.1.2.1.2.1 | ifNumber | Integer | read-only | 系统中网络接口的数量(不关注接口当前状态)。 |
1.3.6.1.4.1.2011.5.25.41.1.2.1.1.3 | hwIpAdEntNetMask | IpAddress | read-create | IP地址的子网掩码。 |
2)用于告警通知的节点:
OID | 节点名称 | 绑定变量 | 含义 |
3.6.1.6.3.1.1.5.3 | linkDown | ifIndex ifAdminStatus ifOperStatus ifDesc | 经检测到由于ifOperStatus节点中的其中一条通信链路已经从其他状态(但不是notPresent状态)进入Down状态。这里的其他状态由ifOperStatus的值显示。 |
管理模型:
查询/修改操作:
NMS作为管理者,向代理进程发送SNMP请求报文。
代理进程通过设备端的MIB找到所要查询或修改的信息,向NMS发送SNMP响应报文。
告警操作:
设备端的模块由于达到模块定义的告警触发条件,通过代理进程向NMS发送消息,告知设备侧出现的情况,这样便于网络管理人员及时对网络中出现的情况进行处理。
3.版本演进
SNMPv1:SNMPv1版本适用于小型网络。组网简单、安全性要求不高或网络环境比较安全且比较稳定的网络,比如校园网,小型企业网。
SNMPv1定义了5种协议操作:
Get-Request:NMS从被管理设备的代理进程的MIB中提取一个或多个参数值。
Get-Next-Request:NMS从代理进程的MIB中按照字典式排序提取下一个参数值。
Set-Request:NMS设置代理进程MIB中的一个或多个参数值。
Response:代理进程返回一个或多个参数值。它是前三种操作的响应操作。
Trap:代理进程主动向NMS发送报文,告知设备上发生的紧急或重要事件。
SNMPv2c:SNMPv2c版本适用于大中型网络。安全性要求不高或者网络环境比较安全,但业务比较繁忙,有可能发生流量拥塞的网络。
SNMPv2c新增了2种协议操作:
GetBulk:相当于连续执行多次GetNext操作。在NMS上可以设置被管理设备在一次GetBulk报文交互时,执行GetNext操作的次数。
Inform:被管理设备向NMS主动发送告警。与Trap告警不同的是,被管理设备发送Inform告警后,需要NMS进行接收确认。如果被管理设备没有收到确认信息则会将告警暂时保存在Inform缓存中,并且会重复发送该告警,直到NMS确认收到了该告警或者发送次数已经达到了最大重传次数。
SNMPv3:SNMPv3版本作为推荐版本,适用于各种规模的网络。尤其是对安全性要求较高,只有合法的管理员才能对网络设备进行管理的网络。
SNMPv3增加了身份验证和加密处理的功能。
身份验证:身份验证是指代理进程(NMS)接收到信息时首先必须确认信息是否来自有权限的NMS(代理进程)并且信息在传输过程中未被改变。
加密处理:SNMPv3报文中添加了报头数据和安全参数字段。比如当管理进程发出SNMPv3版本的Get-Request报文时可以携带用户名、密钥、加密参数等安全参数,代理进程回复Response报文时也采用加密的Response报文。这种安全加密机制特别适用于管理进程和代理进程之间需要经过公网传输数据的场景。
四、SNMP的配置
基础配置:
1.使能SNMP代理功能
[Huawei] snmp-agent
2.配置SNMP的版本
[Huawei] snmp-agent sys-info version [v1 | v2c | v3]
用户可以根据自己的需求配置对应的SNMP版本,但设备侧使用的协议版本必须与网管侧一致。
3.创建或者更新MIB视图的信息
[Huawei] snmp-agent mib-view view-name { exclude | include } subtree name [mask mask]
4.增加一个新的SNMP组, 将该组绷户映射到SNMP视图
[Huawei] snmp-agent group v3 group-name { authentication | noauth| privacy } [ read-view view-name| write-view view-name| notify-view view-name ]
该命令用于SNMPv3版本中创建SNMP组,指定认证加密方式、只读视图、读写视图、通知视图。安全性需求较高的网管网络中的必需指令。
5.为一个SNMP组添加一个新用户
[Huawei] snmp-agent usm-user v3 user-name group group-name
6.配置SNMPv3用户认证密码
[Huawei] snmp-agent usm-user v3 user-name authentication-mode { md5| sha | sha2-256 }
7.配置SNMPv3用户加密密码
[Huawei] snmp-agent usm-user v3 user-name privacy-mode { aes128| des56 }
8.配置设备发送Trap报文的参数信息
[Huawei] snmp-agent target-host trap-paramsname paramsname v3 securityname securityname{ authentication| noauthnopriv| privacy }
9.配置Trap报文的目的主机
[Huawei] snmp-agent target-host trap-hostname hostname address ipv4-address trap-paramsname paramsname
10.打开设备的所有告警开关
[Huawei] snmp-agent trap enable
注意该命令只是打开设备发送Trap告警的功能,要与snmp-agent target-host协同使用,由snmp- agent target-host指定Trap告警发送给哪台设备。
11. 配置发送告警的源接口。
[Huawei] snmp-agent trap source interface-type interface number
注意Trap告警无论从哪个接口发出都必须有一个发送的源地址,因此源接口必须是已经配置了IP地址的接口。
实例:
1.拓扑图:
2.实验思路:
1)上述路由器R1上使能SNMP功能,配置版本为v3。
2)配置SNMPv3组名为test,加密认证方式为privacy。
3)创建SNMPv3用户,名为R1同时配置认证和加密密码为HCIA-Datacom123。
4)创建名为param的Trap参数信息,securityname为sec
5)设置SNMP告警主机地址为192.168.1.10。
6)打开告警开关,设置发送告警的源接口为GE0/0/1。
3.配置:
R1配置如下:
[R1]snmp-agent
[R1]snmp-agent sys-info version v3
[R1]snmp-agent group v3 test privacy
[R1]snmp-agent usm-user v3 R1 test authentication-mode md5 HCIA@Datacom123 privacy-mode aes128 HCIA-Datacom123
[R1]snmp-agent target-host trap-paramsname param v3 securityname sec privacy
[R1]snmp-agent target-host trap-hostname nms address 192.168.1.10 trap-paramsname param
[R1]snmp-agent trap source GigabitEthernet 0/0/1
[R1]snmp-agent trap enable
Info: All switches of SNMP trap/notification will be open. Continue? [Y/N]:y