adsl服务器客户端配置cisco_[SNMP] 工具及基本配置

这个世界上总有些你不喜欢,但是不得不用的东西,SNMP就是其中之一……

简介

SNMP,Simple Network Management Protocol,简单网络管理协议,由于过于古老,以至于以今天的眼光来看,不仅不简单,而且很难用: )

虽然难用,但SNMP提供了 key-value 形式的结构化的数据,跟在实际中几乎都是以字符串来表示 keyjson 没得比,但也强过你通过CLI去处理文本数据。

也因此,在其它的那些稀奇古怪的新玩意还没有真正变得“好用”之前,我们仍然离不开SNMP。

工具

工欲善其事,必先利其器。这话你们都听得耳朵起茧子了。

就好像你测试REST接口会用到Postman一样,测试设备的SNMP接口,我们也需要一个好用的工具来提高效率,这个工具就是ManageEngine推出的一款免费的工具——MIB Browser

P.S. Management Information Base,我的理解是,它就是网络设备上内置的一个数据,我们从厂商获取到的MIB文件,相当于这个东西的说明书,而MIB Browser实际上就是一个能解析这个说明书的工具,把它图形化的展示出来

下载连接戳这里 https://www.manageengine.com/products/mibbrowser-free-tool/

请注意,不要把它安装在C盘(系统盘),尤其是WIN10,会因为权限问题无法正常运行,这个工具的外壳做的比较粗糙……(本来就是免费的也就不能要求太高了……)

程序安装完成后的图标长这样,它实际上对应的是个bash脚本

9022adf9de631a7c3fefc6ecaca16765.png

af0ab459b92b7750f37b55a9e16924e7.png

所以运行的时候会弹出个黑框框,如果你关闭黑框框,程序也就停止了

如果你的电脑是高分屏,打开它会有些看不清字,那么只要这样操作——

在你安装程序的目录下(比如我这里是V: Protram Files )按如下路径找到java.exe

V:Program FilesManageEngineMibBrowser Free Tooljrebin

右键属性,选择兼容性选项卡,然后选择更改高DPI设置

3c7da815113ed9bc79487d72e40fc84c.png

e3d5344b2f767835e8c0a093107b5907.png

进一步选择系统(增强)来替代默认设置,程序的显示就会正常很多了

P.S. 因为真正运行的实际上是java.exe ,所以就必须要改它才有用

每次打开这个工具看到的都是下面这个界面,当然它其实是可以设置配置文件的,只不过……不是太好用所以还是算了

037f18ff4ff64af92b72e2e8fbee3664.png

最左侧是你加载的MIB文件,如前所述,它其实是帮你把复杂的SNMP说明书给解析了,当你加载一个MIB文件,它会把所有依赖的MIB都加载一遍,如果找得到的话(优先从加载MIB文件的那个目录里找)

P.S. 把所有MIB文件放在一起就好了,我的习惯是,我会找到某个设备,比如路由器所支持的MIB列表,然后把它们都放在一个文件夹里,这样就一定不会漏了……

右侧是你要访问的目标的信息,如果你选择了SNMPv3,那么Host和Port会变成灰色,Community和Write Community实际上变得没什么意义,这些后面的例子里我们再详细介绍,现在我们以Cisco IOS-XE Router为例,看看SNMP在设备上的一些配置问题。

P.S. 不同平台,不同品牌的设备的SNMP配置都有所不同,所以,详参设备配置手册或咨询厂家……

SNMP在Cisco IOS-XE Router上的配置

SNMPv2的配置,网工们都很熟了——

snmp-server community RO RO

这条CLI后面可以挂ACL,强烈建议挂,否则一旦你的community被人知道了,或者被猜到了,后果不堪设想

R1(config)# snmp-server community RO ro ?
  <1-99>       Std IP accesslist allowing access with this community string
  <1300-1999>  Expanded IP accesslist allowing access with this community
               string
  WORD         Access-list name
  ipv6         Specify IPv6 Named Access-List
  <cr>         <cr>

当然,更科学地做法是配置SNMPv3,支持认证和加密。我们一般不玩加密,因为太过消耗设备的性能,加密可以在其它地方做,典型的,你可以确保经过公共网络的流量总是被IPSec加密的。

IOS-XE的SNMPv3基于视图(VIEW)来授权,你需要把一个VIEW绑定到一个Group上。

你可以基于Group来挂ACL做进一步限制,也可以基于Group下的某个USER来挂ACL做限制,都行,看你喜好,如下的例子中没挂ACL,这当然是不推荐的——

snmp-server view READ-VIEW internet included
snmp-server group network v3 auth read READ-VIEW
snmp-server user monitor network v3 auth md5 cisco

注意snmp-server group network v3 auth,这里有三个选项——

R1(config)#snmp-server group network v3 ?
  auth    group using the authNoPriv Security Level
  noauth  group using the noAuthNoPriv Security Level
  priv    group using SNMPv3 authPriv security level

如果是只认证,记得选auth,而不要选priv,priv是一定要认证+加密的

关于这个,Cisco的Configuration Guide里给了一张表

7d2a4dcfa4207df9271247aae963c9b7.png
https://content.cisco.com/chapter.sjs?uri=%2Fsearchable%2Fchapter%2Fcontent%2Fen%2Fus%2Ftd%2Fdocs%2Fswitches%2Flan%2Fcatalyst3850%2Fsoftware%2Frelease%2F3se%2Fnetwork_management%2Fconfiguration_guide%2Fb_nm_3se_3850_cg%2Fb_nm_3se_3850_cg_chapter_0100.html.xml&platform=Cisco%20Catalyst%203850%20Series%20Switches&release=IOS%20XE%203SE​content.cisco.com

只有正确对应,才不会报错,否则设备会返回一些错误,你可以根据返回的错误,来检查自己的SNMP的配置和客户端传入的设置是否一致,比如,如果你的Group配置的是priv,意味着客户端既要提供认证,也需要加密,而如果客户端选择的是authNoPriv,那么你就会收到Authorization的错误

最后,生产环境一定记得挂ACL

R1(config)#snmp-server user monitor network v3 auth md5 cisco access ?
  <1-99>  Std IP accesslist allowing access with this username
  WORD    Access-list name
  ipv6    Specify IPv6 Named Access-List

说一下视图

视图的配置,代表该Group所能读取的数据的级别,如果你希望能读取所有的数据,那么这里可以设置为internet ,虽然它不是根,但是也没有和它平级的,几乎所有的MIB在它之下,详参OID Tree (图片随便搜一下就有……)

1a0f2384527417909eb6efb75d8773d2.png

当然,如果你的VIEW设置为其它的字符串,比如private,大概率你就只能读到private下面的东西了(我猜的,我没验证过)

P.S. 从图上可以看出,private下面都是厂家私有的一些MIB

例子——CDP

以CDP为例,首先,我们先加载CDP的MIB——CISCO-CDP-MIB

c3ccfaecc92c354eb841f25f2cdbde61.png

加载.my的文件,另外两个文件实际上是MIB Browser生成的……

如果你用文本编辑器打开这个.my的文件,实际上可以看到它的依赖关系——

fc4391ff1a5c0d974926faa797f65d01.png

嗯,反正这里这些都是它依赖的……

MIB Browser会自动加载它们,如果找不到,会给你报个错

加载完MIB,配置一下MIB Browser

界面上选择Edit-->Settings ——

167baa8f9998a68cd331d1fbc96c7836.png

默认是v1,这里我选了v3,然后选择Add添加一个主机(也就是网络设备或者其它什么支持SNMP的东东……)

5758aa591fb1df726df6bccb4b25ec66.png

P.S. 这里切一下英文输入法,否则会有些小问题影响操作

点选Apply的时候,它会自动去测试你的配置,如果有问题,是会报错的

然后我们一层层的去展开CDP那个MIB……见鬼的老长了好么

4591460d4771509978fa47b3b80e3578.png

嗯,还没完,继续展开……

fa6e49804e19cdbc7824d52781c7e6fd.png

好了,看到绿叶图标就是展开完了,有两种,一种就是个绿叶,一种带个叉叉,带叉叉的意思是只能GET不能SET,不带叉叉的绿色是可以SET的,当然,你要有对应的权限才行,在IOS-XE Router的SNMPv3中,这个权限也是靠VIEW控制的(其它品牌和平台可不一定哦……)

我们获取一下启动了CDP的接口看看,也就是cdpInterfaceEnable这个货色

505f14918515e73da10ec64fcff9beaf.png

获取到的结果会让你一脸懵逼——

5a170f31b62cb26500044da0844d2c76.png

通过这个接口看到的并不是真正启动了CDP的接口,而是启动了CDP的接口的……索引?好像是的。

如果你要知道cdpInterfaceEnable到底对应了个啥,你就需要去读另一个接口——cdpInterfaceName

01796da396e841bf9d5b42ca102ac910.png

所以,很多时候SNMP取出来的数据都是这样很底层的数据,为了获取一些信息,常常需要读取多个SNMP接口,然后在程序中做一些处理。

一个快速找到Cisco的MIB文件和MIB文件支持的List的连接……

ftp://ftp.cisco.com/pub/mibs/supportlists/

没错,一个FTP服务器,里面存了各个系列设备的supportlists,而每个lists文件里每个支持的MIB实际上是个超链接,可以直接点击下载……

ee66c15592361704bdc88fc4f2efdbaf.png

85b93b519cafda08d031a2a7bb13b36d.png

本篇就先介绍到这了,虽然不喜欢,但是不能不用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值