博客
关于我
SNMP介绍及使用,超有用,建议收藏!
阅读量:415 次
发布时间:2019-03-06

本文共 2922 字,大约阅读时间需要 9 分钟。

写在前面

如果你是对SNMP完全不了解,或者只想学习如何使用现成的SNMP工具,那你找对了文章。但如果你希望深入了解SNMP具体协议内容,推荐阅读官方的RFC文档。

1. 简介

SNMP(Simple Network Management Protocol)是TCP/IP协议簇上的一个通用网络管理协议,为网络节点提供了统一的管理方法。对于系统维护人员来说,掌握SNMP是必不可少的技能。尤其是对于BMC工程师而言,SNMP常常会被部署在Linux系统中,用于管理BMC监视的硬件资源。

2. MIB介绍

在深入了解SNMP之前,你必须先了解MIB。MIB的全称是Management Information Base,其主要作用是为所有被管理网络节点创建一个接口,类似于IP地址的一串数字。例如,在SNMP操作中,你可能会遇到如`.1.3.6.1.2.1.1.5.0`这样的数字串。

以下是这串数字的含义表:

数字位置 描述
1 iso
3 org
6 dod
1 internet
2 mgmt
1 mib-2
5 system
0 sysName
0 end

这串数字实际上可以用来引用系统的名称。在实际使用中,我们通常使用更易读的方式来表示,比如SNMPv2-MIB::sysName.0。下载SNMP工具包时,会附带MIB包,提供节点的树形结构,方便查找和替换表达方式。或者,你也可以参考MIB转换工具来完成。

3. SNMP原理介绍

SNMP分为两部分:一个是用于节点管理,另一个是用于监测报警的Trap。可以将SNMP看作是一个客户机/服务器结构。在客户端,一般部署snmpd守护进程,管理端则下载SNMP工具包,包含管理客户端网络节点的工具,如getsettranslate等。

管理端通常会监听默认端口161,负责接收请求包。同时,管理端还会启动snmptrapd守护进程,监听Trap包,用于报警。一旦检测到被管理端的某个节点出现故障,系统会自动发送Trap包,通知管理员进行处理。

4. 实际运用

目前较为流行的SNMP工具有Net-SNMP和iReasoning MIB Browser。

4.1 Net-SNMPNet-SNMP是运行在Linux系统中的一个常用工具包。安装方法有多种,可以从官方网站下载,也可以通过Linux发行版包管理工具安装。安装完成后,可以通过修改/etc/snmp/snmpd.conf文件进行配置。

常用SNMP工具包括:

  • snmpd:SNMP守护进程,用于管理客户端,配置方式是通过修改snmpd.conf文件。可以通过命令sudo /etc/init.d/snmpd restart/start/stop控制进程状态。
  • snmpget:用于获取远端节点的值。例如,使用snmpget -v 2c -c public localhost SNMPv2-MIB::sysName.0可以获取被管理端的系统名称。
  • snmpset:用于设置节点值。例如,snmpset -v 2c -c public localhost SNMPv2-MIB::sysContact.0 s 'test'可以设置系统联系人信息。
  • snmpwalk:用于遍历节点的所有子节点,获取所有管理信息。例如,snmpwalk -v 2c -c public localhost SNMPv2-MIB::system可以查看系统节点下的所有子节点信息。
  • snmptranslate:用于将OID转换为对应的节点表示。例如,snmptranslate -Td SNMPv2-MIB::system可以获取system节点对应的数字OID。
  • snmptrap:用于向管理端发送Trap包。例如,sudo snmptrap -v 2c -c public localhost "cxy" .1.3.6.1.2.1.1 SNMPv2-MIB::sysContact.0 s 'test'可以向管理端发送Trap包,通知系统发生了变化。

4.2 MIB-BrowserMIB-Browser是一款图形化的SNMP工具,界面简单易用。它提供了Trap接收器和Trap发送器功能,适合需要管理多个网络节点的管理员使用。

5. 常见问题解答

  • 获取信息时出现超时或被拒绝你应该检查`snmpd.conf`文件中的社区名称是否与命令中的`-c`选项一致,或者确保防火墙没有阻止SNMP通信。通常情况下,防火墙是导致问题的主要原因。
  • snmpset时出现无权限的问题需要在`snmpd.conf`文件中配置`rwcommunity`,并确保社区名称正确。
  • snmptrap失败查看`snmptrapd.conf`文件的配置,确保 Trap 接收器已经启动。
  • OID查找不到的情况下载`snmp-mibs-downloader`包,并将`/etc/snmp/snmp.conf`文件中的第一行注释掉,以允许MIB文件加载。
  • 6. 配置示例

    以下是基于Ubuntu 16.04系统的Net-SNMP配置示例:

    • /etc/snmp/snmp.conf
    # As the snmp packages come without MIB files due to license reasons, loading# of MIBs is disabled by default. If you added the MIBs you can reenable# loading them by commenting out the following line.#mibs :
    • /etc/snmp/snmpd.conf
    ## EXAMPLE-trap.conf:#  An example configuration file for configuring the Net-SNMP snmptrapd agent.################################################################################### 这个文件只是作为示例使用,具体配置请根据需求调整。## 所有以#开头的行是注释,供你参考,其他行是配置命令。## 请参考`snmptrapd.conf(5)`手册进行详细配置。authCommunity log,execute,net private authCommunity log,execute,net public### 发送邮件通知事件traphandle default /usr/bin/traptoemail -s smtp.qq.com 1484652026@qq.com### 发送邮件通知链路下线traphandle .1.3.6.1.6.3.1.1.5.3 /usr/bin/traptoemail -s smtp.example.org foobar@example.org

    以上配置文件可以根据实际需求进行调整,确保SNMP服务正常运行。

    转载地址:http://vhakz.baihongyu.com/

    你可能感兴趣的文章
    opencv6-调整图像亮度和对比度
    查看>>
    opencv7-绘制形状和文字
    查看>>
    opencv8-图像模糊
    查看>>
    opencv9-膨胀和腐蚀
    查看>>
    OpenCV_ cv2.imshow()
    查看>>
    opencv_core.dir/objects.a(vs_version.rc.obj)‘ is incompatible with i386:x86-64 output
    查看>>
    opencv——图像缩放1(resize)
    查看>>
    opencv——最简单的视频读取
    查看>>
    Opencv——模块介绍
    查看>>
    OpenCV与AI深度学习 | 2024年AI初学者需要掌握的热门技能有哪些?
    查看>>
    OpenCV与AI深度学习 | CIB-SE-YOLOv8: 优化的YOLOv8, 用于施工现场的安全设备实时检测 !
    查看>>
    OpenCV与AI深度学习 | CoTracker3:用于卓越点跟踪的最新 AI 模型
    查看>>
    OpenCV与AI深度学习 | OpenCV中八种不同的目标追踪算法
    查看>>
    OpenCV与AI深度学习 | OpenCV图像拼接--Stitching detailed使用与参数介绍
    查看>>
    OpenCV与AI深度学习 | OpenCV如何读取仪表中的指针刻度
    查看>>
    OpenCV与AI深度学习 | OpenCV常用图像拼接方法(一) :直接拼接
    查看>>
    OpenCV与AI深度学习 | OpenCV常用图像拼接方法(三):基于特征匹配拼接
    查看>>
    OpenCV与AI深度学习 | OpenCV常用图像拼接方法(二) :基于模板匹配拼接
    查看>>
    OpenCV与AI深度学习 | OpenCV常用图像拼接方法(四):基于Stitcher类拼接
    查看>>
    OpenCV与AI深度学习 | OpenCV快速傅里叶变换(FFT)用于图像和视频流的模糊检测(建议收藏!)
    查看>>