web-dev-qa-db-ja.com

SNMPGETリクエストの転送

Linuxサーバーのクラスターと、ホスト名またはIPでクラスター内のマシンにアクセスできる単一の(ゲートウェイ)Linuxサーバーがあります。クラスタの外部からは、ホスト名またはIPでマシンにアクセスできません

クラスタ内のサーバーでOIDのSNMPgetリクエストを発行し、ゲートウェイサーバーを介してリクエストを渡したいのですが。

これを行うには、ゲートウェイは、クラスター内の他のマシンに対して受信したSNMP取得要求を何らかの方法で転送し、応答を元のリクエスターに転送する必要があります。

これに対する既存の解​​決策を知っている人はいますか?

ありがとう!

2
Ivan Novick

あなたが探しているのはsnmpプロキシです。 Net-snmpはこれを行うことができます。

   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)

たとえば、クラスタ内のホストHごとに、コミュニティ文字列(H_commなど)を作成し、それをコンテキスト(H_context)にマップしてから、コミュニティH_commを使用してゲートウェイに送信されたすべてのクエリを次のような行でHにプロキシします。

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

「public」はHのコミュニティ名です。

2
Mark Wagner