在 snmp 输入陷阱插件中禁用授权或允许任何 snmp 社区字符串

Disabling authorisation or allow any snmp community string in snmp input trap plugin

SNMP 输入陷阱插件假设社区字符串存在,或者如果我们不提供,默认情况下采用 "public"。 根据文档,社区字符串也可以是数组。

我想支持任何社区字符串。 SNMP 输入陷阱插件也不支持禁用授权。我怎样才能让它适用于任何社区字符串

snmptrap {
    port => 10162
    community => "my-community-string"
}

对于那些对这个问题感到震惊的人,我找到了解决方案

问题

在 Snmp 输入陷阱插件中,它强制将字符串或数组作为社区字符串传递,否则“public”将被视为默认值,您可以查看 github 代码相同 here

解决方案

我更改了插件代码本身以使其工作,只需在代码中替换它,您的 SNMP 社区字符串将没有限制。

行号:70

    traplistener_opts = {:Port => @port, :Community => @community, :Host => @host}

替换为

    traplistener_opts = {:Port => @port, :Host => @host}