前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Cisco设备配置SNMPv3及原理说

Cisco设备配置SNMPv3及原理说

作者头像
py3study
发布2020-01-09 11:41:15
1.4K0
发布2020-01-09 11:41:15
举报
文章被收录于专栏:python3python3

  SNMP当前有三个版本,分别是SNMP v1、v2、v3。SNMP v1、v2有很多共同特征,但是SNMP v2在版本上得到了增强,例如额外的协议操作。SNMP v3在先前的版本的基础上增加了安全和远程配置能力。为了解决不通版本的兼容性问题,RFC3584定义了共同策略。以下针对每一个版本一一介绍:   SNMP v1是最初实施SNMP协议。SNMP v1运行在像UDP,ip,OSI无连接网络服务(CLNS),DDP(AppTalk Datagram-delivery),IPX(Novell Internet Packet Exchange)之上,SNMP v1广泛使用成为internet上实际的网络管理协议。   SNMP是一种简单的request/respond协议。网络管理系统发出一个请求,被管理设备返回响应。这些行为由四种协议操作组成:   GET,GetNext,Set和Trap。Get操作使用NMS来获取agent的一个或多个对象实例。如果agent返回get操作不能提供列表所有对象实例的值,就不能提供任何值。GetNext操作是NMS用来从agent表中获取表中下一个对象实例。Set操作NMS用来设置agent对象实例的值。Trap操作用于agent向NMS通告有意义的事件。   现在版本一不是没有自己的问题。版本一的主要问题是对消息源的验证,保护消息不会被泄露和对MIB的访问控制包括配置,状态,消息统计存储到数据库。   SNMP v2是1993年设计的,是v1的演进版本。Get,GetNext和Set操作相同于SNMP v1。然而SNMP v2增加和加强了一些协议操作。在SNMP v2中,如果再get-request中需要多个请求值,如果有一个不存在,请求照样会被正常执行。而在SNMP v1中将响应一个错误消息。在版本一中,Trap消息和其他几个操作消息的PDU不同。v2版本简化了trap消息,使trap和其他的get和set消息格式相同。   SNMP v2还定义了两个新的协议操作:GetBulk和Inform。GetBulk操作被用于NMS高效的获取大量的块数据,如表中一行中的多行。GetBulk将请求返回的响应消息尽量多的返回。Inform操作允许一个NMS来发送trap消息给其他的NMS,再接收响应。在SNMP v2,如果agent响应GetBulk操作不能提供list中的全部变量的值,则提供部分的结果。   SNMP v2最后的部分是改善安全,导致了SNMP v2的各个变种。从此,实际上SNMP v2有几个不同的“SNMP v2”,那其实有好几个SNMP v2的消息格式。但更糟糕的是原来模型中的SNMP消息并没有得到挽救。从SNMP v1中的SNMP v2中的协议操作导致SNMP v2 PDU的格式也必须改变。然而,这些协议操作在所有的SNMP v2变种中都必须相同。SNMP v2各个变种之间的不同在于安全的实施。因而各个SNMP v2变种之间的PDU都有相同的格式,而总的消息格式又都不同。   现在,在新发行的版本考虑了令v2版本恐慌的问题。SNMP v3结构增加了安全和管理能力,从而增强了其他版本功能。   SNMP v3在前面的版本上增加了安全能力和远程配置能力,SNMP v3结构为消息安全和VACM(View-base Access Control Model)引入了USM(User-based Security Model)。这个结构支持同时使用不同的安全机制,接入控制,消息处理模型。SNMP v3 也引入了使用SNMP Set命令动态配置SNMP agent而不失MIB对象代表agent配置。   以下针对SNMP v3配置步骤进行详细说明:   Router:   Route(config)#snmp-server community  RO/RW   Route(config)#snmp-server user   v3 authen md5 < authen password> priva aes 128    Route(config)#snmp-server group  v3 authen/priva   Route(config)#snmp-server host A.A.A.A inform version authen    Route(config)#snmp-server host A.A.A.A traps version 3 priva    Route(config)#snmp-server engineID remote A.A.A.A upd-port 162    Route(config)#snmp-server enable traps   Layer2 Switch:   Route(config)#snmp-server community RO/RW   Route(config)#snmp-server user  v3 authen md5  priva des56    Route(config)#snmp-server group  v3 authen/priva   Route(config)#snmp-server host A.A.A.A inform version 3 authe    Route(config)#snmp-server host A.A.A.A traps version 3 priva    Route(config)#snmp-server engineID remote A.A.A.A upd-port 162    Route(config)#snmp-server enable traps   提示:IOS版本需要带加密功能。按照上面步骤顺序来配置,如果先配置了组名,后配置用户名的话,会在show run | begin snmp 里发现snmp-server group XXX v3 read notify这条命令中多了read,会出现这种情况:Solarwinds0.0版本使用snmp v3版本可以连接上交换机,但是却无法得到任何接口信息,如果要去掉read,将snmp-server group v3 auth/priva这条命令再敲一遍就行了,这样Solarwinds就能获取到交换机上的接口信息了。另外,当配置好团体名之后,交换机会默认开启v1和v2版本的组,配置好v3版本之后,记得将v1和v2版本的组去掉。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档