Snmp学习总结(六)——linux下安装和配置SNMP
一、安装SNMP
1.1、下载Net-SNMP的源代码
选择一个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",如下图所示:
1.8、测试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 127.0.0.1 sysName.0
snmpget -v 2c -c public 192.168.1.229 sysName.0
snmpget -v 2c -c public localhost .1.3.6.1.2.1.1.5.0
snmpget -v 2c -c public 127.0.0.1 .1.3.6.1.2.1.1.5.0
snmpget -v 2c -c public 192.168.1.229 .1.3.6.1.2.1.1.5.0
如下图所示:
能够正常返回系统的名字就说明SNMP安装配置成功了。也可以使用命令"snmpget --version"查看当前的安装版本号来验证是否安装成功,如果安装成功,则显示当前的安装版本号,如下图所示:
1.9、开启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"命令保存防火墙的更改,如下图所示:
我们可以在window系统下使用Snmputil.exe工具测试对Linux下的SNMP访问,测试Linux的UDP 161端口是否对外开放,如下图所示:
"snmputil get 192.168.1.229 public .1.3.6.1.2.1.1.5.0"命令返回192.168.1.229这台Linux服务器的名字,可以看到,Linux服务器的名称已经正常返回输出到命令行窗口了。
二、卸载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目录里面的所有文件,如下图所示:
Snmp学习总结(六)——linux下安装和配置SNMP的更多相关文章
- SNMP学习笔记之Linux下安装和配置SNMP
注意:本篇安装用户是root,非root用户启动的时候会报缺少文件错误. 一.安装SNMP 1.1.下载Net-SNMP的源代码 选择一个SNMP版本,比如5.7.1,下载地址如下:http://so ...
- Linux下安装与配置snmp服务
一.安装snmp服务 1.检查系统是否已经安装snmp的rpm包 以下是安装snmp服务需要的rpm包: libsensors3-2.10.6-55.el5.i386.rpm lm_sensors-2 ...
- windows下安装和配置SNMP
window snmp服务开启及测试 转自:https://blog.csdn.net/qq_33314107/article/details/80031446 一 安装 二 开启服务 Linux下安 ...
- Linux(4)- centos7安装python3、Linux下安装、配置virtualenv、确保开发环境的一致性、虚拟环境之virtualenvwrapper、vim
一.centos7安装python3 1.下载python3的源码包 下载地址:https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz cd ...
- Linux下安装和配置JDK与Tomcat(升级版)
在这个版本 Linux下安装和配置JDK与Tomcat(入门版) 的基础上优化升级 1.下载相关软件 apache-tomcat-6.0.37.tar.gz jdk-6u25-linux-i586-r ...
- [Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例二.
为了更好的排版, 所以将IK分词器的安装重启了一篇博文, 大家可以接上solr的安装一同查看.[Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一: http://ww ...
- Linux下安装与配置Nginx
一.准备 Nginx版本:nginx-1.7.7.tar.gz 请自行到官网下载对应的版本. 二.步骤 ♦在Linux新建一个queenLove用户 [root@localhost /]# use ...
- 在linux下安装并配置mysql数据库
在linux下安装并配置mysql数据库 工具/原料 MySql5.6 CentOS 方法/步骤 1 查找以前是否安装有mysql,使用下面命令: rpm -qa|grep -i mysql ...
- Linux下安装mantis配置指南【转】
转自:http://blog.csdn.net/xabc3000/article/details/6858229 目录(?)[-] Linux下安装mantis配置指南 配置Linux下的Apache ...
随机推荐
- 【干货】查看windows文件系统中的数据—利用簇号查看文件与恢复文件
前面我们使用这个软件发现了很多删除掉的数据,今天来看看簇.FAT文件系统中,存在一个簇的链接,我知道了簇1在哪里就可以顺藤摸瓜恢复所有的信息. 这里使用FAT 12为例子,FAT其他万变不离其宗,甚至 ...
- 【源码阅读】Mimikatz一键获取远程终端凭据与获取明文密码修改方法
1.前言 mimikatz框架是非常精妙的,粗浅讲一下修改的思路. 它的模块主要由各个结构体数组组成,根据传入的命令搜索执行相应命令的模块 mimikatz.c 部分代码: NTSTATUS mimi ...
- 标准linu休眠和唤醒机制分析(四)【转】
转自:http://blog.csdn.net/lizhiguo0532/article/details/6453552 suspend第三.四.五阶段:platform.processor.core ...
- Laravel 的计划任务
避免并发执行 $schedule->command('emails:send')->withoutOverlapping(); 这里需要注意,对于 call function 定义的计划任 ...
- 第三届CCF软件能力认证
1.门禁系统 问题描述 涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况.每位读者有一个编号,每条记录用读者的编号来表示.给出读者的来访记录,请问每一条记录中的读者是第几次出现. 输入格式 ...
- Angular快速学习笔记(4) -- Observable与RxJS
介绍RxJS前,先介绍Observable 可观察对象(Observable) 可观察对象支持在应用中的发布者和订阅者之间传递消息. 可观察对象可以发送多个任意类型的值 -- 字面量.消息.事件. 基 ...
- vue后台管理框架
vue后台管理框架 系列教程<一步步带你做vue后台管理框架>第一课 github地址:vue-framework-wz 线上体验地址:立即体验 在如今的科技公司中有很多前端的需求都是要写 ...
- 【LOJ】#2076. 「JSOI2016」炸弹攻击
题解 我冷静一下,话说如果去掉建筑和R的限制好像是模拟退火吧 然后开始写模拟退火了,起始点就随机一个敌人作为起始点 没对着数据写了一下获得了70pts,感到美滋滋 然后对着数据卡了很久--发现有个数据 ...
- MySQL 实现将一个库表里面的数据实时更新到另一个库表里面
MySQL 实现将一个库表里面的数据实时更新到另一个库表里面 需求描述:MySQL 里面有很多的数据库,这些数据库里面都有同一种表结构的表 (tb_warn_log),这张表的数据是实时更新的,现在需 ...
- Pandas常用命令
一.数据导入和导出 (一)读取csv文件 1.本地读取 import pandas as pd df = pd.read_csv('tips.csv') #根据自己数据文件保存的路径填写(p.s. p ...