平时我们测试开发交换机的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
閱讀更多 網絡知識分享君 的文章