個人的には使うことはないと思うのですが、ちょっと試してみたのでメモ。
- インストール
インストールオプションは一切なしでも snmpwalk と snmptranslate は動作します。
しかしデフォルトのインストールディレクトリは C:\usr ですが、それでも Path が長すぎるというエラーを吐きます。
- snmp.conf の位置と MIB ファイルの追加
C:\usr\etc\snmp に snmp.conf があるのでそこに追記します。
mibdirs のディレクトリの区切りは ; (セミコロン) を使用するようです。Linux 系の : (コロン) とは異なることに注意します。mibdirs C:/usr/share/snmp/mibs;C:/usr/share/snmp/mibs/screenos/6.2.0.mibs/snmpv2 mibs all persistentDir C:/usr/snmp/persist tempFilePattern C:/usr/temp/snmpdXXXXXX
- コマンド類の Path は C:\usr\bin です。
インストール時に PATH は追加してくれないので、snmpwalk や snmptranslate を使用する場合は c:\usr\bin に移動してから使うか、自分で環境変数 PATH に c:\usr\bin を追加します。
- 使用上の注意
仕様なのかバグなのか分かりませんが、OID に . (ドット) のみを指定するとエラーになります。.1 と指定します。
また -Of などのオプションを OID の後に入れてもエラーになります。オプション類は先に記述するようにしましょう。snmpwalk -c public -v 2c 192.168.0.1 .1
- おまけ: SNMPd の起動
インストールのとき Net-SNMP Agent Service の Standard Agent か With Windows Extension DLL Support のいずれかを選ぶと(両方は選べない) C:\usr\bin\ の snmpd.exe が使えるようになります。
Standard Agent か With Windows Extension DLL Support の違いは、Windows が標準で持つ C:\Windows\System32\inetmib1.dll や C:\Windows\System32\snmpmib.dll を使用するかどうかの差であるようです。後者は使用し前者は使用しないようです。
後者の場合に Windows の機能の SNMP サービスがインストールされていると snmpd.exe の起動時にエラーが発生するのでインストール自体をしないようにします。前者の場合でも SNMP サービスが動作していると Listen ポートが競合し snmpd.exe が abort するので SNMP サービスは停止しておく必要があります。また、snmpd.exe の実行の前に C:\usr\etc\ に snmpd.conf を設定しておく必要があります。例えば以下のような定義をします。(設定の詳細は他のサイトを探してください)
com2sec public default public group public v2c public view all included .1 ff access public "" any noauth exact all none none