snmp 安装配置


1 环境

ubuntu 16.04


2. 安装

sudo apt-get install snmpd snmp snmp-mibs-downloader


3. 配置

sudo vi /etc/snmp/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文件的配置工作算是全部完成了。




4. 操作命令

(1)启动snmp服务
  
由于我们刚才修改SNMP的snmpd.conf文件,所以在启动snmp服务之前,先使用命令

停止服务:
sudo service snmpd stop
  
查看snmp的服务是否启动:
netstat -an |grep 161
  
启动snmp服务:
sudo service snmpd start

备注:
snmpd.conf 路径 /etc/snmp/snmpd.conf

mib 路径
执行命令 net-snmp-config --snmpconfpath

  
(2)、测试SNMP

MIB结构:



这里以.iso.org.dod.internet.mgmt.mib-2.system为例,其Oid为:.1.3.6.1.2.1.1。结构如下:
   ………system                     .1.3.6.1.2.1.1
            |——sysDescr          .1.3.6.1.2.1.1.1
            |——sysObjectID       .1.3.6.1.2.1.1.2
            |——sysUpTimeInstance .1.3.6.1.2.1.1.3
            |——sysContact.0      .1.3.6.1.2.1.1.4
            |——sysName.0         .1.3.6.1.2.1.1.5
            |——sysLocation.0     .1.3.6.1.2.1.1.6



  获取本机的系统名字:
snmpget -v 2c -c public localhost SNMPv2-MIB::sysName.0

或者
snmpget -v 2c -c public 本机的ip地址 SNMPv2-MIB::sysName.0

或者
snmpget -v 2c -c public 本机的ip地址 1.3.6.1.2.1.1.5.0


执行以下的几个命令都可以获取到本机的系统名字:
  snmpget -v 2c -c public localhost SNMPv2-MIB:: sysName.0
  snmpget -v 2c -c public 127.0.0.1 SNMPv2-MIB:: sysName.0
  snmpget -v 2c -c public 192.168.1.229 SNMPv2-MIB:: 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"查看当前的安装版本号来验证是否安装成功,如果安装成功,则显示当前的安装版本号,如下图所示:
  



(3)、开启UDP 161端口的访问权限

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


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











猜你喜欢

转载自blog.csdn.net/u011857683/article/details/79915634