第4回 SNMPとv3セキュリティSNMPによるネットワークモニタリング「第2版」(1/4 ページ)

ネットワークやハードウェアの異常予兆は、日ごろの監視があってこそ把握することが可能だ。モニタリングプロトコルのSNMPは、多くの機器で採用されている基本的なものの一つだ。

» 2007年05月18日 06時31分 公開
[大澤文孝ITmedia]

この記事は会員限定です。会員登録すると全てご覧いただけます。

 第3回目の連載では、Net-SNMPに含まれるSNMPエージェントの基本的な設定と起動までを説明した。オンライン・ムックPlus「SNMPによるネットワークモニタリング“第2版”」は、2001年5月に公開した「SNMPによるネットワークモニタリング」を元に、6年以上の歳月を経て、枯れた情報を最新環境に合うよう刷新していくものだ。

 今回は、SNMPマネージャコマンドの基本的な使い方、そして、SNMPv3で運用するためのパスワードの設定について説明する。SNMPの扱い方は、今回触れるコマンドと次回にかけて触れていくMIBについて理解すれば、ほぼ全体が見えてくるはずだ。

snmpwalkとsnmpgetで調査する

 Net-SNMPには、幾つかの代表的なSNMPマネージャのコマンドが提供されている。その中でよく利用するのが「snmpwalk」と「snmpget」である。

  • snmpwalkコマンド

 OIDまたはMIBシンボルを入力すると、そのOIDツリー以下を展開して表示するコマンド。

  • snmpgetコマンド

 OIDまたはMIBシンボルを入力すると、そのOIDツリーに相当するオブジェクトの値を表示するコマンド。

snmpwalkコマンドで渡り歩く

 snmpwalkコマンド、snmpgetコマンドを始め、Net-SNMPに付属するSNMPエージェントコマンドは、表1に示す、「接続先」「SNMPバージョン」「認証方法」「コミュニティ名またはユーザー名」など、共通のオプション項目をとる。

 表1には、主なオプションしか示していない。すべてのオプションについては、SNMPCMDのmanを参照してほしい(関連リンク)

 これらのオプションの標準値は、ホームディレクトリの.snmpディレクトリ下に配置したsnmp.confに記述することもできる。よく使うオプションは、snmp.confに記述するとよいだろう。

表1■SNMPコマンドの主な共通オプション

オプション 意味
-a 認証方式 SNMPv3の認証方法を設定する。MD5またはSHA
-A パスワード SNMPv3における認証パスワード指定する
-c コミュニティ名 SNMPv1/SNMPv2cにおけるコミュニティ名を指定する
-l セキュリティレベル SNMPv3において用いるセキュリティレベル。noAuthNoPriv(認証も暗号化もしない)、authNoPriv(認証するが暗号化はしない)、authPriv(認証も暗号化もする)のいずれか
-x 暗号化プロトコル セキュリティレベルがauthPrivである場合に用いる暗号化プロトコル。DESかAESのいずれか
-X 暗号化パスワード セキュリティレベルがauthPrivである場合に用いる暗号化パスワード
-v バージョン番号 SNMPバーションを指定する。「1」「2c」「3」のいずれか
-O 表示オプション 表示オプションを指定する。例えば、、「-On(OIDで出力する)」や「-Os(MIDシンボルで表示する」などがある

 ここでは、まず例として、snmpwalkコマンドを使ってMIB-IIの「1.3.6.1.2.1.1」(iso.org.dod.internet.mgmt.mib-2.system)以下に、どのようなMIBツリーがあるのかを見てみよう(MIBツリーの概要については、第3回目を参照)。

 例えば、SNMPv1を使ってコミュニティ名「hogeprivate」で、localhostで接続する場合には、次のようにする。

 -cがコミュニティ名、-vがバージョン番号だ。

 下記の例では「-v 1」としてSNMPv1としたが、同様に「-v 2c」とすれば、SNMPv2で接続できる。


$ snmpwalk -c hogeprivate -v 1 localhost .1.3.6.1.2.1.1

 ここでいちばん後ろに指定しているOID「1.3.6.1.2.1.1」の先頭には、「.」を付けて「.1.3.6.1.2.1.1」と入力している点に注意しよう。

 これはNet-SNMPのSNMPマネージャのコマンド仕様であり、「先頭をピリオドではじめないと、自動的に1.3.6.1.2が補われる」という動作であるためだ。snmpwalkコマンドを実行すると、実際に、ここで指定した「1.3.6.1.2.1.1」以下にあるMIBツリーの一覧と、その設定値の一覧が表示される。


SNMPv2-MIB::sysDescr.0 = STRING: Linux myserver.example.co.jp 2.6.18-8.1.1.el5xen #1 SMP Mon Apr 9 11:46:46 EDT 2007 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (184507) 0:30:45.07
SNMPv2-MIB::sysContact.0 = STRING: admin@example.co.jp
SNMPv2-MIB::sysName.0 = STRING: myserver.example.co.jp
SNMPv2-MIB::sysLocation.0 = STRING: myserver
〜以下略〜

 標準では、上記に示したようにMIBシンボルで表示されるが、


$ snmpwalk -On -c hogeprivate -v 1 localhost .1.3.6.1.2.1.1

のように「-On」オプションを指定すると、


.1.3.6.1.2.1.1.1.0 = STRING: Linux myserver.example.co.jp 2.6.18-8.1.1.el5xen #1 SMP Mon Apr 9 11:46:46 EDT 2007 i686
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10
.1.3.6.1.2.1.1.3.0 = Timeticks: (231789) 0:38:37.89
.1.3.6.1.2.1.1.4.0 = STRING: admin@example.co.jp
.1.3.6.1.2.1.1.5.0 = STRING: myserver.example.co.jp
.1.3.6.1.2.1.1.6.0 = STRING: myserver
〜以下略〜

というように、OIDで表示される。

       1|2|3|4 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ