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

可以看到日志中的輸出

 

 

 
        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM