Catalyst 2970 スイッチ ソフトウェア コンフィギュレーション ガイド Cisco IOS Release 12.2(25)SEC
SNMPの設定
SNMPの設定
発行日;2012/01/08 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 6MB) | フィードバック

目次

SNMPの設定

SNMPの概要

SNMPバージョン

SNMPマネージャ機能

SNMPエージェント機能

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

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

SNMP通知

SNMP ifIndex MIBオブジェクト値

SNMPの設定

SNMPのデフォルト設定

SNMP設定時の注意事項

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

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

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

SNMP通知の設定

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

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

SNMPの例

SNMPステータスの表示

SNMPの設定

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


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


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

「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 ifIndex MIBオブジェクト値」

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に規定されている相互運用可能な標準ベース プロトコルです。SNMPv3は、ネットワーク上のパケットを認証、暗号化することで装置へのアクセスに対するセキュリティを提供します。SNMPv3は、次のセキュリティ機能を備えています。

メッセージの完全性 ― パケットが伝送中に改ざんされないようにします。

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

暗号化 ― パッケージの内容をミキシングし、許可されていない送信元に内容が読まれることを防止します。


) 暗号化を選択するには、privキーワードを入力します。このキーワードは、暗号化ソフトウェア イメージがインストールされている場合のみ使用可能です。


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

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

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

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

 

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

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

SNMPv1

noAuthNoPriv

コミュニティ ストリング

なし

コミュニティ ストリングの照合を使用して認証します。

SNMPv2C

noAuthNoPriv

コミュニティ ストリング

なし

コミュニティ ストリングの照合を使用して認証します。

SNMPv3

noAuthNoPriv

ユーザ名

なし

ユーザ名の照合を使用して認証します。

SNMPv3

authNoPriv

Message Digest 5(MD5)またはSecure Hash Algorithm(SHA)

なし

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

SNMPv3

authPriv
(暗号化ソフトウェア イメージが必要)

MD5またはSHA

DES

HMAC-MD5またはHMAC-SHAアルゴリズムに基づいて認証します。標準のCBC-DES(DES-56)に基づいた認証に加え、Data Encryption Standard(DES)56ビット暗号化も可能です。

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

SNMPマネージャ機能

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

 

表26-2 SNMPの動作

動作
説明

get-request

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

get-next-request

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

get-bulk-request2

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

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コミュニティ ストリングにメンバー スイッチ番号( @esN N はスイッチ番号)を追加し、これらのストリングをメンバー スイッチに伝播します。詳細は、 第5章「スイッチのクラスタ化」 およびCisco.comから入手できる『 Getting Started with Cisco Network Assistant 』を参照してください。

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

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

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

図26-1 SNMPネットワーク

 

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

SNMP通知

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


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


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

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

SNMP ifIndex MIBオブジェクト値

NMSのIF-MIBは、物理インターフェイスまたは論理インターフェイスを識別する、ゼロより大きい一意の値であるinterface index(ifIndex)オブジェクト値の生成および割り当てを行います。スイッチの再起動またはスイッチのソフトウェアのアップグレード時に、スイッチは、インターフェイスにこれと同じ値を使用します。たとえば、スイッチのポート2に10003というifIndex値が割り当てられていると、スイッチの再起動後も同じ値が使用されます。

スイッチは、 表26-3 のいずれかの値を使用して、インターフェイスにifIndex値を割り当てます。

 

表26-3 ifIndex値

インターフェイス タイプ
ifIndex範囲

SVI3

1~4999

EtherChannel

5000~5012

ループバック

5013~5077

トンネル

5078~5142

物理(ギガビット イーサネットまたは
SFP4モジュール インターフェイス)

10000~14500

ヌル

14501

3.SVI = Switch Virtual Interface

4.SFP = Small Form-Factor Pluggable


) スイッチは、範囲内の連続した値を使用しない場合があります。


SNMPの設定

ここでは、次の設定情報について説明します。

「SNMPのデフォルト設定」

「SNMP設定時の注意事項」

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

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

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

「SNMP通知の設定」

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

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

「SNMPの例」

SNMPのデフォルト設定

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

 

表26-4 SNMPのデフォルト設定

機能
デフォルト設定

SNMPエージェント

ディセーブル5

SNMPトラップ レシーバー

未設定

SNMPトラップ

TCP接続のトラップ( tty )以外は、イネーブルではありません。

SNMPバージョン

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

SNMPv3認証

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

SNMP通知タイプ

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

5.これは、スイッチが起動し、スタートアップ コンフィギュレーションにsnmp-serverグローバル コンフィギュレーション コマンドが設定されていない場合のデフォルトです。

SNMP設定時の注意事項

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

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

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

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

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

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

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

ローカル ユーザとリモート ホストに関連がない場合、スイッチは、 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 ]

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

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 には、sourceに適用されるワイルドカード ビットをドット付き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ストリングです。後続ゼロが含まれる場合は、24文字のエンジンIDすべてを指定する必要はありません。指定するのは、エンジンIDのうちゼロのみが続く箇所を除いた部分だけです。たとえば、123400000000000000000000というエンジンIDを設定する場合、次のように入力できます。 snmp-server engineID local 1234

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

ステップ 3

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

リモート装置に新規SNMPグループを設定します。

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

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

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

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

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

auth ― MD5およびSHAによるパケット認証が可能です。

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

priv ― DESによるパケット暗号化をイネーブルにします( privacy とも呼ばれます)。


privキーワードは、暗号化ソフトウェア イメージがインストールされている場合のみ使用可能です。


(任意) 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通知を送信するかどうかを指定します。


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

 

表26-5 スイッチの通知タイプ

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

bridge

Spanning-Tree Protocol(STP;スパニングツリー プロトコル)ブリッジMIBトラップを生成します。

cluster

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

config

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

config-copy

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

entity

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

envmon

環境モニタ トラップを生成します。ファン(fan)、シャットダウン(shutdown)、ステータス(status)、電源(supply)、温度(temperature)の環境トラップのいずれかまたはすべてをイネーブルにできます。

flash

SNMP FLASH通知を生成します。

hsrp

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

ipmulticast

IPマルチキャスト ルーティングが変更された場合に、トラップを生成します。

mac-notification

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

msdp

Multicast Source Discovery Protocol(MSDP)が変更された場合に、トラップを生成します。

ospf

Open Shortest Path First(OSPF)が変更された場合に、トラップを生成します。シスコ固有、エラー、リンクステート アドバタイズ、レート制限、再送信、ステート変更に関するトラップを任意にイネーブルにできます。

pim

Protocol-Independent Multicast(PIM)が変更された場合に、トラップを生成します。無効なPIMメッセージ、ネイバ変更、およびRendezvous Point(RP;ランデブー ポイント)マッピングの変更に関するトラップを任意にイネーブルにできます。

port-security

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

rtr

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

snmp

認証、コールド スタート、ウォーム スタート、リンク アップ、またはリンク ダウンについて、SNMPタイプ通知のトラップを生成します。

storm-control

SNMPストーム制御のトラップを生成します。秒当たりの最大トラップ速度も設定できます。指定できる範囲は0~1000です。デフォルトは0に設定されています(制限なしの状態では、発生ごとにトラップが送信されます)。

stpx

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

syslog

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

tty

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

vlan-membership

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

vlancreate

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

vlandelete

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

vtp

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


cpu [threshold]、fru-ctrlinsertion、およびremovalキーワードはコマンドラインのヘルプ ストリングに表示されますが、サポートされていません。SNMP情報通知の送信をイネーブルにするには、snmp-server enable trapsグローバル コンフィギュレーション コマンドとsnmp-server host host-addr informsグローバル コンフィギュレーション コマンドを組み合わせて使用します。


表26-5 に記載されている通知タイプを受信するには、特定のホストに対して 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 | priv } } [ read readview ] [ write writeview ] [ notify notifyview ] [ access access-list ]

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

ステップ 5

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

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

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

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

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

(任意)SNMP version 1 2c 、または 3 )を指定します。SNMPv1はinformsをサポートしていません。

(任意)バージョン3の場合、認証レベルとして auth、noauth 、または priv を選択します。


privキーワードは、暗号化ソフトウェア イメージがインストールされている場合のみ使用可能です。


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

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

ステップ 6

snmp-server enable traps notification-types

スイッチがトラップまたは情報を送信できるようにし、送信する通知のタイプを指定します。通知タイプの一覧については、表26-5を参照するか、 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を通してコンフィギュレーション ファイルを保存およびロードするために使用する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 には、sourceに適用されるワイルドカード ビットをドット付き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コマンドを使用します。また、 表26-6 に記載されたその他のイネーブルEXECコマンドを使用して、SNMP情報を表示することもできます。この場合に表示されるフィールドの詳細については、『 Cisco IOS Configuration Fundamentals Command Reference 』Release 12.2を参照してください。

 

表26-6 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ユーザ名に関する情報を表示します。