SNMP服务详解

SNMP

1. SNMP安装

#wget --no-check-certificate https://sourceforge.net/projects/net-snmp/files/net-snmp/5.7.1/net-snmp-5.7.1.zip/download
#unzip net-snmp-5.7.1.zip
#cd net-snmp-5.7.1
#bash configure --prefix=/usr/local/snmp
#make && make install 

#将snmp服务的配置文件拷如snmp安装的目录下
#cp EXAMPLE.conf /usr/local/snmp/snmpd.conf

2. SNMP服务的启动与配置

  • 安装完成后,可以直接启动,启动方式如下:
#/usr/local/snmp/sbin/snmpd -c /usr/local/snmp/snmpd.conf
  • 检测是否安装完成
#/usr/local/snmp/bin/snmpget -v 2c -c public 127.0.0.1 sysName.0
#或者
#/usr/local/snmp/bin/snmpwalk -v 2c public 127.0.0.1 sysName
#或
#/usr/local/snmp/bin/snmpget --version

3.使用net-snmp提供的snmp命令获取各类系统信息

  • 获取系统主机名称
/usr/local/snmp/bin/snmpwalk -v 2c public 127.0.0.1 sysName  其中的-c
pubulic指的是community的名字(相当于密码),可以在配置文件中自定义,-v 2c指SNMP协议版本
  • 获取设备详细信息
#/usr/local/snmp/bin/snmpget -v 2c 127.0.0.1 -c public sysDescr.0
SNMPv2-MIB::sysDescr.0 = STRING: Linux yantao 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64  
或  
#/usr/local/snmp/bin/snmpwalk -v 2c 127.0.0.1 -c public sysDesc
SNMPv2-MIB::sysDescr.0 = STRING: Linux yantao 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64

4.配置文件

  • 设置community(共同体)
#rocommunity public  localhost
                                #  Default access to basic >system info  
rocommunity public  default  

public为默认值,也就是 -c 后面指定的值。但是一般不要用默认值,可以任意改:

rocommunity yantao  default 

5.获取远程主机的信息

要获取远程主机的信息,需要对端主机上部署SNMP服务(配置文件一样),同时需要开放161端口
在/etc/sysconfig/iptables文件中写入下面命令:
-I INPUT -s 10.10.88.9 -p udp --dport 161 -j ACCEPT

/etc/sysconfig/iptables restart #重启防火墙,使配置生效

测试:

监控机:hostname: yantao IP:10.10.88.9
被监控机: hostname:xiaohua IP:10.10.88.8

[root@yantao init.d]# snmpget -v 2c -c yantao 10.10.88.8 sysName.0
SNMPv2-MIB::sysName.0 = STRING: xiaohua

#snmpwalk -v 2c -c yantao 10.10.88.8 system
可以获取所有的system信息,包括sysDesc,sysName等。这些值都是OID,可以用相关数字串代替。

你可能感兴趣的:(SNMP服务详解)