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