• 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

  • 相关阅读:
    深入理解递归函数的调用过程
    关于字符串和字符数组的再讨论
    返回字符串的长度
    再写静态变量的有效范围
    一道关于返回指针和返回数组名的面试题
    关于TCP/IP的三次握手和四次挥手解释
    C++面向对象的编程(二)
    关于面试宝典中的检测并修改不适合的继承
    argc和argv
    基于C的文件操作(转)
  • 原文地址:https://www.cnblogs.com/zhaoyan001/p/11527279.html
Copyright © 2020-2023  润新知