Linux系统安装snmp服务

Linux安装snmp详解

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

二、安工具/原料

  • SecureCrt
  • Xftp

三、安方法/步骤

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

 

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

 

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"

 

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

 

 

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

 

 

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

 

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

 

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

 

三、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

posted @ 2019-09-16 14:52  程序猿001  阅读(4902)  评论(0编辑  收藏  举报