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端口

[Linux]Linux下开启snmp支持IPV4和IPV6的更多相关文章

  1. linux系统下开启一个简单的web服务

    linux 下开启一个简单的web服务: 首先需要linux下安装nodejs 然后创建一个test.js:   vi test.js var http =require("http&quo ...

  2. c/c++11封装UDP,支持ipv4和ipv6,支持接收和发送

    更新日志 11/06/2021 1.增加IPV6 2.ipv6通过windows10初步测试 3.ipv6包括: 接收和发送 5.增加错误代码接口 6.本机IPv6截图 7.编译通过截图 8.ipv6 ...

  3. Linux/CentOS下开启MySQL远程连接,远程管理数据库

    当服务器没有运行PHP.没装phpMyAdmin的时候,远程管理MySQL就显得有必要了. 第一步:开启MySQL用户的远程访问权限 mysql -u root -p mysql # 第1个mysql ...

  4. linux mint 下mysql中文支持问题

    一.mysql默认不支持中文,它的server和db默认是latin1编码.所以我们要将其改变为utf-8编码,因为utf-8包含了地球上大部分语言的二进制编码 1.关闭mysql服务 sudo /e ...

  5. 关于在 java 8 下开启 TLS_RSA_WITH_3DES_EDE_CBC_SHA 支持 xp ie8 tls1.0 的正常访问

    最近为 aioserver 增加了ssl支持. 在 myssl.com 上测试了一下,关于[客户端握手模拟]发现 ie8 xp tls1.0  这一项提示:握手失败 (服务器断开连接) 我又试了一下 ...

  6. 修改SS配置文件使其同时支持IPV4和IPV6网络

    将/etc/shadowsocks-libev/config.json文件中的 "server":"0.0.0.0", 修改为: "server&qu ...

  7. oracle11G 同时支持IPV4和IPV6配置

    1.修改listener.ora文件 LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ...

  8. [Linux]Linux下修改snmp协议的默认161端口

    一.Linux SNMP的配置 SNMP的简介和Linux下IPV4,IPV6地址的snmp协议开启可以参考上一个随笔:[Linux]CentOS6.9开启snmp支持IPV4和IPV6 二.修改默认 ...

  9. Linux系统下安装ncurses库

    ncurses库是一个Linux系统下的图形支持的函数库,字符终端处理库,包括面板和菜单. 今天在安装ncurses库的时候遇到了一些问题,现将遇到的问题所叙如下: 首先说明:本次安装采用的是源码包的 ...

随机推荐

  1. Unity --- 如何降低UI的填充率

    1.首先简单介绍一下什么叫填充率: Fill Rate(填充率)是指显卡每帧或者说每秒能够渲染的像素数.在每帧绘制中,如果一个像素被反复绘制的次数越多,那么它占用的资源也必然更多.目前在移动设备上,F ...

  2. python中进程间通讯——文件锁之fcntl模块的使用

    python 中给文件加锁——fcntl模块import fcntl 打开一个文件##当前目录下test文件要先存在,如果不存在会报错.或者以写的方式打开f = open('./test')对该文件加 ...

  3. C#读取text内容并且于testbox中展现 保留换行实现方法

    直接上代码 //新建一个储存的list List<string> listLines = new List<string>(); StreamReader sr = new S ...

  4. memtrack: Couldn't load memtrack module (No such file or directory) 的问题解决

    通过了编译,可是在模拟器运行时,却出现stopping…….查看logcat,发现出现错误: E/memtrack: Couldn't load memtrack module (No such fi ...

  5. python 查看文件名和文件路径

    查看文件名和文件路径 1 >>> import os 2 >>> url = 'https://images0.cnblogs.com/i/311516/20140 ...

  6. Oracle中序列(Sequence)详解

    一 序列定义 序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字).不占用磁盘空间,占用内存. 其主要用途是生成表的主键值,可以在插入语句中引用,也 ...

  7. spring cloud服务发现注解之@EnableDiscoveryClient与@EnableEurekaClient区别

    在使用服务发现的时候有两种注解, 一种为@EnableDiscoveryClient, 一种为@EnableEurekaClient, 用法上基本一致,下文是从stackoverflow上面找到的对这 ...

  8. Spring注解之 @EnableScheduling计划任务注解

    要实现计划任务,首先通过在配置类注解@EnableScheduling来开启对计划任务的支持, 然后在要执行计划任务的方法上注解@Scheduled,声明这是一个计划任务 示例:计划任务执行类 在这个 ...

  9. zkw线段树模板题

    学了zkw线段树,觉得没什么必要刷专题的吧(切不动啊).. 那先放一个模板题吧(我绝不会和你说搬了一道树状数组模板题的!!!) 题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某一个数加 ...

  10. linux 逻辑卷管理 /dev/mapper/VolGroup-lv_root 100%调整分区大小

    1.解决过程 # df -h   // 查看分区 # umount /home   // 取消挂载 # e2fsck -f /dev/mapper/VolGroup-lv_home   // 分区检测 ...