网络故障第一时间是客户报障,不能全局发现问题,面向企业园区网络,还一款面向运营商的
SNMP架构:分为NMS和Agent两部分(agent读取内部MIB库)
国际标准定义:MIB2、RMON标准库
agent它是一个进程,主要负责信息采集读取、执行 *** 作,通知,帮助管理站获取信息
一、功能原理
二、工作原理
SNMP的结构包括:NMS网络管理站点、SNMP代理
SNMP规定了NMS和Agent之间如何传递管理信息的应用层协议
Agent只是进程,作用:执行 *** 作、通知
三、消息、版本
V1:三大 *** 作:Read、Write、Trap,Trap唯一是被管设备主动发起的
V2C:批量取数据,
V3:增加了身份验证和加密处理,增强网管安全设置,传输加密,权限控制
SNMP实际上是一个特殊的「要求/响应」协议,可支持两种要求讯息:
get及put,前者是用来从某些节点取出状态信息,而后者则是用来在某些节点上储存一份新的状态信息
通过NMS来更改设备上的配置,查询设备信息,发送的数据包为Get,更改设备的配置为Set(MIB相当于索引)
华为的SNMP的配置步骤
SNMP基本配置流程:
1、配置设备与NMS系统间通信正常(保证路由可达)
2、开启设备SNMP agent功能(缺少为开启)
3、配置snmp协议版本
4、配置设备snmp读写团体名
5、配置设备发送trap报文的参数信息
6、配置设备发送告警和错误码的目的主机
7、配置设备管理员的的位置在Ubuntu和Debian配置SNMPv3
使用net-snmp-config tool工具进行配置。下面的例子中创建了一个只读权限的SNMPv3账户,用户名为“snmpv3user”密码为“snmpv3pass”。 默认身份验证方法是MD5加密,默认DES使用。这些设定也可根据需要改变。
root@server:~# apt-get install snmp snmpd
root@server:~# service snmpd stop
root@server:~# net-snmp-config --create-snmpv3-user -ro -A snmpv3pass snmpv3user
## OUTPUT ##
adding the following line to /var/lib/snmp/snmpdconf:
createUser snmpv3user MD5 "snmpv3pass" DES
adding the following line to /usr/share/snmp/snmpdconf:
rouser snmpv3user
root@server:~# service snmpd start
SNMPv3测试
使用snmpwalk测试SNMP的配置。成功的测试结果应当有大量的输出数据。下面的例子使用上文建立的V3账户演示了snmpwalk 的使用。Ubuntu和Debian的本地服务器IP地址19216811。
### SAMPLE OUTPUT ###
iso36121110 = STRING: "Linux server 350-23-generic #35~precise1-Ubuntu SMP Fri Jan 25 17:13:26 UTC 2013 x86_64"
iso36121120 = OID: iso3614180723210
iso36121130 = Timeticks: (68028) 0:11:2028
iso36121170 = INTEGER: 72
iso36121180 = Timeticks: (0) 0:00:0000
iso3612119121 = OID: iso3616310311
iso3612119122 = OID: iso3616311311
iso3612119123 = OID: iso3616315211
iso3612119124 = OID: iso361631
iso3612119125 = OID: iso3612149
iso3612119126 = OID: iso361214
iso3612119127 = OID: iso3612150
iso3612119128 = OID: iso3616316221
iso3612119131 = STRING: "The SNMP Management Architecture MIB"
iso3612119132 = STRING: "The MIB for Message Processing and Dispatching"
iso3612119133 = STRING: "The management information definitions for the SNMP User-based Security Model"
iso3612119134 = STRING: "The MIB module for SNMPv2 entities"
iso3612119135 = STRING: "The MIB module for managing TCP implementations"
iso3612119136 = STRING: "The MIB module for managing IP and ICMP implementations"
iso3612119137 = STRING: "The MIB module for managing UDP implementations"
iso3612119138 = STRING: "View-based Access Control Model for SNMP"
iso3612119141 = Timeticks: (0) 0:00:0000
iso3612119142 = Timeticks: (0) 0:00:0000
iso3612119143 = Timeticks: (0) 0:00:0000
iso3612119144 = Timeticks: (0) 0:00:0000
iso3612119145 = Timeticks: (0) 0:00:0000
### And the walk goes on and on ###
删除SNMPv3账户
当net-snmp-config tool 运行过程中,该账户的有关信息会存储在var/lib/snmp/snmpdconf 和/usr/share/snmp/snmpdconf两个文件之中。删除账户即删除这个文件中的信息即可。
root@server:~# service snmpd stop
root@server:~# vim /var/lib/snmp/snmpdconf
## there should be a similar encrypted line that contains information on the user ##
## this line is removed ##
usmUser 1 3 0x80001f8880056e06573a1e895100000000 0x736e6d7076337573657200 0x736e6d7076337573657200 NULL 13616310112 0x945ed3c9708ea5493f53f953b45a4513 13616310122 0x945ed3c9708ea5493f53f953b45a4513 ""
root@server:~# vim /usr/share/snmp/snmpdconf
## The following line is removed ##
rouser snmpv3user
之后不要忘记重启snmpd
root@server:~# service snmpd start
在CentOS或者RHEL中配置SNMPv3
相比Ubuntu,在 CentOS 和 RHEL中配置SNMP v3用户的过程有点不同,但基本是相同的。
首先,使用yum安装必要的软件
[root@server ~]# yum install net-snmp-utils net-snmp-devel
安装完成之后, 先停止snmpd,再创建具有只读属性的SNMP 账户。
[root@server ~]# service snmpd stop
[root@server ~]# net-snmp-create-v3-user -ro -A snmpv3pass -a MD5 -x DES snmpv3user
## OUTPUT ##
adding the following line to /var/lib/net-snmp/snmpdconf:
createUser snmpv3user MD5 "snmpv3pass" DES
adding the following line to /etc/snmp/snmpdconf:
rouser snmpv3user
[root@server ~]# service snmpd start
SNMPv3测试
snmpwalk 是测试SNMP配置和输出出色的工具。成功的测试结果应当有大量的输出数据。
[root@server ~]# snmpwalk -u snmpv3user -A snmpv3pass -a MD5 -l authnoPriv 19216812 -v3
### OUTPUT ###
SNMPv2-MIB::sysDescr0 = STRING: Linux serverexampletst 2632-71el6i686 #1 SMP Fri Nov 12 04:17:17 GMT 2010 i686
SNMPv2-MIB::sysObjectID0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (28963) 0:04:4963
SNMPv2-MIB::sysORLastChange0 = Timeticks: (1) 0:00:0001
SNMPv2-MIB::sysORID1 = OID: SNMP-MPD-MIB::snmpMPDMIBObjects311
SNMPv2-MIB::sysORID2 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORID3 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID4 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID5 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID6 = OID: IP-MIB::ip
SNMPv2-MIB::sysORID7 = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID8 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORDescr1 = STRING: The MIB for Message Processing and Dispatching
SNMPv2-MIB::sysORDescr2 = STRING: The MIB for Message Processing and Dispatching
SNMPv2-MIB::sysORDescr3 = STRING: The SNMP Management Architecture MIB
SNMPv2-MIB::sysORDescr4 = STRING: The MIB module for SNMPv2 entities
SNMPv2-MIB::sysORDescr5 = STRING: The MIB module for managing TCP implementation
## and the output continues ##
删除SNMPv3账户
SNMPv3 账户信息被包含在两个文件之中。删除账户即删除这个文件中的信息即可。
root@server:~# service snmpd stop
root@server:~# vim /var/lib/net-snmp/snmpdconf
## there should be a similar encrypted line that contains information on the user ##
## this line is removed ##
usmUser 1 3 0x80001f8880056e06573a1e895100000000 0x736e6d7076337573657200 0x736e6d7076337573657200 NULL 13616310112 0x945ed3c9708ea5493f53f953b45a4513 13616310122 0x945ed3c9708ea5493f53f953b45a4513 ""
root@server:~# vim /etc/snmp/snmpdconf
## The following line is removed ##
rouser snmpv3user
root@server:~# service snmpd start
防火墙调节(可选)
下面的例子中的防火墙规则可以被用于限制被允许进行SNMP查询的源IP地址。两个IP地址(例如,1921681100/101)被置于白名单中。
root@server:~# iptables -A INPUT -s 1921681100/32 -p udp –dport 161 -j ACCEPT
root@server:~# iptables -A INPUT -s 1921681101/32 -p udp –dport 161 -j ACCEPT
root@server:~# iptables -A INPUT -p udp –dport 161 -j DROP
思科交换机和路由器配置SNMPv3
思科交换机和路由器同样支持SNMPv3。下面的例子将创建一个访问控制列表(ACL)限制允许做SNMP查询的源IP地址。但是,这步被跳过了。
设置访问控制列表(ACL)(可选)
## global config mode ##
ip access-list standard SNMP_ACL
permit 1921681100
permit 1921681100
SNMPv3 配置
下面的配置创建一个名为v3Group与认证AuthNoPriv安全级别v3的组。前面定义的可选访问列表也支持设定。
## global config mode ##
## With ACL ##
snmp-server group v3Group v3 auth access SNMP_ACL
## Without ACL ##
snmp-server group v3Group v3 auth
用户v3user被创建并添加在v3Group下。 MD5的密码和AES加密密钥也被定义。
snmp-server user v3user v3Group v3 auth md5 snmpv3pass priv aes 128 snmpv3pass
SNMPv3测试
SNMP用户和相关组可以在Cisco设备中查看。
### privileged EXEC mode ##
show snmp user
User name: v3user
Engine ID:
storage-type: nonvolatile active
Authentication Protocol: MD5
Privacy Protocol: AES128
Group-name: v3Group
任何Linux设备中的snmpwalk的都可以用来验证配置和检查输出。
snmpwalk -u snmpv3user -A snmpv3pass -a MD5 -l authnoPriv 19216813 -v3
iso36121110 = STRING: "Cisco IOS Software”
Technical Support: >你安装SITEVIEW的网管软件和IT运维管理系统吧,它专门针对服务器及IT硬件与IT的应用服务来监控运维的,比如SITEVIEW ECC88综全管理系统,SITEVIEW ITOSS IT运营支撑系统,NNM网络拓扑图,SITEVIEW CFR配置管理平台,SITEVIEW ALM资产管理平台等等,都可以对服务器、各种服务器系统、数据库,中间件(一般为文件服务的中间连接件),备份,网络设备,机房设备等等都可以实时监测,发现故障或者超设定的阀值发出警报,生成一些运行的报表等等,它们一般是通过SNMP简单网络管理协议和TR069协议,这是根据ITIL国际标准来的。只要支持这些协议的服务器系统都可以监控。我反正一安装就可用
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)