SNMPWalkモジュールが見つかりません。

SNMPWalkモジュールが見つかりません。

現在、SNMPWalkから拡張出力を取得しようとしています。

snmp-mibsダウンローダをインストールしてdownload-mibsを実行しています。

次のコマンドを使用しています。

snmpwalk -v2c -c public [ip] -m NET-SNMP-EXTEND-MIB::nsExtendObjects

次のエラーが発生しました。

MIB search path:
/usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf:/var/lib/mibs:/var/lib/mibs/ietf:/var/lib/mibs/iana
Cannot find module (nsExtendObjects): At line 1 in (none)

手動で確認したように、モジュールが正しい位置にあることを確認できます。

モジュールの位置を指定するために-Mを使ってみました。

NET-SNMPバージョン:5.9を使用してください。

エラーが発生した後は、拡張モードを使用しない場合と同じ出力が表示されます。

また、同じ構成を使用する別のコンピューターから拡張出力を取得できるため、異なる出力が必要であることを確認できます。 「公開」文字列は正しいです。

何か助けてくれてありがとう :)

答え1

この-mオプションは、コロンで区切られたリストという1つの引数を使用します。MIBモジュール名、個々のMIBオブジェクトの名前ではありません。

結果は-m NET-SNMP-EXTEND-MIB::nsExtendObjects3つのMIBモジュール名で解析されます。

  • NET-SNMP-EXTEND-MIB有効なMIBモジュール名。
  • <null>これは明らかに無視されました。
  • nsExtendObjects実際には、NET-SNMP-EXTEND-MIBモジュール内のMIBオブジェクトの名前です。

巡回を開始するためにOIDを指定することは実際にはオプションですsnmpwalk。指定しない場合、デフォルト値は OID として指定され、 SNMPv2-SMI::mib-2誤った構文に関するエラーメッセージは表示されません。代わりに、コマンドは名前付きMIBモジュールを見つけようとしますnsExtendObjectsが、見つからないようです。

何らかの理由でこのオプションを引き続き使用する場合は、正しい-m構文は次のとおりです。

snmpwalk -v2c -c public [ip] -m NET-SNMP-EXTEND-MIB NET-SNMP-EXTEND-MIB::nsExtendObjects

つまり、最初のものNET-SNMP-EXTEND-MIBはオプションの引数で-mあり、2番目は開始したいOIDの一部です。

ただし、この場合は-mオプションを完全に省略できます。

snmpwalk -v2c -c public [ip] NET-SNMP-EXTEND-MIB::nsExtendObjects

どちらの形式も同じ結果を生成する必要があります。

download-mibs正常に完了したら、/usr/share/snmp/mibs/NET-SNMP-EXTEND-MIB.txtシステムに名前付きファイルが必要です。

$ sha256sum /usr/share/snmp/mibs/NET-SNMP-EXTEND-MIB.txt
ad05abc5ec39107a140d46e4e62e3fc0cf38eb26c1abe634fd7e9a7c7715e64e  /usr/share/snmp/mibs/NET-SNMP-EXTEND-MIB.txt

関連情報