SNMP服务

一、安装SNMP

1.1、下载Net-SNMP的源代码

安装环境:

yum install -y net-snmp-perl net-snmp-utils perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker

选择一个SNMP版本,比如5.7.1,下载地址如下:http://sourceforge.net/projects/net-snmp/files/net-snmp/5.7.1/,如下图所示:

  下载完成之后得到如下图所示的一个压缩包

1.2、把压缩包传输到远程的Linux服务器

  把压缩包使用FTP传输工具传输到远程的Linux服务器

  上传成功后在linux的root目录下就可以看到压缩包了,如下图所示:

  也可以在linux命令行窗口使用ls命令罗列出Root目录所有的文件进行查看,如下图所示:

1.3、对源代码包进行解压缩

  使用命令"tar xzvf net-snmp-5.7.1.tar.gz"对下载的源代码包进行解压缩,如下图所示:

  解压成功后得到一个net-snmp-5.7.1文件夹,如下图所示:

1.4、通过configure来生成编译规则

  使用命令"cd net-snmp-5.7.1"进入net-snmp-5.7.1目录,如下图所示:

net-snmp-5.7.1目录下的configure是可执行文件,如果想指定程序包的安装路径,那么首先建立相应的文件夹来存放安装信息,可以写成./configure –-prefix=/指定的路径名。参数--prefix用来告诉系统安装信息存放的路径,如果没有指定路径,直接执行./configure,那么程序包都会安装在系统默认的目录下,通常为:/usr/local下

  执行命令"./configure --prefix=/usr/local/snmp --with-mib-modules='ucd-snmp/diskio ip-mib/ipv4InterfaceTable'",注意,以上的--with-mib-modules=ucd-snmp/diskio选项,可以让服务器支持磁盘I/O监控。如下图所示:

  回车出现下面问题,可以直接回车而不用回答,系统会采用默认信息,其中日志文件默认安装在/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(数据存储目录):

1、default version of-snmp-version:

2、Systemcontact information(配置该设备的联系人):

3、System location (该设备的位置):

4、Location to write logfile (日志文件位置): /var/log/snmpd.log

5、Location to Write persistent(数据存储目录): /var/net-snmp

1.5、编译和安装

  执行编译并安装"make && make install"命令,如下图所示:

1.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"

  使用vi编辑器打开snmpd.conf文件:"vi /usr/local/snmp/etc/snmpd.conf",编辑snmpd.conf文件中的内容

  按下键盘上的字母【I】或者【Insert】键进入vi编辑器的编辑模式

  要配置snmpd.conf中内容如下:

1、配置允许网络访问

  找到【AGENT BEHAVIOUR】,如下图所示:

  修改如下:添加"agentAddress udp:161"配置项,如下图所示:

2、选择v2c SNMP协议的版本

  找到【ACTIVE MONITORING】,如下图所示:

  修改如下:

3、设置访问权限

  找到【ACCESS CONTROL】如下图所示:

  找到【rocommunity public default -V systemonly】,把 -V systemonly去掉,这是设置访问权限的,去掉后能访问全部,如下图所示:

4、保存snmpd.conf后退出

  按下键盘左上角上的【Esc】键退出vi编辑器的编辑模式,然后输入命令":wq"保存文件并退出,如下图所示:

  经过以上的4个步骤,针对SNMP的snmpd.conf文件的配置工作算是全部完成了。

1.7、启动snmp服务

  由于我们刚才修改SNMP的snmpd.conf文件,所以在启动snmp服务之前,先使用命令"ps aux | grep snmp | grep -v grep |awk '{print $2}'| xargs kill"关闭snmp的相关服务,如下图所示:

  使用"netstat -an |grep 161"查看snmp的服务是否启动,如下图所示:

  启动snmp服务:"/usr/local/snmp/sbin/snmpd -c /usr/local/snmp/etc/snmpd.conf",如下图所示:

能够正常返回系统的名字就说明SNMP安装配置成功了。也可以使用命令"snmpget --version"查看当前的安装版本号来验证是否安装成功,如果安装成功,则显示当前的安装版本号,如下图所示:

1.8、开启UDP 161端口的访问权限

  完成snmpd的配置并且SNMP测试通过之后,要确保Linux的iptables防火墙对外开放了udp 161端口的访问权限,可以使用"iptables –L –n"查看当前iptables规则,如下图所示:

  可以看到,目前iptables防火墙并没有对外开放udp 161端口的访问权限,也就是说,此时外面的计算机是无法访问Linux下的SNMP服务的,可以使用"iptables -I INPUT -p udp --dport 161 -j ACCEPT"命令添加UDP 161端口到iptables防火墙中,然后执行"iptables save"命令保存防火墙的更改,如下图所示:

二、卸载SNMP

  如果安装后想卸载SNMP,可以执行"make uninstall"命令,卸载步骤如下:

1、使用"netstat -an |grep 161"查看snmp服务是否启动

2、如果已经启动就使用命令"ps aux | grep snmp | grep -v grep |awk '{print $2}'| xargs kill"关闭snmp的相关服务

3、进入SNMP源码目录(net-snmp-5.7.1)

4、执行"make uninstall"命令卸载SNMP

5、删除/usr/local下的snmp目录以及snmp目录里面的所有文件,usr/local/snmp是SNMP的安装路径

  如下图所示:

  开始卸载SNMP,如下图所示:

snmp卸载完成,如下图所示:

  删除/usr/local下的snmp目录以及snmp目录里面的所有文件,如下图所示:

本文分享自微信公众号 - 运维猫(centos15)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券