Centos
如何配置 snmptrapd 以處理來自瞻博網路設備的傳入陷阱?
我有一個 CentOS 伺服器(7.2)。我正在嘗試將其配置為 SNMP 陷阱接收器。
在我的 snmptrapd 配置中,我呼叫了一個非常基本的 shell 腳本來辨識是否收到了陷阱:
[root@centos-Main snmp]# cat /etc/snmp/snmptrapd.conf authCommunity log,execute,net public traphandle default /etc/snmp/mydummyhandler.sh
這就是 mydummyhandler.sh 的樣子:
[root@centos-Main snmp]# cat mydummyhandler.sh echo "Trap Received" >> /var/log/snmptraplog.txt
但是當從 Juniper 路由器發送陷阱時,我的 snmptrapd 不會處理它,也不會向 /var/log/snmptraplog.txt 寫入任何內容。
我從 localhost 本身發送了一些測試陷阱,它完全按預期工作。此外,為了檢查這一點,我嘗試從另一個 CentOS 伺服器發送一個測試陷阱,如下所示:
snmptrap -v 2c -c public centos-Main .1.3.6.1.6.3.1.1.5.3 .1.3.6.1.6.3.1.1.5.3 \ > ifIndex i 2 ifAdminStatus i 1 ifOperStatus i 1
它也按預期處理:
[root@centos-Main snmp]# cat /var/log/snmptraplog.txt Trap Received
我在陷阱接收伺服器的埠 162 上執行了 tcpdump,發現從瞻博網路交換機發送的陷阱正在到達伺服器。但由於某種原因,它會默默地忽略來自 Juniper 設備的傳入陷阱,無需進一步處理。
這是從瞻博網路設備發送陷阱時看到的內容:
[root@centos-Main snmp]# tcpdump -i enp0s3 port 162 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on enp0s3, link-type EN10MB (Ethernet), capture size 65535 bytes 16:54:14.521820 IP 192.168.0.91.58376 > centos-Main.snmptrap: C=VINOD V2Trap(217) system.sysUpTime.0=1768202 S:1.1.4.1.0=E:2636.4.13.0.1 E:2636.3.37.1.1.0="'Event-Trap'" E:2636.3.37.1.2.1.2.1="'event'" E:2636.3.37.1.2.1.3.1="''" E:2636.3.37.1.2.1.2.2="'message'" E:2636.3.37.1.2.1.3.1="''" S:1.1.4.3.0=E:2636.1.1.1.2.1
另外,為了比較,我粘貼了從另一台伺服器成功接收陷阱的 tcpdump 輸出:
[root@centos-Main snmp]# tcpdump -i enp0s3 port 162 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on enp0s3, link-type EN10MB (Ethernet), capture size 65535 bytes 16:53:23.272673 IP 192.168.0.105.49182 > centos-Main.snmptrap: V2Trap(87) S:1.1.4.1.0=S:1.1.5.3 interfaces.ifTable.ifEntry.ifIndex=2 interfaces.ifTable.ifEntry.ifAdminStatus=1 interfaces.ifTable.ifEntry.ifOperStatus=1
您已設置
snmptrapd
為僅接受具有社區名稱的陷阱public
:[root@centos-Main snmp]# cat /etc/snmp/snmptrapd.conf authCommunity log,execute,net public
但是來自瞻博網路設備的陷阱使用社區名稱
VINOD
代替:[root@centos-Main snmp]# tcpdump -i enp0s3 port 162 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on enp0s3, link-type EN10MB (Ethernet), capture size 65535 bytes 16:54:14.521820 IP 192.168.0.91.58376 > centos-Main.snmptrap: C=VINOD V2Trap(217) ... ^^^^^^^
您應該將瞻博網路設備的陷阱社區名稱配置為
public
,或在文件中添加另一authCommunity
行snmptrapd.conf
:authCommunity log,execute,net VINOD