只为成功找方法,不为失败找借口!

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安装的更多相关文章

  1. 自学Zabbix11.2 Zabbix SNMP安装

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix11.2 Zabbix SNMP安装 1. yum安装snmp 1 # yum i ...

  2. snmp安装配置

    只说一下在ubuntu下如何进行基本的配置. ubuntu Server 12.04 apt-get install snmp snmpd 安装完成之后还要安装snmp-mibs-downloader ...

  3. SNMP 安装及使用

    一.SNMP的安装 1.安装 snmp服务,python扩展等 参考:http://lihuipeng.blog.51cto.com/3064864/915965 [root@localhost] y ...

  4. snmp安装zabbix

    zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题.  zabbix由2部分构成,zabbix server与可选组件zabbix ...

  5. ubuntu snmp 安装与配置

    0.说明 关于一个完整的教程,还是那句话,国内的要么不完整,要么就太旧了,而且思路也不清晰,所以这里写一篇完整的给大家分享一下. 虽然对于Linux主机的监控可以通过执行特定的命令来完成,但是相比之后 ...

  6. snmp安装,及测试

    https://www.cnblogs.com/xdp-gacl/p/4016524.html

  7. Ubuntu 14.04 SNMP安装与配置

    http://blog.csdn.net/wang1144/article/details/51177260 http://blog.csdn.net/shanzhizi/article/detail ...

  8. linxu安装SNMP

    http://wiki.jiankongbao.com/doku.php/%E6%96%87%E6%A1%A3:%E5%AE%89%E5%85%A8%E6%8C%87%E5%BC%95#linux_s ...

  9. Snmp学习总结(六)——linux下安装和配置SNMP

    一.安装SNMP 1.1.下载Net-SNMP的源代码 选择一个SNMP版本,比如5.7.1,下载地址如下:http://sourceforge.net/projects/net-snmp/files ...

随机推荐

  1. Sublime Text 3 插件整理

    Sublime Text作为一个尽为人知的代码编辑器,其优点不用赘述.界面整洁美观.文本功能强大,且运行速度极快,非常适合编写代码,写文章做笔记.Sublime Text还支持Mac.Windows和 ...

  2. 【bzoj5118】Fib数列2 费马小定理+矩阵乘法

    题目描述 Fib定义为Fib(0)=0,Fib(1)=1,对于n≥2,Fib(n)=Fib(n-1)+Fib(n-2) 现给出N,求Fib(2^n). 输入 本题有多组数据.第一行一个整数T,表示数据 ...

  3. Linux_Crontab命令

    一.Crontab 字段名称 说明 范围 分钟 每小时中的第几分钟执行 0~59 小时 每日的第几小时执行 0~23 日期 每月的第几天执行 1~31 月历 每年的第几月执行 1~12 星期 每周的第 ...

  4. SSH协议详解

    简介 SSH只是一个协议,基于这个协议有不同的实现,这些实现中有开源,也有收费. 原理 普通网络通信一般是明文通信,数据容易被中间人拦截并且解析,而SSH协议则提供了基于内容加密服务. 流程: 第一种 ...

  5. Git合并的代码 不提交服务器的方法

    使用Git下载代码的时候,常遇到合并的情况,然后再上传的时候,系统就会自动把合并代码的过程也上传,有时候会感觉非常的烦Merge remote-tracking branch 'choose_remo ...

  6. in packet sniffer

    in packet sniffer 来源 https://kb.fortinet.com/kb/microsites/search.do?cmd=displayKC&docType=kc&am ...

  7. NOI.AC 20181103 题解

    CF 1037B  Reach Median 班上 n个同学(n 是奇数)排成一排站队,为了美观,需要大家高度的中位数是 x. 你可以让同学们在脚下垫木板或者稍微蹲一点来达成这个目标.对任意一位同学的 ...

  8. java.lang.UnsupportedClassVersionError: org/kie/api/KieServices$Factory : Unsupported major.minor version 52.0

    Unsupported major.minor version 52.0为JDK1.8编译器的版本,需要更换为JDK1.8的编译器与JDK1.8开发环境 idea中通过修改

  9. vue单页面应用项目优化总结(转载)

    转载自:https://blog.csdn.net/qq_42221334/article/details/81907901这是之前在公司oa项目优化时罗列的优化点,基本都已经完成,当时花了点心思整理 ...

  10. NO.5: 了解C++编译器默认为你生成的构造/赋值/析构

    1.编译器可以暗自位class生成default构造,copy构造,copy assigned函数,析构函数; note1:如果没有自定义构造函数,编译器会为你生成合成默认构造函数.如果有定义则不生成 ...