Catalyst 2940 スイッチ ソフトウェア コンフィギュレーション ガイド 12.1(22)EA11 and Later
SNMP の設定
SNMP の設定
発行日;2012/02/03 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 5MB) | フィードバック

目次

SNMP の設定

SNMP の概要

SNMP バージョン

SNMP マネージャ機能

SNMP エージェント機能

SNMP コミュニティ ストリング

SNMP を使用して MIB 変数にアクセスする方法

SNMP 通知

SNMP の設定

SNMP のデフォルト設定

SNMP 設定時の注意事項

SNMP エージェントのディセーブル化

コミュニティ ストリングの設定

SNMP グループおよびユーザの設定

SNMP 通知の設定

エージェント コンタクトおよびロケーションの設定

SNMP を通して使用する TFTP サーバの制限

SNMP の例

SNMP ステータスの表示

SNMP の設定

この章では、Catalyst 2940 スイッチ上で SNMP(簡易ネットワーク管理プロトコル)を設定する方法について説明します。


) この章で使用するコマンドの構文および使用方法の詳細については、このリリースに対応するスイッチ コマンド リファレンスおよび『Cisco IOS Configuration Fundamentals Command Reference』Release 12.1 を参照してください。


この章で説明する内容は、次のとおりです。

「SNMP の概要」

「SNMP の設定」

「SNMP ステータスの表示」

SNMP の概要

SNMP は、マネージャとエージェント間の通信のメッセージ フォーマットを提供するアプリケーションレイヤ プロトコルです。SNMP システムは、SNMP マネージャ、SNMP エージェント、および MIB(管理情報ベース)で構成されます。SNMP マネージャは、CiscoWorks などの Network Management System(NMS; ネットワーク管理システム)に統合できます。エージェントおよび MIB は、スイッチに置かれます。スイッチに SNMP を設定するには、マネージャとエージェントの関係を定義します。

SNMP エージェントは MIB 変数を格納し、SNMP マネージャはこの変数の値を要求または変更できます。マネージャはエージェントから値を取得したり、エージェントに値を格納できます。エージェントは、装置パラメータやネットワーク データの保存場所である MIB から値を収集します。エージェントはマネージャからのデータ取得要求または設定要求に応答します。

エージェントは非送信請求トラップをマネージャに送信できます。トラップは、ネットワーク上のある状態を SNMP マネージャに通知するメッセージです。トラップは不正なユーザ認証、再起動、リンク ステータス(アップまたはダウン)、MAC アドレス追跡、TCP 接続の終了、ネイバーとの接続の切断などの重要なイベントの発生を意味する場合があります。

ここで説明する内容は次のとおりです。

「SNMP バージョン」

「SNMP マネージャ機能」

「SNMP エージェント機能」

「SNMP コミュニティ ストリング」

「SNMP を使用して MIB 変数にアクセスする方法」

「SNMP 通知」

SNMP バージョン

このソフトウェア リリースは、次の SNMP バージョンをサポートしています。

SNMPv1 -- RFC 1157 に定められた SNMP(完全版インターネット規格)

SNMPv2C は、SNMPv2Classic のバルク検索機能を残し、エラー処理を改善したうえで、
SNMPv2Classic のパーティ ベースの管理およびセキュリティ フレームワークをコミュニティ ストリング ベースの管理フレームワークに置き換えたものです。SNMPv2C には次の機能があります。

SNMPv2 -- RFC 1902 ~ 1907 に定められた SNMP バージョン 2(ドラフト版インターネット規格)

SNMPv2C -- RFC 1901 に定められた SNMPv2 のコミュニティ ストリング ベースの管理フレームワーク(試験版インターネット プロトコル)

SNMPv3 -- SNMP バージョン 3 は、RFC 2273 ~ 2275 に定められたインターオペラビリティのある標準ベースのプロトコルです。ネットワーク上のパケットを認証して暗号化することによって、装置に安全にアクセスできるようにします。次のセキュリティ機能が組み込まれています。

メッセージの完全性 -- パケットが伝送中に改ざんされていないことを保証します。

認証 -- メッセージの送信元が有効かどうかを判別します。

SNMPv1 および SNMPv2C は、どちらもコミュニティ ベース形式のセキュリティを使用します。エージェントの MIB にアクセスできるマネージャのコミュニティが、IP アドレス Access Control List(ACL; アクセス制御リスト)およびパスワードによって定義されます。

SNMPv2C にはバルク検索メカニズムが組み込まれ、より詳細なエラー メッセージを管理ステーションに報告します。バルク検索メカニズムは、テーブルや大量の情報を検索し、必要な往復回数を削減します。SNMPv2C ではエラー処理機能が改善され、さまざまなエラーを区別するため拡張エラー コードが使用されています。これらのエラーは、SNMPv1 では単一のエラー コードで報告されます。SNMPv2 では、エラー リターン コードでエラー タイプが報告されるようになりました。

SNMPv3 は、セキュリティ モデルとセキュリティ レベルの両方を提供します。セキュリティ モデルは、ユーザとユーザが属しているグループ用に設定された認証方式です。セキュリティ レベルは、セキュリティ モデルの中で許可されたセキュリティ レベルです。セキュリティ レベルとセキュリティ モデルの組み合わせによって、SNMP パケットを扱うときに使用するセキュリティ メカニズムが決まります。使用できるセキュリティ モデルは、SNMPv1、SNMPv2C、SNMPv3 です。

表24-1 に、セキュリティ モデルとセキュリティ レベルのさまざまな組み合わせについて、特性を示します。

 

表24-1 SNMP のセキュリティ モデルおよびセキュリティ レベル

モデル
レベル
認証
暗号化
結果

SNMPv1

noAuthNoPriv

コミュニティ ストリング

なし

コミュニティ ストリングの一致処理によって認証します。

SNMPv2C

noAuthNoPriv

コミュニティ ストリング

なし

コミュニティ ストリングの一致処理によって認証します。

SNMPv3

noAuthNoPriv

ユーザ名

なし

ユーザ名の一致処理によって認証します。

SNMPv3

authNoPriv

MD5 または SHA

なし

HMAC-MD5 または HMAC-SHA アルゴリズムに基づいた認証を提供します。

管理ステーションでサポートされている SNMP バージョンを使用するには、SNMP エージェントを設定する必要があります。エージェントは複数のマネージャと通信できるため、ソフトウェアを設定して、SNMPv1、SNMPv2C、SNMPv3 を使用する通信をサポートできます。

SNMP マネージャ機能

SNMP マネージャは、MIB 情報を使用して、 表24-2 に示す動作を実行します。

 

表24-2 SNMP の動作

動作
説明

get-request

特定の変数から値を取得します。

get-next-request

テーブル内の変数から値を取得します。 1

get-bulk-request 2

テーブルの複数の行など、通常はサイズの小さい多数のデータ ブロックに分割して送信する必要がある巨大なデータ ブロックを取得します。

get-response

NMS から送信される get-request、get-next-request、set-request に対して応答します。

set-request

特定の変数に値を格納します。

trap

SNMP エージェントから SNMP マネージャに送られる、イベントの発生を伝える非送信請求メッセージです。

1.この動作では、SNMP マネージャに正確な変数名を認識させる必要はありません。テーブル内を順に検索して、必要な変数を検出します。

2.get-bulk コマンドは、SNMPv2 以上に限って使用できます。

SNMP エージェント機能

SNMP エージェントは、次のようにして SNMP マネージャ要求に応答します。

MIB 変数の取得 -- SNMP エージェントは NMS からの要求に応答して、この機能を開始します。エージェントは要求された MIB 変数の値を取得し、この値を使用して NMS に応答します。

MIB 変数の設定 -- SNMP エージェントは NMS からのメッセージに応答して、この機能を開始します。SNMP エージェントは、MIB 変数の値を NMS から要求された値に変更します。

エージェントで重要なイベントが発生したことを NMS に通知するために、SNMP エージェントは非送信請求トラップ メッセージも送信します。トラップ条件の例には、ポートまたはモジュールがアップまたはダウン状態になった場合、スパニング ツリー トポロジが変更された場合、認証に失敗した場合などがあります。

SNMP コミュニティ ストリング

SNMP コミュニティ ストリングは、MIB オブジェクトに対するアクセスを認証し、組み込みパスワードとして機能します。NMS がスイッチにアクセスするには、NMS のコミュニティ ストリング定義が、スイッチ上の 3 つのコミュニティ ストリング定義の少なくとも 1 つと一致していなければなりません。

コミュニティ ストリングの属性は、次の 3 つのいずれかです。

read-only(RO) -- 許可された管理ステーションに、コミュニティ ストリングを除く MIB 内のすべてのオブジェクトへの読み取りアクセスを許可しますが、書き込みアクセスは許可しません。

read-write(RW) -- 許可された管理ステーションに、MIB 内のすべてのオブジェクトへの読み書きアクセスを許可しますが、コミュニティ ストリングに対するアクセスは許可しません。


) クラスタを作成すると、コマンド スイッチがメンバー スイッチと SNMP アプリケーション間のメッセージ交換を管理します。Network Assistant ソフトウェアは、コマンド スイッチ上で最初に設定された RW および RO コミュニティ ストリングにメンバー スイッチ番号(@esNN はスイッチ番号)を追加し、これらのストリングをメンバー スイッチに伝播します。詳細については、「スイッチのクラスタリング」および Cisco.com から入手できる『Getting Started with Cisco Network Assistant』を参照してください。


SNMP を使用して MIB 変数にアクセスする方法

NMS の例として、CiscoWorks ネットワーク管理ソフトウェアがあります。CiscoWorks2000 ソフトウェアは、スイッチの MIB 変数を使用して装置変数を設定し、ネットワーク上の装置をポーリングして特定の情報を取得します。ポーリング結果は、グラフ形式で表示されます。この結果を分析して、インターネットワーキング関連の問題のトラブルシューティング、ネットワーク パフォーマンスの改善、装置設定の確認、トラフィック負荷のモニタなどを行うことができます。

図24-1 に示すように、SNMP エージェントは MIB からデータを収集します。エージェントは SNMP マネージャに対してトラップ(特定イベントの通知)を送信でき、SNMP マネージャはトラップを受信するとそれを処理します。トラップは、ネットワーク上で発生した不正なユーザ認証、再起動、リンク ステータス(アップまたはダウン)、MAC アドレス追跡などの状況を SNMP マネージャに通知します。SNMP エージェントはさらに、SNMP マネージャから get-request get-next-request 、および set-request 形式で送信される MIB 関連のクエリーに応答します。

図24-1 SNMP ネットワーク

 

サポート対象の MIB の詳細、およびアクセス手順については、 付録 A「サポート対象 MIB」 を参照してください。

SNMP 通知

SNMP を使用すると、特定のイベントが発生した場合に、スイッチから SNMP マネージャに通知を送信できます。SNMP 通知は、トラップまたは情報要求として送信できます。コマンド構文では、トラップまたは情報を選択するオプションがコマンドにないかぎり、キーワード traps はトラップ、情報、またはその両方を表します。 snmp-server host コマンドを使用して、トラップまたは情報として SNMP 通知を送信するかどうかを指定します。


) SNMPv1 は情報をサポートしていません。


トラップは信頼性に欠けます。受信側はトラップを受信しても確認応答を送信しないので、トラップが受信されたかどうかが送信側にわからないからです。情報要求の場合、受信した SNMP マネージャは SNMP 応答 Protocol Data Unit(PDU; プロトコル データ ユニット)でメッセージを確認します。送信側が応答を受信しなかった場合は、再度情報要求を送信できます。再送信できるので、情報の方がトラップより、意図した宛先に届く可能性が高くなります。

情報の方がトラップより信頼性が高いのは、スイッチおよびネットワークのリソースを情報の方が多く消費するという特性にも理由があります。送信と同時に廃棄されるトラップと異なり、情報要求は応答を受信するまで、または要求がタイムアウトになるまで、メモリ内に保持されます。トラップの送信は 1 回限りですが、情報は数回にわたって再送信すなわち再試行が可能です。再試行によってトラフィックが増え、ネットワークのオーバーヘッドが大きくなります。したがって、トラップにするか情報にするかは、信頼性を取るかリソースを取るかという選択になります。SNMP マネージャですべての通知を受信することが重要な場合は、情報要求を使用してください。ネットワークのトラフィックまたはスイッチのメモリが重要で、なおかつ通知が不要な場合は、トラップを使用してください。

SNMP の設定

ここでは、スイッチ上で SNMP を設定する手順について説明します。内容は次のとおりです。

「SNMP のデフォルト設定」

「SNMP 設定時の注意事項」

「SNMP エージェントのディセーブル化」

「コミュニティ ストリングの設定」

「SNMP グループおよびユーザの設定」

「SNMP 通知の設定」

「エージェント コンタクトおよびロケーションの設定」

「SNMP を通して使用する TFTP サーバの制限」

「SNMP の例」

SNMP のデフォルト設定

表24-3 に、SNMP のデフォルト設定を示します。

 

表24-3 SNMP のデフォルト設定

機能
デフォルト設定

SNMP エージェント

ディセーブル 3

SNMP コミュニティ ストリング

read-only:Public

read-write:Private

SNMP トラップ レシーバー

設定なし

SNMP トラップ

TCP 接続( tty )のトラップを除きイネーブルなし

SNMP バージョン

version キーワードがない場合、デフォルトはバージョン 1 になります。

SNMPv3 認証

キーワードを入力しなかった場合、セキュリティ レベルはデフォルトで noauth (noAuthNoPriv)になります。

SNMP 通知タイプ

タイプを指定しなかった場合、すべての通知が送信されます。

3.デフォルトとは、スイッチの起動時で、およびスタートアップ コンフィギュレーションに snmp-server グローバル コンフィギュレーション コマンドがまったく含まれていない場合をいいます。

SNMP 設定時の注意事項

スイッチが起動し、スタートアップ コンフィギュレーションに snmp-server グローバル コンフィギュレーション コマンドが最低 1 つは含まれている場合、SNMP エージェントはイネーブルになります。

SNMP グループ は、SNMP ユーザを SNMP ビューにマッピングするテーブルです。SNMP ユーザ は、SNMP グループのメンバーです。SNMP ホスト は、SNMP トラップ動作の受信側です。SNMP エンジン ID は、ローカルまたはリモート SNMP エンジンの名前です。

SNMP を設定するときには、次の注意事項に従ってください。

SNMP グループを設定するときには、通知ビューを指定しません。ユーザの通知ビューは、
snmp-server host
グローバル コンフィギュレーション コマンドによって自動生成され、そのユーザに対応するグループに追加されます。グループの通知ビューを変更すると、そのグループに対応付けられたすべてのユーザが影響を受けます。通知ビューの設定が必要な状況については、『 Cisco IOS Configuration Fundamentals Command Reference 』Release 12.1 を参照してください。

リモート ユーザを設定するには、ユーザが存在する装置のリモート SNMP エージェントに対応する IP アドレスまたはポート番号を指定します。

特定のエージェントのリモート ユーザを設定する前に、 snmp-server engineID グローバル コンフィギュレーション コマンドを使用し、 remote オプションを指定して、SNMP エンジン ID を設定してください。リモート エージェントの SNMP エンジン ID およびユーザ パスワードを使用して、認証およびプライバシ ダイジェストが算出されます。先にリモート エンジン ID を設定しておかないと、コンフィギュレーション コマンドがエラーになります。

SNMP 情報を設定するときには、SNMP データベースにプロキシ要求または情報の送信先となるリモート エージェントの SNMP エンジン ID を設定しておく必要があります。

ローカル ユーザがリモート ホストに対応していない場合、スイッチは認証レベルで auth (authNoPriv)および priv (authPriv)の情報を送信しません。

SNMP エンジン ID の値を変更すると、重大な影響を及ぼします。(コマンドラインから入力した)ユーザのパスワードは、パスワードおよびローカル エンジン ID に基づいて MD5 または SHA セキュリティ ダイジェストに変換されます。コマンドライン パスワードはその後、RFC 2274 の要件として廃棄されます。この廃棄によって、エンジン ID の値が変更されると、SNMPv3 ユーザのセキュリティ ダイジェストが無効になるので、 snmp-server user username グローバル コンフィギュレーション コマンドを使用して SNMP ユーザを再設定しなければなりません。エンジン ID を変更した場合は、同様の制限によってコミュニティ ストリングも再設定が必要になります。

SNMP エージェントのディセーブル化

SNMP エージェントをディセーブルにするには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

no snmp-server

SNMP エージェントの動作をディセーブルにします。

ステップ 3

end

特権 EXEC モードに戻ります。

ステップ 4

show running-config

設定を確認します。

ステップ 5

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

no snmp-server グローバル コンフィギュレーション コマンドを使用すると、装置上で稼働しているすべてのバージョン(バージョン 1、バージョン 2C、バージョン 3)がディセーブルになります。SNMP をイネーブルにする特定の Cisco IOS コマンドは存在しません。最初に入力する snmp-server グローバル コンフィギュレーション コマンドによって、SNMP のすべてのバージョンがイネーブルになります。

コミュニティ ストリングの設定

SNMP マネージャとエージェントの関係を定義するには、SNMP コミュニティ ストリングを使用します。コミュニティ ストリングは、スイッチ上のエージェントへのアクセスを許可するパスワードと同様に機能します。ストリングに対応する次の特性を 1 つまたは複数指定することもできます。

コミュニティ ストリングを使用してエージェントにアクセスできる SNMP マネージャの IP アドレスのアクセス リスト

指定のコミュニティにアクセスできるすべての MIB オブジェクトのサブセットを定義する MIB ビュー

コミュニティにアクセスできる MIB オブジェクトの読み書き権限または読み取り専用権限

スイッチ上でコミュニティ ストリングを設定するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

snmp-server community string [ view view-name ] [ ro | rw ] [ access-list-number ]

コミュニティ ストリングを設定します。


) @ 記号はコンテキスト情報を区切るために使用します。このコマンドを設定するときは、@ 記号を SNMP コミュニティ ストリングの一部として使用しないでください。


string には、パスワードと同様に機能し、SNMP プロトコルへのアクセスを許可するストリングを指定します。任意の長さのコミュニティ ストリングを 1 つまたは複数設定できます。

(任意) view には、コミュニティがアクセスできるビュー レコードを指定します。

(任意)許可された管理ステーションで MIB オブジェクトを取得する場合は読み取り専用( ro )、許可された管理ステーションで MIB オブジェクトを取得および変更する場合は読み書き( rw )を指定します。デフォルトでは、コミュニティ ストリングはすべてのオブジェクトに対する読み取り専用アクセスを許可します。

(任意) access-list-number には、1 ~ 99 および 1300 ~ 1999 の標準 IP アクセス リスト番号を入力します。

ステップ 3

access-list access-list-number { deny | permit } source [ source-wildcard ]

(任意)ステップ 2 で標準 IP アクセス リスト番号を指定して、リストを作成した場合は、必要に応じてコマンドを繰り返します。

access-list-number には、ステップ 2 で指定したアクセス リスト番号を入力します。

deny キーワードは、条件が一致した場合にアクセスを拒否します。 permit キーワードは、条件が一致した場合にアクセスを許可します。

source には、コミュニティ ストリングを使用してエージェントにアクセスできる SNMP マネージャの IP アドレスを入力します。

(任意) source-wildcard には、送信元に適用されるワイルドカード ビットをドット付き 10 進表記で入力します。無視すべきビット位置には 1 を入れます。

アクセス リストの末尾には、すべてに対する暗黙の拒否ステートメントが常に存在することに注意してください。

ステップ 4

end

特権 EXEC モードに戻ります。

ステップ 5

show running-config

設定を確認します。

ステップ 6

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。


) SNMP コミュニティのアクセスをディセーブルにするには、そのコミュニティのコミュニティ ストリングをヌル ストリングに設定します(コミュニティ ストリングに値を入力しないでください)。


特定のコミュニティ ストリングを削除するには、 no snmp-server community string グローバル コンフィギュレーション コマンドを使用します。

次に、ストリング comaccess を SNMP に割り当てて読み取りアクセスを許可し、IP アクセス リスト 4 がこのコミュニティ ストリングを使用してスイッチの SNMP エージェントにアクセスできるように指定する例を示します。

Switch(config)# snmp-server community comaccess ro 4

SNMP グループおよびユーザの設定

スイッチのローカルまたはリモート SNMP サーバ エンジンを表す識別名(エンジン ID)を指定できます。SNMP ユーザを SNMP ビューにマッピングする SNMP サーバ グループを設定し、新規ユーザを SNMP グループに追加できます。

スイッチに SNMP を設定するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

snmp-server engineID { local engineid-string | remote ip-address [ udp-port port-number ] engineid-string }

SNMP のローカル コピーまたはリモート コピーの名前を設定します。

engineid-string は、SNMP のコピー名を指定する、24 文字の ID ストリングです。後書き 0 が含まれる場合は、24 文字のエンジン ID 全部を指定する必要はありません。指定するのは、エンジン ID のうち 0 のみが続く箇所を除いた部分だけです。たとえば、123400000000000000000000 というエンジン ID を設定する場合は、次のように入力できます。 snmp-server engineID local 1234

remote を選択した場合は、SNMP のリモート コピーが置かれている装置の ip-address を指定し、任意でリモート装置の UDP ポートを指定します。デフォルト値は 162 です。

ステップ 3

snmp-server group groupname { v1 | v2c | v3 { auth | noauth }} [ read readview ] [ write writeview ] [ notify notifyview ] [ access access-list ]

リモート装置上で新しい SNMP グループを設定します。

groupname には、グループ名を指定します。

セキュリティ モデルを指定します。

v1 は、最も安全性の低いセキュリティ モデルです。

v2c は、2 番めに安全性の低いセキュリティ モデルです。標準の 2 倍の幅で情報および整数を伝送できます。

最も安全な v3 の場合は、認証レベルを選択する必要があります。

auth -- Message Digest 5(MD5)および Secure Hash Algorithm(SHA)によるパケット認証が可能です。

noauth -- noAuthNoPriv というセキュリティ レベルをイネーブルにします。キーワードを指定しなかった場合、これがデフォルトです。

(任意) read readview とともに、エージェントの内容のみを表示できるビューの名前を表すストリング(64 文字以下)を入力します。

(任意) write writeview とともに、データを入力し、エージェントの内容を設定できるビューの名前を表すストリング(64 文字以下)を入力します。

(任意) notify notifyview とともに、通知、情報、またはトラップを指定するビューの名前を表すストリング(64 文字以下)を入力します。

(任意) access access-list とともに、アクセス リスト名を表すストリング(64 文字以下)を入力します。

ステップ 4

snmp-server user username groupname { remote host [ udp-port port ]} { v1 [ access access-list ] | v2c [ access access-list ] | v3 [ encrypted ] [ access access-list ] [ auth { md5 | sha } auth-password ]}

SNMP グループに対して新規ユーザを追加します。

username は、エージェントに接続するホスト上のユーザ名です。

groupname は、ユーザが関連付けられるグループの名前です。

remote を入力して、ユーザが所属するリモート SNMP エンティティおよびそのエンティティのホスト名または IP アドレスとともに、任意で UDP ポート番号を指定します。デフォルト値は 162 です。

SNMP バージョン番号( v1 v2c 、または v3 )を入力します。 v3 を入力する場合は、次のオプションを追加します。

encrypted は、パスワードを暗号化して表示されるように指定します。このキーワードは、 v3 キーワードが指定されている場合のみ使用できます。

auth は、認証レベル設定セッションであり、
HMAC-MD5-96( md5 )または HMAC-SHA-96( sha )という認証レベルを使用できます。パスワード ストリング(64 文字以下)が必要です。

(任意) access access-list とともに、アクセス リスト名を表すストリング(64 文字以下)を入力します。

ステップ 5

end

特権 EXEC モードに戻ります。

ステップ 6

show running-config

設定を確認します。

ステップ 7

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

SNMP 通知の設定

トラップ マネージャは、トラップを受信して処理する管理ステーションです。トラップは、特定のイベントが発生したときにスイッチが生成するシステム アラートです。デフォルトでは、トラップ マネージャは定義されず、トラップは送信されません。この Cisco IOS リリースが稼働しているスイッチでは、トラップ マネージャを無制限に設定できます。


) コマンド構文で traps というワードを使用するコマンドは多数あります。トラップまたは情報を選択するオプションがコマンドにないかぎり、キーワード traps はトラップ、情報、またはその両方を表します。snmp-server host グローバル コンフィギュレーション コマンドを使用して、トラップまたは情報として SNMP 通知を送信するかどうかを指定します。


表24-4 に、サポートされているスイッチ トラップ(通知タイプ)を示します。これらのトラップの一部または全部をイネーブルにして、これを受信するようにトラップ マネージャを設定できます。

 

表24-4 スイッチの通知タイプ

通知タイプの
キーワード
説明

bridge

STP ブリッジ MIB トラップを生成します。

c2900

Catalyst 2940 固有の通知のトラップを生成します。

cluster

クラスタ設定が変更された場合に、トラップを生成します。

config

SNMP 設定が変更された場合に、トラップを生成します。

copy-config

SNMP コピー設定が変更された場合に、トラップを生成します。

entity

SNMP エンティティが変更された場合に、トラップを生成します。

envmon

環境モニタ トラップを許可します。次の環境モニタ トラップのいずれかまたはすべてをイネーブルにできます。fan、shutdown、status、supply、temperature

flash

SNMP FLASH 通知を生成します。

hsrp

Hot Standby Router Protocol(HSRP)が変更された場合に、トラップを生成します。

mac-notification

MAC アドレス通知のトラップを生成します。

port-security

SNMP ポート セキュリティ トラップを生成します。また、最大トラップ レート/秒も設定できます。設定できる範囲は、0 ~ 1000 です。デフォルトは 0 で、レート制限なしの意味です。

rtr

SNMP Response Time Reporter(RTR)のトラップを生成します。

snmp

SNMP タイプ通知のトラップを生成します。

stpx

SNMP STP 拡張 MIB トラップを生成します。

syslog

SNMP Syslog トラップを生成します。

tty

TCP 接続のトラップを生成します。このトラップは、デフォルトでイネーブルに設定されています。

vlancreate

SNMP VLAN が生成したトラップを生成します。

vlandelete

SNMP VLAN が削除したトラップを生成します。

vlan-membership

SNMP VLAN メンバーシップが変更された場合に、トラップを生成します。

vtp

VLAN Trunking Protocol(VTP; VLAN トランキング プロトコル)が変更された場合に、トラップを生成します。

表24-4 に記載されている通知タイプを受信するには、特定のホストに対して、 snmp-server host グローバル コンフィギュレーション コマンドを使用します。

ホストにトラップまたは通知を送信するようにスイッチを設定するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

snmp-server engineID remote ip-address engineid-string

リモート ホストのエンジン ID を指定します。

ステップ 3

snmp-server user username groupname { remote host [ udp-port port ]} { v1 [ access access-list ] | v2c [ access access-list ] | v3 [ encrypted ] [ access access-list ] [ auth { md5 | sha } auth-password ]}

ステップ 2 で設定したリモート ホストとマッピングする SNMP ユーザを設定します。


) アドレスに対応するリモート ユーザを設定するには、先にリモート ホストのエンジン ID を設定しておく必要があります。そうでない場合、エラー メッセージを受信し、コマンドは実行されません。


ステップ 4

snmp-server group [ groupname { v1 | v2c | v3 { auth | noauth }}] [ read readview ] [ write writeview ] [ notify notifyview ] [ access access-list ]

SNMP グループを設定します。

ステップ 5

snmp-server host host-addr [ informs | traps ] [ version { 1 | 2c | 3 { auth | noauth }}] community-string [ notification-type ]

SNMP トラップ動作の受信側を指定します。

host-addr には、ホスト(対象となる受信側)の名前またはインターネット アドレスを指定します。

(任意)SNMP 情報をホストに送信するには、 informs を指定します。

(任意)SNMP トラップをホストに送信するには、 traps (デフォルト)を指定します。

(任意)SNMP version 1 2c 、または 3 )を指定します。SNMPv1 を informs と組み合わせて使用することはできません。

(任意)バージョン 3 では、認証レベル auth または noauth を選択します。

community-string には、 version 1 または version 2c が指定されているときに、通知動作によって送信されたパスワードと同様のコミュニティ ストリングを入力します。 version 3 が指定されているときは、SNMPv3 ユーザ名を入力します。


) @ 記号はコンテキスト情報を区切るために使用します。このコマンドを設定するときは、@ 記号を SNMP コミュニティ ストリングの一部として使用しないでください。


(任意) notification-type には、 表24-4 に記載されているキーワードを使用します。タイプを指定しなかった場合、すべての通知が送信されます。

ステップ 6

snmp-server enable traps notification-types

スイッチがトラップまたは情報を送信できるようにし、送信する通知のタイプを指定します。通知タイプの一覧については、 表24-4 を参照するか、または次のように入力してください。 snmp-server enable traps ?

複数のトラップ タイプをイネーブルにするには、トラップ タイプごとに snmp-server enable traps コマンドを個別に入力する必要があります。

ステップ 7

snmp-server trap-source interface-id

(任意)送信元インターフェイスを指定します。そこからトラップ メッセージに対応する IP アドレスが取得されます。情報の送信元 IP アドレスも、このコマンドで設定します。

ステップ 8

snmp-server queue-length length

(任意)各トラップ ホストのメッセージ キュー長を設定します。指定できる範囲は 1 ~ 1000 回です。デフォルトは 10 回です。

ステップ 9

snmp-server trap-timeout seconds

(任意)トラップ メッセージの再送信間隔を設定します。指定できる範囲は 1 ~ 1000 秒です。デフォルトは 30 秒です。

ステップ 10

end

特権 EXEC モードに戻ります。

ステップ 11

show running-config

設定を確認します。

ステップ 12

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

snmp-server host コマンドでは、通知を受信するホストを指定します。 snmp-server enable trap コマンドによって、指定された通知メカニズム(トラップおよび情報)がグローバルでイネーブルになります。ホストが情報を受信できるようにするには、そのホストに対応する snmp-server host informs コマンドを設定し、 snmp-server enable traps コマンドを使用することによって情報をグローバルでイネーブルにする必要があります。

指定したホストがトラップを受信しないようにするには、 no snmp-server host host グローバル コンフィギュレーション コマンドを使用します。キーワードを指定しないで no snmp-server host コマンドを使用すると、ホストへのトラップはディセーブルになりますが、情報はディセーブルになりません。情報をディセーブルにするには、 no snmp-server host informs グローバル コンフィギュレーション コマンドを使用します。特定のトラップ タイプをディセーブルにするには、 no snmp-server enable traps notification-types グローバル コンフィギュレーション コマンドを使用します。

エージェント コンタクトおよびロケーションの設定

SNMP エージェントのシステム コンタクトおよびロケーションを設定して、コンフィギュレーション ファイルからこれらの記述にアクセスできるようにするには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

snmp-server contact text

システム コンタクトを表すストリングを設定します。

次に例を示します。

snmp-server contact Dial System Operator at beeper 21555 .

ステップ 3

snmp-server location text

システム ロケーションを表すストリングを設定します。

次に例を示します。

snmp-server location Building 3/Room 222

ステップ 4

end

特権 EXEC モードに戻ります。

ステップ 5

show running-config

設定を確認します。

ステップ 6

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

SNMP を通して使用する TFTP サーバの制限

SNMP を通してコンフィギュレーション ファイルを保存およびロードするために使用する Trivial File transfer Protocol(TFTP; 簡易ファイル転送プロトコル)サーバを、アクセス リストで指定されたサーバに限定するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

snmp-server tftp-server-list access-list-number

SNMP を通してコンフィギュレーション ファイルをコピーするために使用する TFTP サーバを、アクセス リスト内のサーバに限定します。

access-list-number には、1 ~ 99 および 1300 ~ 1999 の標準 IP アクセス リスト番号を入力します。

ステップ 3

access-list access-list-number { deny | permit } source [ source-wildcard ]

標準アクセス リストを作成し、必要な回数だけコマンドを繰り返します。

access-list-number には、ステップ 2 で指定したアクセス リスト番号を入力します。

deny キーワードは、条件が一致した場合にアクセスを拒否します。 permit キーワードは、条件が一致した場合にアクセスを許可します。

source には、スイッチにアクセスできる TFTP サーバの IP アドレスを入力します。

(任意) source-wildcard には、送信元に適用されるワイルドカード ビットをドット付き 10 進表記で入力します。無視すべきビット位置には 1 を入れます。

アクセス リストの末尾には、すべてに対する暗黙の拒否ステートメントが常に存在することに注意してください。

ステップ 4

end

特権 EXEC モードに戻ります。

ステップ 5

show running-config

設定を確認します。

ステップ 6

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

SNMP の例

次に、SNMP のすべてのバージョンをイネーブルにする例を示します。この設定では、任意の SNMP マネージャがコミュニティ ストリング public を使用して、読み取り専用権限ですべてのオブジェクトにアクセスできます。この設定では、スイッチはトラップを送信しません。

Switch(config)# snmp-server community public
 

次に、任意の SNMP マネージャがコミュニティ ストリング public を使用して、読み取り専用権限ですべてのオブジェクトにアクセスする例を示します。スイッチは、ホスト 192.180.1.111 および 192.180.1.33(SNMPv1 を使用)や、ホスト 192.180.1.27(SNMPv2C を使用)へ VTP トラップを送信します。コミュニティ ストリング public は、トラップとともに送信されます。

Switch(config)# snmp-server community public
Switch(config)# snmp-server enable traps vtp
Switch(config)# snmp-server host 192.180.1.27 version 2c public
Switch(config)# snmp-server host 192.180.1.111 version 1 public
Switch(config)# snmp-server host 192.180.1.33 public
 

次に、 comaccess コミュニティ ストリングを使用するアクセス リスト 4 のメンバーに、すべてのオブジェクトへの読み取りアクセスを許可する例を示します。その他の SNMP マネージャは、どのオブジェクトにもアクセスできません。SNMP 認証障害トラップは、SNMPv2C がコミュニティ ストリング public を使用してホスト cisco.com に送信します。

Switch(config)# snmp-server community comaccess ro 4
Switch(config)# snmp-server enable traps snmp authentication
Switch(config)# snmp-server host cisco.com version 2c public
 

次に、エンティティ MIB トラップをホスト cisco.com に送信する例を示します。コミュニティ ストリングは制限されます。先頭行は、イネーブル済みのトラップのほかに、エンティティ MIB トラップの送信もイネーブルにします。2 番めの行は、これらのトラップの宛先を指定し、ホスト cisco.com に対するこれ以前の snmp-server host コマンドを無効とします。

Switch(config)# snmp-server enable traps entity
Switch(config)# snmp-server host cisco.com restricted entity
 

次に、コミュニティ ストリング public を使用して、すべてのトラップをホスト myhost.cisco.com に送信するようにスイッチをイネーブルにする例を示します。

Switch(config)# snmp-server enable traps
Switch(config)# snmp-server host myhost.cisco.com public
 

次に、ユーザがグローバル コンフィギュレーション モードを開始したときに、ユーザをリモート ホストに対応付け、 auth (authNoPriv)認証レベル情報を送信する例を示します。

Switch(config)# snmp-server engineID remote 192.180.1.27 00000063000100a1c0b4011b
Switch(config)# snmp-server group authgroup v3 auth
Switch(config)# snmp-server user authuser authgroup remote 192.180.1.27 v3 auth md5 mypassword
Switch(config)# snmp-server user authuser authgroup v3 auth md5 mypassword
Switch(config)# snmp-server host 192.180.1.27 informs version 3 auth authuser config
Switch(config)# snmp-server enable traps
Switch(config)# snmp-server inform retries 0

SNMP ステータスの表示

不正なコミュニティ ストリング エントリ、エラー、要求変数の数など、SNMP の入出力統計情報を表示するには、 show snmp 特権 EXEC コマンドを使用します。 表24-5 に記載されたその他の特権 EXEC コマンドを使用して、SNMP 情報を表示することもできます。この出力に表示されるフィールドの詳細については、『 Cisco IOS Configuration Fundamentals Command Reference 』Release 12.1 を参照してください。

 

表24-5 SNMP 情報を表示するためのコマンド

機能
デフォルト設定

show snmp

SNMP 統計情報を表示します。

show snmp engineID [ local | remote ]

装置上で設定されているローカル SNMP エンジンおよびすべてのリモート エンジンに関する情報を表示します。

show snmp group

ネットワーク上の各 SNMP グループに関する情報を表示します。

show snmp pending

未確定の SNMP 要求に関する情報を表示します。

show snmp sessions

現在の SNMP セッションに関する情報を表示します。

show snmp user

SNMP ユーザ テーブルの各 SNMP ユーザ名に関する情報を表示します。