![作为单个操作一次设置多个 SNMP OID 值](https://linux22.com/image/95253/%E4%BD%9C%E4%B8%BA%E5%8D%95%E4%B8%AA%E6%93%8D%E4%BD%9C%E4%B8%80%E6%AC%A1%E8%AE%BE%E7%BD%AE%E5%A4%9A%E4%B8%AA%20SNMP%20OID%20%E5%80%BC.png)
我希望能够通过 SNMP 配置软件堆栈的组件。我将Agent++集成到软件中,并且已经可以通过SNMP控制其他值。我可以检测 snmp 设置操作并在配置值更新后刷新软件的状态(例如通过 snmpset)。
然而,在某些情况下,多个配置值在逻辑上分组在一起。一个例子是简单的网络配置:DHCP 是/否、固定 IP 地址、网络掩码、网关。将每个值公开为单独的 OID 意味着每次修改都会触发网络重新配置,这是不可取的。相反,我想首先修改这些值,然后一旦我完成了,重新配置网络适配器。
因此,必须以某种方式可以在一个准原子操作中通过 SNMP 设置多个值,这导致软件对于整组修改仅收到一次通知。
有可能吗?当然也有一些黑客手段,比如将多个值打包在一个 JSON 字符串中并通过 SNMP 发送该字符串,但我想避免这种情况。