Forwarding SNMP GET requests

network-monitoringsnmpsnmpd

I have a cluster of linux servers and a single (gateway) linux server
that can access the machines in the cluster by hostname or ip. From outside of the cluster the machines are not accessible by hostname or ip

I would like to issue SNMP get requests for OIDs on a server inside the cluster and pass the request through the gateway server.

In order to do this, the gateway would need to somehow forward the SNMP get requests it receives for other machines in the cluster and also forward the replies to the original requester.

Does any one know of any existing solutions for this?

Thanks!

Best Answer

What you are looking for is a snmp proxy. Net-snmp can do this.

   proxy [-Cn CONTEXTNAME] [SNMPCMD_ARGS] HOST OID [REMOTEOID]
          will pass any incoming requests under OID to the agent listening on the port specified by the transport  address  HOST.
          See  the  section  LISTENING  ADDRESSES  in the snmpd(8) manual page for more information about the format of listening
          addresses.

          Note:  To proxy the entire MIB tree, use the OID .1.3 (not the top-level .1)

E.g., for each host H in the cluster create a community string (e.g., H_comm), map it to a context (H_context) and then proxy all queries sent to the gateway with community H_comm to H with a line like

proxy -Cn H_context -v 2c -c public H .1.3

"public" is the community name on H.

Related Topic