Redhat6.5配置SNMP5.7.1(tar包编译安装)
一、安装与测试
1、检查系统版本:
2、确认gcc环境
通过net-snmp编译包安装,需要系统提前安装好gcc环境。
没有安装的看下面文章的步骤
https://www.cnblogs.com/chuncn/archive/2010/10/15/1851853.html
3、下载安装包net-snmp-5.7.1.tar.gz
下载地http://sourceforge.net/projects/net-snmp/files/net-snmp/5.7.1/
上传压缩包或gunzip net-snmp-5.7.3.tar.gz
使用命令 tar xzvf net-snmp-5.7.1.tar.gz 对安装包进行解压,解压成功后得到一个net-snmp-5.7.1文件夹
4、进入解压的net-snmp-5.7.1目录,cd 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-version(3):
2、System Contact Information (@@no.where)(配置该设备的联系信息):
3、System Location (Unknown)(该系统设备的地理位置):
4、Location to write logfile (日志文件位置):
5、Location to Write persistent(数据存储目录):
出现以下界面.configure执行完成
5、编译和安装
执行"make && make install"命令
echo $? #如果返回值是0,就是执行成功;如果是返回值是0以外的值,就是失败。
6、配置snmpd.conf
使用"ls"命令查看/usr/local/snmp目录下是否存在etc目录,如果不存在etc目录,就创建一个,查看结果显示不存在etc目录,在/usr/local/snmp目录下创建一个etc目录,创建etc目录命令"mkdir /usr/local/snmp/etc",找到SNMP源码目录(net-snmp-5.7.1)下EXAMPLE.conf文件,如下图所示:
复制EXAMPLE.conf文件到到/usr/local/snmp/etc目录,并重命名为snmpd.conf:"cp EXAMPLE.conf /usr/local/snmp/etc/snmpd.conf
7、使用vi编辑器打开snmpd.conf文件:"vi /usr/local/snmp/etc/snmpd.conf",编辑snmpd.conf文件中的内容
7.1、配置允许网络访问
找到【AGENT BEHAVIOUR】,如下图所示:
修改如下:添加"agentAddress udp:161"配置项,如下图所示:
7.2、选择v2c SNMP协议的版本(根据下载版本选择)
找到【ACTIVE MONITORING】,如下图所示:
修改如下:
7.3、设置访问权限
找到【ACCESS CONTROL】如下图所示:
找到【rocommunity public default -V systemonly】,把 -V systemonly去掉,这是设置访问权限的,去掉后能访问全部,把rocommunity改成rwcommunity,rocommunity是只读,rwcommunity是读写。如下图所示:
保存snmpd.conf后退出,基本完成
8、启动snmp服务
8.1、执行如下命令启动snmp服务:
/usr/local/snmp/sbin/snmpd -c /usr/local/snmp/etc/snmpd.conf
8.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
二、卸载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不用删除,也没有删除的权限