我在一家中型电信公司工作,负责networking监控解决scheme。 我们有一个自定义的监控系统,主要是使用SNMP与设备进行通信。 问题是我们偶尔需要添加额外的轮询服务器,每次我们必须在每个支持SNMP的设备上更新10k + ACL以添加新的IP地址。 由于服务器位于不同的数据中心,具有不同的L3连接,因此无法事先预测。
这对我们的行动来说是艰苦的工作,他们对此不满意。
我的问题:是否有任何SNMP或UDP代理,我们可以在一个主机上安装,并通过它转发每个SNMP请求到设备?
我不认为你想要一个SNMP代理尽可能多的你想要一个SNMP NAT网关。
代理需要parsing每个查询的结果,这种查询本质上比仅对查询执行NAT要慢。 AFAICT,你只关心在路由器/交换机/防火墙上减lesssnmp ACL更新的源地址数量。
简单的解决scheme:为您的SNMP查询部署一个特殊的Cisco路由器或Linux服务器作为NAT网关。 您应该限制源地址NAT和协议(161 / udp)。 通过此设备路由snmp查询的最佳select是build立到它的GRE隧道,并确保所有SNMP查询都从snmp轮询器通过隧道路由到NAT网关。
请记住,无论您采用哪种方式,通过NAT网关或代理集中snmp查询都会使您的轮询器变慢一点,这是由于每个SNMP get / get-next操作的往返时间越来越长。
把你的所有轮询器放在一个专用的子网中,或者一些专用的子网中。 确保你有增长空间。 更新您的ACL允许从这些子网中的任何主机轮询。 如果留出足够的空间,这将是您需要的最后一次ACL更新。
我见过的更大的商店经常走向build立一个单一的普通投票基础设施的方向。 一组专用的轮询器拉取数据,然后使其可用于各种消费类应用程序。 这个比例变得更好,最终导致监视设备上的stream量和控制平面使用减less很多。 这听起来就像你在做什么。
实际上有一个内置在Net-SNMP中的SNMP代理MIB。 您可能能够以这种方式设置几台机器,但它可能需要一些定制。 也有像这样的商业软件包,可以在协议翻译,支持等方面提供额外的价值。