Linux安装snmp详解

Snmp一种网络之间的传输协议,通过snmp可以采集很多指标比如cpu、内存及磁盘的信息,现在越来越多的网络设备基本上都支持snmp,本文介绍了snmp的安装过程。

二、安工具/原料

  • SecureCrt
  • Xftp

三、安方法/步骤

l  从网上下载snmp的相关tar包,然后上传到服务器中,然后解压安装包,执行如下命令:tar -zxvf net-snmp-5.7.2.1.tar.gz 

 

zabbix的linux snmp模版找不到 linux中snmp_回车键

l  修改解压后的文件名称,默认解压后的文件名称为tar包前面的内容。执行命令:mv net-snmp-5.7.2.1 net-snmp

 

zabbix的linux snmp模版找不到 linux中snmp_root用户_02

l  然后进入net-snmp的目录,执行下面的命令:

./configure
--prefix=/usr/local/net-snmp --with-default-snmp-version="2"
--with-logfile="/var/log/snmpd.log"
--with-persistent-directory="/var/net-snmp"
--with-mib-modules="ucd-snmp/diskio"

 

zabbix的linux snmp模版找不到 linux中snmp_回车键_03

l  输入该命令后,会有一个交互的过程,所有的交互直接回车即可。configure运行完成后,执行make指令。

 

zabbix的linux snmp模版找不到 linux中snmp_root用户_04

 

 

zabbix的linux snmp模版找不到 linux中snmp_回车键_05

l  make命令执行完毕后,记得切换到root用户执行命令make install,进行安装。因为只有root用户有某些目录的权限。

 

zabbix的linux snmp模版找不到 linux中snmp_文件名_06

l  在root用户下进入/usr/local/目录。需要修改net-snmp目录权限,使用chmod -R 755 net-snmp指令(后面都用root用户操作)。

 

zabbix的linux snmp模版找不到 linux中snmp_文件名_07

l  进入/usr/local/net-snmp/bin目录,执行./snmpconf命令,生成snmpd.conf文件。选择snmpd.conf,输入对应的数字即可。

 

zabbix的linux snmp模版找不到 linux中snmp_文件名_08

zabbix的linux snmp模版找不到 linux中snmp_root用户_09

l  后面会让选择snmpd.conf的配置选项,这里选择Access Control Setup,输入相应的数字,按回车即可。

 

zabbix的linux snmp模版找不到 linux中snmp_文件名_10

l  然后选择a SNMPv1/SNMPv2c read-only access community name,输入对应数字即可。然后按回车即可。

 

zabbix的linux snmp模版找不到 linux中snmp_root用户_11

l  后面会让输入选择处理的权限,The community name to add read-only access for,这里输入public即可。

 

zabbix的linux snmp模版找不到 linux中snmp_回车键_12

l  后面会出现下面的界面,提示输入OID及网卡地址等信息,这里直接输入回车键就行。

 

zabbix的linux snmp模版找不到 linux中snmp_回车键_13

l  后面会出现如下的界面,这里我们输入finished,然后按下回车键就行了。

 

zabbix的linux snmp模版找不到 linux中snmp_回车键_14

l  后面会出现如下的界面,这里我们输入finished,然后按下回车键就行了。

 

zabbix的linux snmp模版找不到 linux中snmp_文件名_15

l  后面会出现如下的界面,这里我们输入quit,然后按下回车键就行了。

 

zabbix的linux snmp模版找不到 linux中snmp_回车键_16

l  我们发现在bin目录下面生成了snmpd.conf,然后将此文件移动到/usr/local/net-snmp/share/snmp目录下面。

 

zabbix的linux snmp模版找不到 linux中snmp_root用户_17

 

 

zabbix的linux snmp模版找不到 linux中snmp_回车键_18

l  然后进入到/usr/local/net-snmp/sbin目录下,启动snmpd,执行命令:./snmpd -c /usr/local/net-snmp/share/snmp/snmpd.conf

 

zabbix的linux snmp模版找不到 linux中snmp_root用户_19

l  如何检验是否启动成功呢?可以通过查看进程的方式,使用命令ps -ef|grep snmpd,如果返回进程的信息,说明启动成功。

 

zabbix的linux snmp模版找不到 linux中snmp_回车键_20

l  进入/usr/local/net-snmp/bin目录。执行./snmpwalk -v 2c -c public localhost system指令(public由snmpd.conf 中rocommunity的属性决定),如果返回如下信息,则安装成功。

 

zabbix的linux snmp模版找不到 linux中snmp_文件名_21

三、snmpV3的方式设置简单,而且安全性更高。

配置方法:
1.停止snmpd服务

#service snmpd stop


2.增加snmpv3用户,并设置认证以及加密方式

# net-snmp-create-v3-user

    Enter a SNMPv3 user name to
create:

    enocsnmpv3

    Enter authentication pass-phrase:

    enocsnmpv3pw

    Enter encryption pass-phrase:

    [press return to reuse the
authentication pass-phrase]

    enocsnmpv3pk

    adding the following line to
/var/lib/net-snmp/snmpd.conf:

       createUser enocsnmpv3 MD5
"enocsnmpv3pw" DES enocsnmpv3pk

    adding the following line to /etc/snmp/snmpd.conf:

       rwuser enocsnmpv3



3.启动snmpd服务

# service snmpd restart



现通过snmpwalk测试一下:

# snmpwalk -v3 -uenocsnmpv3 -lauth -aMD5
-A"enocsnmpv3pw" -X"enocsnmpv3pk" localhost  | more

SNMPv2-MIB::sysDescr.0 = STRING: Linux CentOS60A
2.6.32-71.el6.i686 #1 SMP Fri Nov 12 04:17:17 GMT 2010 i686

SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::org

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (9443) 0:01:34.43



或:

# snmpwalk -v3 -uenocsnmpv3 -lauth -aMD5 -A"enocsnmpv3pw" 
localhost .1 | more


或:

# snmpwalk -v3 -lauth -uenocsnmpv3 -aMD5 -xDES -A"enocsnmpv3pw"
-X"enocsnmpv3pk" localhost .1 | more



补充:

SNMP Version 3 specific

  -a PROTOCOL          
set authentication protocol (MD5|SHA)

  -A PASSPHRASE         set
authentication protocol pass phrase

  -e ENGINE-ID          set
security engine ID (e.g. 800000020109840301)

  -E ENGINE-ID          set
context engine ID (e.g. 800000020109840301)

  -l
LEVEL             
set security level (noAuthNoPriv|authNoPriv|authPriv)

  -n
CONTEXT            set
context name (e.g. bridge1)

  -u USER-NAME          set
security name (e.g. bert)

  -x PROTOCOL          
set privacy protocol (DES|AES)

  -X PASSPHRASE         set
privacy protocol pass phrase

  -Z BOOTS,TIME         set
destination engine boots/time