给定以下示例/简单 snmpd.conf(RHEL 7.4 上的 Net-SNMP 5.7.2)
rwcommunity 私人 192.168.56.101
trapsess -Ci --clientaddr=192.168.56.128 -v 2c -c private 192.168.56.101:162
启动 SNMP 守护程序时
snmpd -f -Lo -D -C -c 数据/snmpd_test.conf udp:192.168.56.128:161
我们使用 IP 源192.56.168.1而不是...128获得“启动” InformRequest (下面的 WireShark 快照)
这并不奇怪,因为-D选项允许我们输出调试信息,说明
跟踪:netsnmp_config_process_memory_list():read_config.c,696:read_config:mem:处理内存:clientaddr 192.168.56.128 跟踪:run_config_handler():read_config.c,562:9:read_config:parser:此时未注册clientaddr处理程序
然而,网络消息来源说:
...在生成通知时,snmpd 也使用此值。
trapsess [SNMPCMD_ARGS] HOST 提供了一种更通用的机制来定义通知目标。 SNMPCMD_ARGS 应该是等效的 snmptrap(或 snmpinform)命令发送所需通知所需的命令行选项
我还阅读了一些像这样的旧线程
- 然而,这个选项与 snmptrap 配合得很好
snmptrap -D -Lo -Ci --clientaddr=192.168.56.128 -M+path_to_my_mibs -v 2c -c private 192.168.56.101:162 "" .1.3.6.1.4.1.abcdef0 i 0
- 此选项在放入 snmp.conf 时也有效(请注意这里没有 'd'),然后它适用于 snmpset 和 snmpget(可能还有其他)
所以我的问题是:它是文档错误、错误还是对 Net-SNMP 堆栈的滥用?