从实战角度浅析snmp
Snmp Simple Network Management Protocol
Snmp最终是为五花八门的网管软件服务的,由于接触的网管软件较少,所以对snmp的理解至今还仅限于初级配置阶段。以下言论如有错误,请不吝斧正。
Snmp牵扯的成员有agent和NMS;agent是被管理端,也就是我们最常接触的路由器,交换机等网络设备; NMS(network management system)是管理端,也就是我们不常接触的五花八门的网管软件。
Snmp的信息资源叫MIB(management information base)。这里面定义的是设备某些属性的标识,有公有的有私有的;NMS要想获得agent的某些数据,必须要知道该设备的MIB。这个MIB在设备上可以显示出来,show snmp mib 可以在锐捷设备上大约查看下某些信息代码
实战之方式1
Snmp在数据交流主动性上可分为两个方式,
方式1:等待nms来采集agent的数据。agent开放udp 161端口
方式2:agent主动向snmp发送某些信息。agent向nms的udp 162发送消息
方式1中有这么几个属性:
Community:相当于密码,只有密码正确才允许获取我的信息
Priority:权限,是只读还是读写
Nms地址:只有指定的地址才能采集,不指定则表示允许所有
View: 以怎么样的视图来采集(没见过也不理解snmpv3中的概念)
需求:采集机地址 1.1.1.1 1.1.1.2; 团体字: WLAN;只读
锐捷设备配置:
Ruijie(config)#snmp-serve community WLAN ro host 1.1.1.1
Ruijie(config)#snmp-serve community WLAN ro host 1.1.1.2
如上配置看似很合理,其实不然;如果这样配置 后面的命令就覆盖了前面的命令,也就是到最后只允许1.1.1.2 来采集,正确配置如下:
Ruijie(config)#ip access-list standard 1
Ruijie(config-std-nacl)#permit 1.1.1.1 0.0.0.0
Ruijie(config-std-nacl)#permit 1.1.1.2 0.0.0.0
Ruijie(config)#snmp-server community WLAN ro 1
华为的配置更绝,干脆不允许写host,哪怕只允许一个地址,也得写acl;
[HW-9306]snmp-agent community read WLAN ?
acl Set access control list for this community
mib-view Set the MIB view which the community can access
所以在有多个采集机地址的时候,大部分工程师将会放行所有,不会去找麻烦写acl了。
实战之方式2
Trap功能的几个必须属性(此三个属性缺一不可):
1. 作用范围(默认好像只有端口up、down 不确定)
2. Community
3. 目标地址(以及基于这个地址的作用范围)
在一些实时性要求比较高的网管软件(比如拓扑需要动态变化)中,就需要用到agent的trap功能,以便当拓扑发生变化的时候,nms能立刻获得消息并及时更新拓扑。
其实trap消息最主要的功能就是当自身的某个接口down了或者up了的时候,agent发一个trap消息告知nms;从命令上来看,snmp发消息的范围实际上很小,它仅仅向nms 报告一些紧急重要的消息。大可不必担心开启trap会占用太多的设备资源
Ruijie(config)#snmp-server enable traps ?
bgp Enable BGP state change Traps or Informs
bridge Enable SNMP STP Bridge MIB Traps or Informs
entity Enable SNMP entity Traps or Informs
mac-notification Enable MAC Notification Traps or Informs
nfpp Enable NFPP Traps or Informs
ospf Enable OSPF Traps or Informs
snmp Enable authentication trap
urpf Enable URPF Traps or Informs
vrrp Enable VRRP Traps or Informs
web-auth Enable WEB-AUTH Traps or Informs
使用trap 的误区:经常见到如下这样的配置
snmp-server enable traps
snmp-server community WLAN ro
如上配置的问题在于,trap功能开启但是缺少了一个必要属性-目的IP地址,其实也不难理解,仅仅开启了trap功能,却没有指定目的地址,让agent往什么地方发这个trap消息呢?所以注意 snmp-server enable traps 命令,必须配合snmp-server host …… 命令一起使用。
锐捷设备trap 的命令逻辑
snmp-server host 1.1.1.1 traps WLAN
snmp-server host 1.1.1.1 traps WLAN vrrp
snmp-server enable traps ospf
snmp-server enable traps bgp
如上四条命令解读:全局下trap作用范围是ospf和bgp;向1.1.1.1发送默认的bgp和ospf消息,另外再向1.1.1.1 发送全局没开启的vrrp消息。
snmp-server enable traps 表示开启了所有的范围,因为这条命令敲下,关于 ospf 和bgp的命令就被覆盖掉了。
Trap 最主要的功能是报告接口up、down的信息,但是我们在开启trap的命令后面却没有发现链路up、down的选项。其实这个信息是基于接口的
Ruijie(config-GigabitEthernet 0/1)#snmp trap ?
link-status Allow SNMP LINKUP and LINKDOWN traps
mac-notification MAC Address notification for the interface
留一个问题:
按如上四条命令配置的话:agent还会向1.1.1.1 发接口up、down消息吗?
毕竟我们全局下只开启了ospf和bgp; 针对1.1.1.1 也只添加了一个vrrp。
|
知识回顾 Snmp Simple Network Management Protocol Snmp最终是为五花八门的网管软件服务的,由于接触的网管软件较少,所以对snmp的理解至今还仅限于初级配置阶段。以下言论如有错误,请不吝斧正。 Snmp牵扯的成员有agent和NMS;agent是被管理端,也就是我们最常接触的路由器,交换机等网络设备; NMS(network management system)是管理端,也就是我们不常接触的五花八门的网管软件。 Snmp的信息资源叫MIB(management information base)。这里面定义的是设备某些属性的标识,有公有的有私有的;NMS要想获得agent的某些数据,必须要知道该设备的MIB。这个MIB在设备上可以显示出来,show snmp mib 可以在锐捷设备上大约查看下某些信息代码 |
|
实战之方式1 Snmp在数据交流主动性上可分为两个方式, 方式1:等待nms来采集agent的数据。agent开放udp 161端口 方式2:agent主动向snmp发送某些信息。agent向nms的udp 162发送消息 方式1中有这么几个属性: Community:相当于密码,只有密码正确才允许获取我的信息 Priority:权限,是只读还是读写 Nms地址:只有指定的地址才能采集,不指定则表示允许所有 View: 以怎么样的视图来采集(没见过也不理解snmpv3中的概念) 需求:采集机地址 1.1.1.1 1.1.1.2; 团体字: WLAN;只读 锐捷设备配置: Ruijie(config)#snmp-serve community WLAN ro host 1.1.1.1 Ruijie(config)#snmp-serve community WLAN ro host 1.1.1.2 如上配置看似很合理,其实不然;如果这样配置 后面的命令就覆盖了前面的命令,也就是到最后只允许1.1.1.2 来采集,正确配置如下: Ruijie(config)#ip access-list standard 1 Ruijie(config-std-nacl)#permit 1.1.1.1 0.0.0.0 Ruijie(config-std-nacl)#permit 1.1.1.2 0.0.0.0 Ruijie(config)#snmp-server community WLAN ro 1 华为的配置更绝,干脆不允许写host,哪怕只允许一个地址,也得写acl; [HW-9306]snmp-agent community read WLAN ? acl Set access control list for this community mib-view Set the MIB view which the community can access 所以在有多个采集机地址的时候,大部分工程师将会放行所有,不会去找麻烦写acl了。 |
|
实战之方式2 Trap功能的几个必须属性(此三个属性缺一不可): 1. 作用范围(默认好像只有端口up、down 不确定) 2. Community 3. 目标地址(以及基于这个地址的作用范围) 在一些实时性要求比较高的网管软件(比如拓扑需要动态变化)中,就需要用到agent的trap功能,以便当拓扑发生变化的时候,nms能立刻获得消息并及时更新拓扑。 其实trap消息最主要的功能就是当自身的某个接口down了或者up了的时候,agent发一个trap消息告知nms;从命令上来看,snmp发消息的范围实际上很小,它仅仅向nms 报告一些紧急重要的消息。大可不必担心开启trap会占用太多的设备资源 Ruijie(config)#snmp-server enable traps ? bgp Enable BGP state change Traps or Informs bridge Enable SNMP STP Bridge MIB Traps or Informs entity Enable SNMP entity Traps or Informs mac-notification Enable MAC Notification Traps or Informs nfpp Enable NFPP Traps or Informs ospf Enable OSPF Traps or Informs snmp Enable authentication trap urpf Enable URPF Traps or Informs vrrp Enable VRRP Traps or Informs web-auth Enable WEB-AUTH Traps or Informs 使用trap 的误区:经常见到如下这样的配置 snmp-server enable traps snmp-server community WLAN ro 如上配置的问题在于,trap功能开启但是缺少了一个必要属性-目的IP地址,其实也不难理解,仅仅开启了trap功能,却没有指定目的地址,让agent往什么地方发这个trap消息呢?所以注意 snmp-server enable traps 命令,必须配合snmp-server host …… 命令一起使用。 锐捷设备trap 的命令逻辑 snmp-server host 1.1.1.1 traps WLAN snmp-server host 1.1.1.1 traps WLAN vrrp snmp-server enable traps ospf snmp-server enable traps bgp 如上四条命令解读:全局下trap作用范围是ospf和bgp;向1.1.1.1发送默认的bgp和ospf消息,另外再向1.1.1.1 发送全局没开启的vrrp消息。 snmp-server enable traps 表示开启了所有的范围,因为这条命令敲下,关于 ospf 和bgp的命令就被覆盖掉了。 Trap 最主要的功能是报告接口up、down的信息,但是我们在开启trap的命令后面却没有发现链路up、down的选项。其实这个信息是基于接口的 Ruijie(config-GigabitEthernet 0/1)#snmp trap ? link-status Allow SNMP LINKUP and LINKDOWN traps mac-notification MAC Address notification for the interface 留一个问题: 按如上四条命令配置的话:agent还会向1.1.1.1 发接口up、down消息吗? 毕竟我们全局下只开启了ospf和bgp; 针对1.1.1.1 也只添加了一个vrrp。 |
从实战角度浅析snmp的更多相关文章
- 从Bayesian角度浅析Batch Normalization
前置阅读:http://blog.csdn.net/happynear/article/details/44238541——Batch Norm阅读笔记与实现 前置阅读:http://www.zhih ...
- 程序员从宏观、微观角度浅析JVM虚拟机!
1.问题 1.JAVA文本文件如何被翻译成CLASS二进制文件? 2.如何理解CLASS文件的组成结构? 3.虚拟机如何加载使用类文件的生命周期? 4.虚拟机系列诊断工具如何使用? 5.虚拟机内存淘汰 ...
- 实战角度比较EJB2和EJB3的架构异同
] EJB编程模型的简化 首先,EJB3简化的一个主要表现是:在EJB3中,一个EJB不再象EJB2中需要两个接口一个Bean实现类,虽然我们以前使用JBuilder这样可视化开发工具自动生成了EJB ...
- 数据准备<2>:数据质量检查-实战篇
上一篇文章:<数据质量检查-理论篇>主要介绍了数据质量检查的基本思路与方法,本文作为补充,从Python实战角度,提供具体的实现方法. 承接上文,仍然从重复值检查.缺失值检查.数据倾斜问题 ...
- LwIP Application Developers Manual5---高层协议之DHCP,AUTOIP,SNMP,PPP
1.前言 本文主要讲述高层协议,包括DHCP 2.DHCP 2.1 从应用的角度看DHCP 你必须确保在编译和链接时使能DHCP,可通过在文件lwipopts.h里面定义LWIP_DHCP选项,该选项 ...
- 基于ArduinoLeonardo板子的BadUSB攻击实战
0X00 前言 在Freebuf上许多同学已经对HID攻击谈了自己的看法,如维克斯同学的<利用Arduino快速制作Teensy BadUSB>无论从科普还是实践都给我们详尽的描述了Bad ...
- 学习TF:《TensorFlow机器学习实战指南》中文PDF+英文PDF+代码
从实战角度系统讲解TensorFlow基本概念及各种应用实践.真实的应用场景和数据,丰富的代码实例,详尽的操作步骤,带你由浅入深系统掌握TensorFlow机器学习算法及其实现. <Tensor ...
- MySQL数据分析实战-朱元禄-专题视频课程
MySQL数据分析实战-496人已学习 课程介绍 本套课程由知名数据分析博主jacky老师录制,深入浅出讲解MySQL数据分析,从实战角度出发,帮助大家制胜职场!课程收益 1.学会 ...
- 谈谈我眼中的CSDN吧
昨天逛博客园看到了这篇曝光率很高的文章:博客搬家——从CSDN到博客园,一篇短短的文章竟然招致这么多人的讨论,可能程序员就喜欢“Java好还是PHP好”这类型的问题吧,好无聊.由于我一直在使用CSDN ...
随机推荐
- 005---Linux文件与目录管理
文件与目录管理 路径 绝对路径:从根目录开始的路径为绝对路径 ls /home cd /etc 相对路径:从当前路径开始描述为相对路径 cd ../../:.表示当前目录:..表示上级目录 ls ab ...
- dfs 队列
题目来源 poj 1562 Description The GeoSurvComp geologic survey company is responsible for detecting unde ...
- Codecraft-18 and Codeforces Round #458:D,Bash and a Tough Math Puzzle
题目传送门 题目大意:Bash喜欢对数列进行操作.第一种操作是询问l~r区间内的gcd值是否几乎为x,几乎为表示能否至多修改一个数达到.第二种操作是将ai修改为x.总共Q个询问,N个数. Soluti ...
- 成都Uber优步司机奖励政策(3月27日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 天津Uber优步司机奖励政策(12月14日到12月20日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- VINS(五)非线性优化与在线标定调整
首先根据最大后验估计(Maximum a posteriori estimation,MAP)构建非线性优化的目标函数. 初始化过程通过线性求解直接会给出一个状态的初值,而非线性优化的过程关键在于求解 ...
- netty之粘包分包的处理
1.netty在进行字节数组传输的时候,会出现粘包和分包的情况.当个数据还好,如果数据量很大.并且不间断的发送给服务器,这个时候就会出现粘包和分包的情况. 2.简单来说:channelBuffer在接 ...
- journalctl 日志查看方法
1 概述 日志管理工具journalctl是centos7上专有的日志管理工具,该工具是从message这个文件里读取信息.Systemd统一管理所有Unit的启动日志.带来的好处就是,可以只用jo ...
- 基于Kafka的服务端用户行为日志采集
本文来自网易云社区 作者:李勇 背景 随着互联网的不断发展,用户所产生的行为数据被越来越多的网站重视,那么什么是用户行为呢?所谓的用户行为主要由五种元素组成:时间.地点.人物.行为.行为对应的内容.为 ...
- iOS WKWebView添加进度条02
之前写了一个是关于webview添加进度条的,现在补一个WKWebView进度条. //添加一个全局属性 @property(nonatomic,strong)CALayer *progresslay ...