一、安装snmp服务
1、下载安装包net-snmp-5.7.1.tar.gz
下载地址:http://sourceforge.net/projects/net-snmp/files/net-snmp/5.7.1/
2、将net-snmp-5.7.1.tar.gz上传到虚拟机,我是上传到/root目录下
3、使用命令 tar xzvf net-snmp-5.7.1.tar.gz 对安装包进行解压,解压成功后得到一个net-snmp-5.7.1文件夹
4、进入解压的net-snmp-5.7.1目录,执行命令
./configure --prefix=/usr/local/snmp
(说明:net-snmp-5.7.1目录下的configure是可执行文件,如果想指定程序包的安装路径,那么首先建立相应的文件夹来存放安装信息,可以写成./configure –-prefix=/指定的路径名。参数–prefix用来告诉系统安装信息存放的路径,如果没有指定路径,直接执行./configure,那么程序包都会安装在系统默认的目录下,通常为:/usr/local下)
出现这个界面,按回车
回车后出现下面问题,可以直接回车而不用回答,系统会采用默认信息,其中日志文件默认安装在/var/log/snmpd.log.数据存储目录默认存放在/var/net-snmp下
1、Default version of SNMP to use(3):
2、System Contact Information (@@no.where)(配置该设备的联系信息):
3、System Location (Unknown)(该系统设备的地理位置):
4、Location to write logfile(/var/log/snmpd.log) (日志文件位置):
5、Location to write persistent information(/var/net-snmp)(数据存储目录):
5、编译和安装
执行"make && make install"命令
6、配置snmpd.conf
6.1、查看/usr/local/snmp目录下是否存在是否存在etc目录,如果不存在etc目录,就创建一个
mkdir /usr/local/snmp/etc
6.2、找到SNMP源码目录(net-snmp-5.7.1)下EXAMPLE.conf文件,如下图所示
6.3、复制EXAMPLE.conf文件到到/usr/local/snmp/etc目录,并重命名为snmpd.conf:
cp EXAMPLE.conf /usr/local/snmp/etc/snmpd.conf
6.4、编辑/usr/local/snmp/etc/snmpd.conf文件
要配置snmpd.conf中内容如下
1、配置允许网络访问
找到【AGENT BEHAVIOUR】,如下图所示:
修改如下:添加"agentAddress udp:161"配置项,如下图所示:
2、设置访问权限
找到【ACCESS CONTROL】如下图所示:
找到【rocommunity public default -V systemonly】,把 -V systemonly去掉,这是设置访问权限的,去掉后能访问全部。
把rocommunity改成rwcommunity,rocommunity是只读,rwcommunity是读写。如下图所示:
3、选择v2c SNMP协议的版本
找到【ACTIVE MONITORING】,如下图所示:
修改如下
二、启动snmp服务
1、执行如下命令启动snmp服务:
/usr/local/snmp/sbin/snmpd -c /usr/local/snmp/etc/snmpd.conf
如下图所示:
2、测试SNMP
获取本机的系统名字,使用命令:"snmpget -v 2c -c public localhost sysName.0"或者"snmpget -v 2c -c public 本机的ip地址 sysName.0"或者"snmpget -v 2c -c public 本机的ip地址 .1.3.6.1.2.1.1.5.0"进行测试
执行以下的几个命令都可以获取到本机的系统名字:
snmpget -v 2c -c public localhost sysName.0
snmpget -v 2c -c public snmp服务本机ip sysName.0
snmpget -v 2c -c public localhost .1.3.6.1.2.1.1.5.0
如下图所示:
能够正常返回系统的名字就说明SNMP安装配置成功了。也可以使用命令"snmpget --version"查看当前的安装版本号来验证是否安装成功,如果安装成功,则显示当前的安装版本号,如下图所示:
三、卸载snmp
如果安装后想卸载SNMP,可以执行"make uninstall"命令,卸载步骤如下:
1、使用"ps -ef|grep snmp"查看snmp服务是否启动
2、如果已经启动就使用命令"ps aux | grep snmp | grep -v grep |awk ‘{print $2}’| xargs kill"关闭snmp的相关服务
3、find / -name “snmp.conf” 将找到的snmp.conf文件删除
4、find / -name “snmpd.conf” 将找到的snmp.conf文件删除
5、进入SNMP源码目录(net-snmp-5.7.1)
6、执行"make uninstall"命令卸载SNMP
7、删除/usr/local下的snmp目录以及snmp目录里面的所有文件,usr/local/snmp是SNMP的安装路径
8、whereis snmp 将查出来的目录删掉(rm -rf 目录)
9、find / -name snmp 将查出来的目录(下图红框选中的)删除,类似/proc/1/net/snmp不用删除,也没有删除的权限
参考地址
linux下安装和配置SNMP:https://www.cnblogs.com/xdp-gacl/p/4016524.html