zoukankan      html  css  js  c++  java
  • [Linux]Linux下开启snmp支持IPV4和IPV6

    SNMP简介

    简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模型(database schema)和一组资源对象。该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。该协议是互联网工程工作小组(IETF,Internet Engineering Task Force)定义的internet协议簇的一部分。SNMP的目标是管理互联网Internet上众多厂家生产的软硬件平台,因此SNMP受Internet标准网络管理框架的影响也很大。SNMP已经出到第三个版本的协议,其功能较以前已经大大地加强和改进了。

    简单来说就是开启了SNMP协议的机器可以被解析SNMP报文的系统所监控,其中监控可以拿到的信息多少看SNMP具体的配置。

    IPV4 Linux安装SNMP

    如果是普通的IPV4Linux机器,在可以联网的情况下直接通过yum安装net-snmp组件。

    >yum -y install net-snmp*

    >cd /etc/snmp

    >mv snmpd.conf snmpd.conf.bak

    >vi snmpd.conf

    添加一下几行,或者只要第一行就可以:

    rwcommunity public
    syslocation "CN_SH"
    syscontact lei.wu@test.com

    【注意:默认的snmpd.conf文件有很多的配置,实际是细化了监控项目,删除全部内容的话可以保证获取完整的SNMP信息,此时snmpwalk命令获取的信息最多。如果不希望获取太多的信息,可以按照网上的配置,修改原始的snmpd.conf,开启指定监控项即可】

    >service snmpd restart

    >snmpwalk -v 2c -c public localhost

    这条命令会显示本机的SNMP可以获取的信息。获取的信息由snmpd.conf文件的配置多少决定的,这里我们没有使用默认的文件,而是直接添加了3行,此时获取的信息非常多。

    IPV6 Linux安装SNMP

    按照上面的配置可以处理普通的IPV4地址的Linux机器,但是如果本机同时或者只有IPV6地址的情况下,使用上面的配置无法获取snmpwalk -v 2c -c public ipv6add的信息。对于需要通过IPV6地址获取snmp信息情况需要修改部分配置步骤,详情如下:

    本机含有IPV4和IPV6的双地址:

    联网的情况下执行如下步骤:

    >yum -y install net-snmp*

    >cd /etc/snmp

    >mv snmpd.conf snmpd.conf.bak

    >vi snmpd.conf

    添加以下3行,或者只要第1行就可以:

    rwcommunity6 public
    syslocation "CN_SH"
    syscontact lei.wu@test.com

    【注意:和IPV4的配置相比,仅仅是在rwcommunity添加了个6.其他均不变。

    >snmpd udp6:161   【这一步很重要】

    >service snmpd restart

    >snmpwalk -v 2c -c public 2002:ac14:1414::5f

    远程机器无法获取snmpwalk信息问题解决

    1.首先确保本机通过IPV4,IPV6地址均可以获取snmpwalk的信息,如果无法获取,需要参考上面的配置重新配置。

    2.如果远程机器无法获取这个机器的IPV4,IP6地址的snmpwalk信息,需要检查这个机器Linux防火墙,关闭防护墙或者开放snmp端口:service iptables stop

    如果防火墙关闭,任然无法获取远程机器的snmpwalk信息(远程机器本机可以获取snmpwalk localhost信息)的话,可以考虑是否是修改了snmpd的端口(默认161端口)

    service snmpd status

    lsof -i:161

    如果snmpd服务运行,但是看不到161端口的信息,那么可以肯定是snmpd的默认端口被修改。查询snmpd的端口:

    ps -ef |grep snmpd

    或者查看

    vi /etc/rc.d/init.d/snmpd

    如果OPTIONS的配置和下面不同,说明可能修改了默认的端口,snmpwalk命令获取信息时不能通过默认的161,而应该通过如下命令获取:snmpwalk -v 2c -c public IP:16100

    关于如何修改SNMP默认的161端口,可以参考我的另一个随笔:[Linux]Linux修改snmp协议的默认161端口

  • 相关阅读:
    Digital image processing In C#
    C#数字图像处理(摘录)
    C# P/Invoke中传递数组参数
    字符常用方法(c#)——(待扩展)
    java监控多个线程的实现
    jdbc访问数据库
    java与MSSQL2000连接
    java下的日期函数实现
    MyEclipse中防止代码格式化时出现换行的情况的设置
    java InputStream读取数据问题
  • 原文地址:https://www.cnblogs.com/forfreewill/p/9178162.html
Copyright © 2011-2022 走看看