语境
将 snmptrapd 服务收到的 SNMP 陷阱转发到特定社区。
您可以看到我的实验室方案: 我的实验室计划
使用的版本
服务器:RHEL 8.7
SNMP:NET-SNMP 版本 5.8
SNMP 版本 : 2c
使用哪种配置
我为实验室创建了最简单的配置:
[服务器A]
/etc/snmp/snmptrapd.conf
snmpTrapdAddr udp:161
authCommunity log,execute,net public
[服务器B]
/etc/snmp/snmptrapd.conf
snmpTrapdAddr udp:161
authCommunity log,net public
forward default ServerCip:161 public
[服务器C]
/etc/snmp/snmpd.conf
agentAddress udp:161
rocommunity public default
服务器 B 成功接收陷阱,但在服务器 C 的 /var/log/messages 和其他两个中均未收到任何内容tcpdump port 161
。
我已经在服务器 B 上测试过通过删除社区来更改此设置:
forward default ServerCip:161
它有效但这不是我的目的,只有在收到特定社区时我才需要转发到这个 IP。
问题
我查看了各种论坛并且我设置的初始参数:forward default ServerCip:161 public
似乎已经被使用过,但考虑到许多帖子的日期,我认为此选项在最新版本的 net-snmp 中不再存在。
我可以将 TrapHandle 参数与执行循环的脚本一起使用,但我不知道如何从收到的 snmp 陷阱中提取“变量”并从服务器 A 转发 SNMP 陷阱。
在搜索中man snmptrapd
他们讨论了像 %P 这样的变量但我不认为有可能捕捉到它。
你有什么其他的建议?