zoukankan      html  css  js  c++  java
  • linux(centos7.5)配置snmpd以及snmptrapd v3版本

       因为工作使用需要使用SNMP V3,网上搜索了相关内容较少,此处记录一下使用linux(centos7.5)配置snmpd(相当于snmp agent,可以对外提供snmp访问)和snmptrapd(相当于snmp trap的接收端)

       linux需要安装net-snmp等一系列依赖包

    1 yum install net-snmp

      配置snmpd  

      需要先创建创建一个用户watcher,密码为abcd1234,目前net-snmp 5.7 支持授权加密算法为MD5或SHA,鉴权加密算法为DES或AES

    1 [root@vm48153 ~ 14:40:05]# net-snmp-create-v3-user -h
    2 Usage:
    3   net-snmp-create-v3-user [-ro] [-A authpass] [-X privpass]
    4                           [-a MD5|SHA] [-x DES|AES] [username]
    5 [root@vm48153 ~ 14:43:22]# net-snmp-create-v3-user -a SHA  -A abcd1234 -x AES -X abcd1234 watcher
    6 adding the following line to /var/lib/net-snmp/snmpd.conf:
    7    createUser watcher SHA "abcd1234" AES abcd1234
    8 adding the following line to /etc/snmp/snmpd.conf:
    9    rwuser watcher

    从输出可以看到此命令在/var/lib/net-snmp/snmpd.conf中添加了

    createUser watcher SHA "abcd1234" AES abcd1234

    在/etc/snmpd/snmpd.conf中添加了

    rwuser watcher

    此时启动snmpd服务即可

    1 systemctl start snmpd

    使用snmpwalk进行测试

     1 [root@vm48153 ~ 14:47:49]# snmpwalk -v 3 -u watcher -l authPriv -a SHA -A abcd1234 -x AES -X abcd1234 10.2.48.153 sysName
     2 SNMPv2-MIB::sysName.0 = STRING: vm48153
     3 
     4 -v表示版本信息
     5 -l 表示设置安全级别,安全级别分为(noAuthNoPriv|authNoPriv|authPriv)
     6 -a 设置授权算法,(MD5|SHA)
     7 -A 设置授权字符串
     8 -x 设置鉴权算法,(DES|AES)
     9 -X 设置鉴权字符串
    10 IP 地址填写配置了snmpd的节点地址
    11 sysName 则为snmp的一种OID

    证明snmpd配置成功

      配置snmptrapd

    首先需要获取一下要接收snmp trap的实例(10.2.48.133)的engineID,引擎识别码理论上来讲各个设备具有唯一的引擎识别码 ,接收snmptrap的服务器ip为10.2.48.153

    1 [root@vm48153 ~ 14:48:08]# snmpwalk -v 3 -u watcher -l authPriv -a SHA -A abcd1234 -x AES -X abcd1234 10.2.48.133 engineID
    2 SNMP-FRAMEWORK-MIB::snmpEngineID.0 = Hex-STRING: 80 00 1F 88 80 E0 8F AF 1F 9C FB 0C 61 00 00 00 00

     此节点的enginID即为0x80001f8880e08faf1f9cfb0c6100000000

    编辑配置文件 /etc/snmp/snmptrapd.conf

    1 # Example configuration file for snmptrapd
    2 #
    3 # No traps are handled by default, you must edit this file!
    4 #
    5 # authCommunity   log,execute,net public
    6 # traphandle SNMPv2-MIB::coldStart    /usr/bin/bin/my_great_script cold
    7 createUser -e 0x80001f8880e08faf1f9cfb0c6100000000 watcher SHA "abcd1234" AES "abcd1234"   #经测试,此处enginID可能不需要添加即可接受所有带了正常enginID的trap请求
    8 authuser log,execute,net watcher

    其中 createUser 此处为固定语法,-e后所加为enginID  SHA为授权加密算法,AES为鉴权加密算法,各自后所跟为加密字符串

    此时需要创建一个文件接收snmptrapd所接收 的数据,

    1 touch  /root/snmptrapd.log
    2 snmptrapd -d -m  +ALL -Lsd -On -p /var/run/snmptrapd.pid -f    # 此处可添加udp:8162修改默认监听端口号

    - d 表示打印所接收的数据
    - f 为前台跑,不从当前进程fork
    - Lsd 为输出到syslog
    - Ou 为输出格式,可以查看snmptrapd的说明

     此时从10.2.48.133发起trap

    1 snmptrap -v 3 -e 0x80001f888013ae4455833d0e6100000000 -u watcher -l authPriv -a SHA -A 'abcd1234' -x AES -X 'abcd1234' 10.2.48.153 -C i

    可以看到日志中的输出

    
    
    
  • 相关阅读:
    poj 3436 (最大流)
    C#.NET学习笔记11,12---布尔表达式2组合,if语句
    C++编程规范和标准总结
    hdu 4627 水数学题
    jquery第二期:三个例子带你走进jquery
    Java核心技术,让计算机"一芯多用"的多线程技术
    leetcode_question_73 Set Matrix Zeroes
    Frame动画
    HDU 4602 Partition
    Linux Kernel代码艺术——系统调用宏定义
  • 原文地址:https://www.cnblogs.com/sumoning/p/15112051.html
Copyright © 2011-2022 走看看