12.29 交换机snmp测试开发神器之net-snmp

平时我们测试开发交换机的snmp功能时广泛的用到了net-snmp,net-snmp是免费开源的,广泛用于snmp开发和测试。

今天讲一下如何在ubuntu上安装和使用net-snmp。

1.安装ubuntu后apt-get update

本文使用的是ubuntu 16.04服务器版,安装后请执行apt-get update进行更新

2.去net-snmp网站下载最新版的安装包(本文用的net-snmp-5.8.tar.gz),用winscp拷贝到根目录下,然后执行以下操作

1)解压文件包:

tar -zxvf net-snmp-5.8.tar.gz

2)解压后重命名下解压出来的文件夹,名字改为net-snmp(可以使用winscp修改)

3)添加权限

chmod -R 777 net-snmp

3.安装Ubuntu下的snmp的依赖包

apt-get install libperl-dev

4.安装gcc,安装make,后面会用到

apt-get install gcc

apt-get install make

5.进入到/net-snmp目录,开始安装

执行./configure --prefix=/usr/local/snmp,安装在/usr/local/snmp下,./configure后面可以接参数自定义,请自寻查资料

回车出现下面问题都可以直接回车,系统会使用默认值,日志文件默认路径为/var/log/snmpd.log,文件存储目录默认为/var/net-snmp/

    1、default version of-snmp-version(3):

    2、System Contact Information (@@no.where)(配置该设备的联系信息):

    3、System Location (Unknown)(该系统设备的地理位置):

    4、Location to write logfile (日志文件位置):

    5、Location to Write persistent(数据存储目录):

看到下面这个表示安装成功

---------------------------------------------------------

Net-SNMP configuration summary:

---------------------------------------------------------

6.配置snmpd.conf

将EXAMPLE.conf拷贝到/usr/local/snmp/share/snmp/目录下

cp /net-snmp/EXAMPLE.conf /usr/local/snmp/share/snmp/snmpd.conf

输入

vi /usr/local/snmp/share/snmp/snmpd.conf编辑snmd.conf,需要改的见下面加粗的部分

# AGENT BEHAVIOUR

#

# Listen for connections from the local system only

#agentAddress udp:127.0.0.1:161

# Listen for connections on all interfaces (both IPv4 *and* IPv6)

agentAddress udp:161,udp6:[::1]:161

# ACCESS CONTROL

#

# system + hrSystem groups only

view systemonly included .1.3.6.1.2.1.1

view systemonly included .1.3.6.1.2.1.25.1

view all include .1

# Full access from the local host

#rocommunity public localhost

# Default access to basic system info

rocommunity public default

# Full access from an example network

# Adjust this network address to match your local

# settings, change the community string,

# and check the 'agentAddress' setting above

7.启动snmp,查看是否安装成功

进入到/usr/local/snmp/sbin目录下,启动snmpd,执行命令:

cd /usr/local/snmp/sbin

./snmpd -c /usr/local/net-snmp/share/snmp/snmpd.conf

如何检验是否启动成功呢?可以通过查看进程的方式,使用命令ps -ef|grep snmpd,如果返回进程的相关信息,说明启动成功。

进入/usr/local/snmp/bin目录,执行./snmpwalk -v 2c -c public localhost system(public由snmpd.conf 中rocommunity决定),如果返回一大串信息而不是错误提示则安装成功。

8.配置snmp自启动,修改环境变量任意路径执行snmp

1)由于经常要测试snmp,所以设置成自动启动,输入“vi /etc/rc.local”在/etc/rc.local文件的exit 0前面加上下面这一行:

/usr/local/snmp/sbin/snmpd -c /usr/local/snmp/share/snmp/snmpd.conf &

注意一定要加到exit 0前面

2)修改环境变量任意路径执行snmp

在/etc/profile文件的末尾加上下面一段代码:

export PATH=/usr/local/snmp/bin:/usr/local/snmp/sbin:$PATH

再执行source命令

source /etc/profile

这样每次开机net-snmp会自启动,并且可以任意路径下执行snmp命令

9.使用snmp测试

命令如下

snmpwalk -v 2c -c public 192.168.1.10 .1.3.6.1.2.1.1.1.0

snmpwalk可以换成snmpget等,对应具体操作

2c对应的snmpv2c版本

public是共同体名称

192.168.1.10是交换机的IP,可以替换成具体的IP地址

.1.3.6.1.2.1.1.1.0是要查询的oid,可以替换成具体的oid


分享到:


相關文章: