



 |
SNMPの設定
この章では、Catalyst 3750スイッチにSNMP(簡易ネットワーク管理プロトコル)を設定する方法について説明します。特に明記しないかぎり、
スイッチ
という用語はスタンドアロン スイッチおよびスイッチ スタックを意味します。
-
この章で使用されるコマンドの構文および使用方法の詳細については、
このリリース
に対応するスイッチのコマンド リファレンス、および『
Cisco IOS Configuration Fundamentals Command Reference
』Release 12.1を参照してください。
この章で説明する内容は、次のとおりです。
SNMPの概要
SNMPはアプリケーション レイヤ プロトコルで、マネージャとエージェント間の通信用メッセージ形式を規定します。SNMPシステムは、SNMPマネージャ、SNMPエージェント、およびManagement Information Base(MIB)で構成されます。SNMPマネージャは、CiscoWorksなどのNetwork Management System(NMS;ネットワーク管理システム)の一部に組み入れることができます。エージェントおよびMIBはスイッチ上で動作します。スイッチにSNMPを設定するには、マネージャとエージェント間の関係を定義します。
SNMPエージェントはMIB変数を格納し、SNMPマネージャは、この変数の値を要求または変更することができます。マネージャは、エージェントから値を取得したり、エージェントに値を保管することもできます。エージェントは、デバイス パラメータおよびネットワーク データに関する情報の保管場所であるMIBからデータを収集します。また、エージェントはマネージャから要求されるデータ取得または設定に対応します。
エージェントは、非送信請求トラップをマネージャに送信します。トラップとは、ネットワーク上のある状態をSNMPマネージャに通知するメッセージです。トラップは、不正なユーザ認証、再起動、リンクのステータス(アップまたはダウン)、MAC(メディア アクセス制御)アドレス追跡、TCP接続の切断、ネイバとの接続の切断、その他の重要なイベントを表示します。
Catalyst 3750では、スイッチ スタック全体のSNMP要求およびトラップがスタック マスターで処理されます。スタック マスターは、すべてのスタック メンバーに関連する要求またはトラップをトランスペアレントに管理します。新しいスタック マスターが選択されると、新しいマスターが以前のスタック マスターの設定に従ってSNMP要求およびトラップの処理を継続します。SNMP管理ステーションとのIP接続は、新しいマスターが制御を引き継いだ後も、有効であるとみなされます。
スイッチ スタックの詳細については、
スイッチ スタックの管理
を参照してください。
ここでは、次の内容について説明します。
SNMPのバージョン
このソフトウェア リリースでは、次のSNMPバージョンをサポートしています。
-
SNMPv1 ― SNMP、完全インターネット標準(RFC 1157に定義)。
-
SNMPv2Cは、SNMPv2Classicのパーティベース管理およびセキュリティ フレームワークをSNMPv2Cのコミュニティストリングベース管理フレームワークに置き換えるもので、SNMPv2Classicの一括検索を保持しながら、エラー処理が改良されています。SNMPv2Cの機能は次のとおりです。
-
SNMPv2 ― SNMPのバージョン2、インターネット標準草案(RFC 1902〜1907に定義)。
-
SNMPv2C ― SNMPv2に対応するコミュニティストリングベース管理フレームワーク、実験的インターネット プロトコル(RFC 1901に定義)。
-
SNMPv3 ― SNMPのバージョン3は、RFC 2273〜2275に定義された相互運用可能な標準ベース プロトコルです。SNMPv3はネットワーク経由でパケットの認証および暗号化を行い、デバイスへの安全なアクセスを実現します。以下のセキュリティ機能が組み込まれています。
-
メッセージ整合性 ― パケットが送信中に不正に変更されないようにします。
-
認証 ― メッセージの送信元が有効かどうかを判別します。
-
暗号化 ― パッケージの内容をスクランブルし、不正送信元に読み取られないようにします。
-
暗号化を選択する場合は、
priv
キーワードを指定します。このキーワードは、暗号化ソフトウェア イメージがインストールされている場合のみ使用できます。
SNMPv1とSNMPv2Cは、共にコミュニティベース形式のセキュリティを使用します。エージェントのMIBにアクセスできるマネージャのコミュニティは、IPアドレスのアクセス制御リストとパスワードによって定義されています。
SNMPv2Cには、一括検索メカニズムと管理ステーションへのより詳細なエラー メッセージ報告機能が組み込まれています。一括検索メカニズムは表や大量の情報を検索し、必要なラウンドトリップ数を最小限にします。SNMPv2Cの改良されたエラー処理には、各種のエラー状況を区別する拡張エラー コードが組み込まれています。エラー状況は、SNMPv1の単一のエラー コードを使用して報告されます。SNMPv2Cのエラー リターン コードが、エラー タイプを報告します。
SNMPv3は、セキュリティ モデルとセキュリティ レベルの両方を備えています。セキュリティ モデルは、ユーザおよびそのユーザが所属するグループに対して設定する認証方法です。セキュリティ レベルは、1つのセキュリティ モデルの中で許可されるセキュリティのレベルを表します。セキュリティ モデルとセキュリティ レベルの組み合わせによって、SNMPパケットを処理するときに使用するセキュリティ メカニズムが決まります。使用可能なセキュリティ モデルはSNMPv1、SNMPv2C、およびSNMPv3です。
SNMPセキュリティ モデルおよびレベル
に、セキュリティ モデルおよびセキュリティ レベルをさまざまに組み合わせた場合の特性を示します。
SNMPセキュリティ モデルおよびレベル
|
モデル
|
レベル
|
認証
|
暗号化
|
結果
|
|
SNMPv1
|
noAuthNoPriv
|
コミュニティ ストリング
|
なし
|
認証にコミュニティ ストリングの照合を使用します。
|
|
SNMPv2C
|
noAuthNoPriv
|
コミュニティ ストリング
|
なし
|
認証にコミュニティ ストリングの照合を使用します。
|
|
SNMPv3
|
noAuthNoPriv
|
ユーザ名
|
なし
|
認証にユーザ名の照合を使用します。
|
|
SNMPv3
|
authNoPriv
|
MD5またはSHA
|
なし
|
HMAC-MD5またはHMAC-SHAアルゴリズムに基づいて認証を行います。
|
|
SNMPv3
|
authPriv
(暗号ソフトウェア イメージが必要)
|
MD5またはSHA
|
DES
|
HMAC-MD5またはHMAC-SHAアルゴリズムに基づいて認証を行います。
CBC-DES(DES-56)標準に基づく認証以外にDES 56ビット暗号化を行います。
|
管理ステーションがサポートするSNMPのバージョンを使用するには、SNMPエージェントを設定する必要があります。エージェントは複数のマネージャと通信できるため、SNMPv1、SNMPv2C、およびSNMPv3プロトコルによる通信をサポートするようにソフトウェアを設定できます。
SNMPマネージャの機能
SNMPマネージャはMIB情報を使用し、
SNMPの動作
に示す動作を実行します。
SNMPの動作
|
動作
|
説明
|
|
get-request
|
特定の変数から値を取得します。
|
|
get-next-request
|
テーブル内の変数から値を取得します。
|
|
get-bulk-request
|
テーブルの複数行など、大きなデータブロックを取得します。小さなデータブロックを何回も送信する必要はありません。
|
|
get-response
|
NMSから送られるget-request、get-next-request、およびset-requestに応答します。
|
|
set-request
|
特定の変数に値を格納します。
|
|
trap
|
イベントの発生時に、SNMPエージェントからSNMPマネージャに送られる、非送信請求メッセージです。
|
SNMPエージェントの機能
SNMPエージェントは、次のようにSNMPマネージャの要求に応答します。
-
MIB変数の取得 ― SNMPエージェントは、NMSからの要求に応答してこの機能を開始します。エージェントは、要求されたMIB変数の値を取得し、その値でNMSに応答します。
-
MIB変数の設定 ― SNMPエージェントは、NMSからのメッセージに応答してこの機能を開始します。SNMPエージェントは、MIB変数の値をNMSから要求された値に変更します。
また、SNMPエージェントは非送信請求トラップ メッセージを送信し、エージェントで重要なイベントが発生したことをNMSに通知します。トラップ条件の例には、ポートまたはモジュールが起動または停止した場合、スパニングツリー トポロジーの変更が発生した場合、認証障害が発生した場合などがあります。
SNMPコミュニティ ストリング
SNMPコミュニティ ストリングはMIBオブジェクトへのアクセスを認証し、内蔵パスワードとして機能します。NMSがスイッチにアクセスするには、NMS上のコミュニティ ストリングの定義が、スイッチ上の3つのコミュニティ ストリングの定義と1つまたは複数一致する必要があります。
コミュニティ ストリングは、次のいずれかの属性を持ちます。
-
read-only(RO) ― 許可した管理ステーションに、コミュニティ ストリングを除くMIB内のオブジェクトすべてに対する読み取りアクセス権を与えます。ただし、書き込みアクセスは許可しません。
-
read-write(RW) ― 許可した管理ステーションに、MIB内のオブジェクトすべてに対する読み取りおよび書き込みアクセス権を与えます。ただし、コミュニティ ストリングへのアクセスは許可しません。
-
read-write-all ― 許可した管理ステーションに、コミュニティ ストリングも含めたMIB内のオブジェクトすべてに対する読み取りおよび書き込みアクセス権を与えます。
-
クラスタを作成すると、コマンド スイッチがメンバー スイッチとSNMPアプリケーション間のメッセージ交換を管理します。Cluster Managementソフトウェアは、コマンド スイッチ上で最初に設定されたRWおよびROコミュニティ ストリングにメンバー スイッチ番号(
@esN
、
N
はスイッチ番号)を追加し、これらのストリングをメンバー スイッチに伝達します。詳細については、
スイッチのクラスタ設定
を参照してください。
SNMPによるMIB変数へのアクセス
NMSの一例は、CiscoWorksネットワーク管理ソフトウェアです。CiscoWorks2000ソフトウェアは、スイッチのMIB変数を使用してデバイスの変数を設定し、ネットワーク上のデバイスに対するポーリングを実行して特定の情報を入手します。ポーリング結果は、グラフ形式で表示されます。この結果を分析して、インターネットワーキングに関する問題のトラブルシューティング、ネットワーク パフォーマンスの改善、デバイスの設定の確認、トラフィック負荷のモニタなどを行うことができます。
SNMPネットワーク
に示すように、SNMPエージェントはMIBからデータを収集します。エージェントはSNMPマネージャに対してトラップ(特定イベントの通知)を送信し、SNMPマネージャはトラップを受信してそれを処理します。トラップは、ネットワーク上で発生した不正なユーザ認証、再起動、リンク ステータス(アップまたはダウン)、MACアドレス追跡などに関する条件をSNMPマネージャに通知します。SNMPエージェントはさらに、SNMPマネージャから
get-request
、
get-next-request
、および
set-request
形式で送られるMIB関連のクエリに応答します。
サポートされているMIBとそのアクセス方法については、
サポートされているMIB
を参照してください。
SNMP通知
SNMPを使用すると、スイッチは特定のイベントが発生したときにSNMPマネージャに通知を送信することができます。SNMP通知は、トラップまたはインフォーム要求として送信できます。コマンド構文内に、トラップまたはインフォームを選択するオプションが指定されていない場合、キーワード
traps
はトラップまたはインフォーム、あるいはその両方を表します。SNMP通知をトラップまたはインフォームのどちらで送信するかを指定するには、
snmp-server host
コマンドを使用します。
-
SNMPv1はインフォームをサポートしていません。
レシーバはトラップの受信時に確認応答を送信しないため、トラップは信頼性が低く、送信側はトラップが受信されたかどうかを判別できません。SNMPマネージャはインフォーム要求を受信すると、SNMP応答Protocol Data Unit(PDU;プロトコル データ ユニット)を使用してメッセージを確認します。送信側が応答を受信しない場合は、インフォーム要求を再送信します。このため、インフォームの方がトラップよりも目的の宛先に到達する可能性が高くなります。
インフォームはトラップよりも信頼性が高いため、スイッチおよびネットワーク内のリソースの消費量も多くなります。送信後すぐに廃棄されるトラップと異なり、インフォーム要求は応答を受信するか、または要求が時間切れになるまでメモリ内に保持されます。トラップの送信は1回限りですが、インフォームは何回も再送信されたり、再試行されることがあります。再試行が繰り返されるとトラフィックが増加し、ネットワークのオーバーヘッドが大きくなるため、トラップおよびインフォームの使用の際は信頼性とリソースのどちらを重視するかの選択が必要となります。SNMPマネージャですべての通知を受信することが重要な場合はインフォーム要求を使用し、ネットワーク トラフィックまたはスイッチのメモリが重要で、通知が必要ない場合は、トラップを使用します。
SNMP ifIndex MIBオブジェクト値
NMSでは、IF-MIBによってinterface index(ifIndex)オブジェクト値の生成および割り当てが行われます。この値は、物理または論理インターフェイスを識別する0より大きな一意の数です。スイッチが再起動するか、スイッチ ソフトウェアがアップグレードされても、スイッチはインターフェイスで同じ値を使用します。たとえば、スイッチがインターフェイスGigabitEthernet 2/0/5に10003のifIndex値を割り当てる場合、この値はスイッチの再起動後も変わりません。
スイッチはインターフェイスにifIndex値を割り当てる際に、
ifIndex値
に記載されている値の1つを使用します。
ifIndex値
|
インターフェイス タイプ
|
ifIndex範囲
|
|
SVI
|
1〜4999
|
|
EtherChannel
|
5000〜5012
|
|
ループバック
|
5013〜5077
|
|
トンネル
|
5078〜5142
|
|
物理(ギガビット イーサネットまたはSFP
モジュール インターフェイスなど)
|
10000〜14500
|
|
null
|
14501
|
-
スイッチが範囲内の値を順番に使用するとは限りません。
SNMPの設定
ここでは、スイッチにSNMPを設定する方法について説明します。具体的な設定情報は次のとおりです。
SNMPのデフォルト設定
SNMPのデフォルト設定
に、SNMPのデフォルト設定を示します。
SNMPのデフォルト設定
|
機能
|
デフォルト設定
|
|
SNMPエージェント
|
イネーブル
|
|
SNMPコミュニティ ストリング
|
Read-Only:パブリック
Read-Write:プライベート
Read-Write-all:シークレット
|
|
SNMPトラップ レシーバ
|
設定なし
|
|
SNMPトラップ
|
イネーブルなし
|
|
SNMPバージョン
|
version
キーワードを指定しない場合、デフォルトはバージョン1です。
|
|
SNMPv3認証
|
キーワードを指定しない場合、デフォルトは
noauth
(noAuthNoPriv)セキュリティ レベルです。
|
|
SNMP通知タイプ
|
タイプを指定しない場合、すべての通知が送信されます。
|
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を設定してから、プロキシ要求またはインフォームを送信する必要があります。
-
SNMPエンジンIDの値を変更すると、重大な悪影響を及ぼします。(コマンドラインから入力した)ユーザのパスワードは、パスワードおよびローカル エンジンIDに基づいてMD5またはSHAセキュリティ ダイジェストに変換されます。コマンドライン パスワードはその後、RFC 2274の要求に従って破棄されます。この破棄が原因で、エンジンIDの値が変更されると、SNMPv3ユーザのセキュリティ ダイジェストが無効になるので、
snmp-server user
username
グローバル コンフィギュレーション コマンドを使用してSNMPユーザを再設定しなければなりません。同様に、エンジンIDが変更された場合は、コミュニティ ストリングを再設定する必要があります。
SNMPエージェントのディセーブル化
SNMPエージェントをディセーブルにするには、イネーブルEXECモードで次の手順を実行します。
|
|
コマンド
|
説明
|
-
|
configure terminal
|
グローバル コンフィギュレーション モードを開始します。
|
-
|
no snmp-server
|
SNMPエージェントの動作をディセーブルにします。
|
-
|
end
|
イネーブルEXECモードに戻ります。
|
-
|
show running-config
|
設定を確認します。
|
-
|
copy running-config startup-config
|
(任意)コンフィギュレーション ファイルに設定を保存します。
|
no snmp-server
グローバル コンフィギュレーション コマンドは、デバイス上で実行されているすべてのバージョン(バージョン1、バージョン2C、およびバージョン3)をディセーブルにします。SNMPをイネーブルにする特定のIOSコマンドはありません。最初に入力する
snmp-server
グローバル コンフィギュレーション コマンドによって、SNMPのすべてのバージョンがイネーブルになります。
コミュニティ ストリングの設定
SNMPマネージャとエージェント間の関係を定義するには、SNMPコミュニティ ストリングを使用します。コミュニティ ストリングはパスワードと同様に機能し、スイッチのエージェントへのアクセスを許可します。任意で、ストリングに関連づけられた次の特性を1つまたは複数指定することができます。
-
エージェントへアクセスするコミュニティ ストリングの使用が許可されている、SNMPマネージャのIPアドレスに関するアクセス リスト。
-
MIBビュー。指定のコミュニティがアクセス可能な全MIBオブジェクトのサブセットを定義します。
-
コミュニティがアクセス可能なMIBオブジェクトの読み取りおよび書き込み権限、または読み取り専用権限。
スイッチ上でコミュニティ ストリングを設定するには、イネーブルEXECモードで次の手順を実行します。
|
|
コマンド
|
説明
|
-
|
configure terminal
|
グローバル コンフィギュレーション モードを開始します。
|
-
|
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アクセス リスト番号を入力します。
|
-
|
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を配置します。
アクセス リストの末尾には、すべてに適用される暗黙の拒否ステートメントが常に存在することに注意してください。
|
-
|
end
|
イネーブルEXECモードに戻ります。
|
-
|
show running-config
|
設定を確認します。
|
-
|
copy running-config startup-config
|
(任意)コンフィギュレーション ファイルに設定を保存します。
|
-
SNMPコミュニティのアクセスをディセーブルにするには、そのコミュニティに対するコミュニティ ストリングをヌル ストリングに設定します(コミュニティ ストリングに値を入力しない)。
特定のコミュニティ ストリングを削除するには、
no snmp-server community
string
グローバル コンフィギュレーション コマンドを使用します。
次に、SNMPにストリング
comaccess
を割り当て、読み取り専用アクセスを許可し、IPアクセス リスト4がコミュニティ ストリングを使用してスイッチのSNMPエージェントにアクセスするよう指定する方法を示します。
Switch(config)#
snmp-server community comaccess ro 4
SNMPグループおよびユーザの設定
スイッチ上のローカルまたはリモートSNMPサーバ エンジンに、識別名(エンジンID)を指定することができます。SNMPユーザをSNMPビューにマッピングするSNMPサーバ グループを設定し、SNMPグループに新規ユーザを追加することができます。
スイッチ上でSNMPを設定するには、イネーブルEXECモードで次の手順を実行します。
|
|
コマンド
|
説明
|
-
|
configure terminal
|
グローバル コンフィギュレーション モードを開始します。
|
-
|
snmp-server engineID
{
local
engineid-string
|
remote
ip-address
[
udp-port
port-number
]
engineid-string
}
|
SNMPのローカル コピーまたはリモート コピーのいずれかの名前を設定します。
-
engineid-string
は、SNMPのコピー名を含む24文字のIDストリングです。後続の値がゼロの場合、エンジンIDに24文字すべてを指定する必要はありません。後続値がすべてゼロとなる位置まで、エンジンIDの一部を指定します。たとえば、
123400000000000000000000のエンジンIDを設定する場合は、
snmp-server engineID local 1234と入力します。
-
remote
を選択した場合は、SNMPのリモート コピーが格納されたデバイスの
ip-address
、および任意でリモート デバイス上のUDPポートを指定します。デフォルト値は162です。
|
-
|
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
― Message Digest 5(MD5)およびSecure Hash Algorithm(SHA)パケット認証をイネーブルにします。
noauth
― noAuthNoPrivセキュリティ レベル。キーワードを指定しない場合は、このレベルがデフォルトです。
priv
― Data Encryption Standard(DES;データ暗号化規格)パケット暗号化(別名
プライバシ
)をイネーブルにします。
-
priv
キーワードは、暗号ソフトウェア イメージがインストールされている場合のみ使用できます。
-
(任意)
read
readview
には、エージェントの内容表示のみが可能なビューの名前を示すストリング(64文字以下)を指定して、入力します。
-
(任意)
write
writeview
には、データを入力してエージェントの内容を設定するビューの名前を示すストリング(64文字以下)を指定して、入力します。
-
(任意)
notify
notifyview
には、通知、インフォーム、またはトラップを指定するビューの名前を示すストリング(64文字以下)を指定して、入力します。
-
(任意)
access
access-list
には、アクセス リストの名前を示すストリング(64文字以下)を指定して、入力します。
|
-
|
snmp-server user
username
groupname
[
remote
host
[
udp-port
port
]]
{
v1
|
v2c | v3
[
auth
{
md5
|
sha
}
auth-password
]}
[
encrypted
]
[
access
access-list
]
|
SNMPグループに新規ユーザを設定します。
-
username
は、エージェントに接続されたホスト上のユーザ名です。
-
groupname
は、ユーザが関連づけられているグループの名前です。
-
(任意)ユーザが属するリモートSNMPエンティティおよびホスト名を指定する場合は、
remote
を入力します。このエンティティのIPアドレスを指定する場合は、さらにオプションのUDPポート番号を指定します。デフォルト値は162です。
-
SNMPバージョン番号(
v1
、
v2c
、または
v3
)を入力します。
v3
を入力する場合は、次のオプションを使用します。
-
auth
― 認証レベル設定セッションです。HMAC-MD5-96またはHMAC-SHA-96認証レベルのいずれかを指定でき、パスワード ストリング(64文字以下)が必要となります。
-
encrypted
― パスワードが暗号化形式で表示されるように指定します。
-
(任意)
access
access-list
には、アクセス リストの名前を示すストリング(64文字以下)を指定して、入力します。
|
-
|
end
|
イネーブルEXECモードに戻ります。
|
-
|
show running-config
|
設定を確認します。
|
-
|
copy running-config startup-config
|
(任意)コンフィギュレーション ファイルに設定を保存します。
|
SNMP通知の設定
トラップ マネージャは、トラップを受信して処理する管理ステーションです。トラップは、特定のイベントが発生した場合に、スイッチが生成するシステム アラートです。デフォルトでトラップ マネージャは定義されていないため、トラップは送信されません。IOSリリースが稼働するスイッチでは、無制限にトラップ マネージャを設定することができます。
-
多くのコマンドは、コマンド構文内でワード
traps
を使用します。トラップまたはインフォームを選択するオプションがコマンド内に指定されていない場合、キーワード
traps
はトラップまたはインフォーム、あるいはその両方を表します。SNMP通知をトラップまたはインフォームのどちらで送信するかを指定するには、
snmp-server host
コマンドを使用します。
スイッチの通知タイプ
に、サポートされているスイッチのトラップ(通知タイプ)を示します。これらのトラップの一部または全部をイネーブルにし、トラップ マネージャがトラップを受信するように設定することができます。
スイッチの通知タイプ
|
通知タイプのキーワード
|
説明
|
|
bgp
|
BGPステート変更トラップを生成。このオプションは、拡張マルチレイヤ イメージがインストールされている場合のみ使用できます。
|
|
bridge
|
STPブリッジMIBトラップを生成。
|
|
cluster
|
クラスタ設定の変更時にトラップを生成。
|
|
config
|
SNMP設定の変更時にトラップを生成。
|
|
config-copy
|
SNMPコピー設定の変更時にトラップを生成。
|
|
entity
|
SNMPエンティティの変更時にトラップを生成。
|
|
envmon
|
環境モニタ トラップを生成。ファン、シャットダウン、電源装置、温度の環境トラップの一部またはすべてをイネーブルにすることができます。
|
|
flash
|
SNMP FLASH通知を生成。オプションとして、フラッシュの追加または削除に関する通知をイネーブルにできます。このようにすると、スタックからスイッチを削除するか、またはスタックにスイッチを追加した場合に(物理的な取り外し、電源のオフ/オン、またはリロードの場合に)、トラップが生成されます。
|
|
fru-ctrl
|
エンティティFRU制御トラップを生成。Catalyst 3750スイッチ スタックでは、このトラップはスタックに対するスイッチの追加または削除を意味します。
|
|
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接続時にトラップを生成。
|
|
vlan-membership
|
SNMP VLANメンバーシップの変更時にトラップを生成。
|
|
vlancreate
|
SNMP VLAN作成トラップを生成。
|
|
vlandelete
|
SNMP VLAN削除トラップを生成。
|
|
vtp
|
VLAN Trunk Protocol(VTP;VLANトランク プロトコル)の変更時にトラップを生成
|
スイッチの通知タイプ
に示す通知タイプを受信する場合は、特定のホストに対して
snmp-server host
グローバル コンフィギュレーション コマンドを実行します。
ホストにトラップまたはインフォームを送信するようにスイッチを設定するには、イネーブルEXECモードで次の手順を実行します。
|
|
コマンド
|
説明
|
-
|
configure terminal
|
グローバル コンフィギュレーション モードを開始します。
|
-
|
snmp-server engineID remote
ip-address engineid-string
|
リモート ホストのエンジンIDを指定します。
|
-
|
snmp-server user
username
groupname
remote
host
[
udp-port
port
]
{
v1
|
v2c | v3
[
auth
{
md5
|
sha
}
auth-password
]}
[
encrypted
]
[
access
access-list
]
|
ステップ2で作成したリモート ホストに対応するSNMPユーザを設定します。
-
アドレスに対してリモート ユーザを設定する場合は、最初にそのリモート ホストのエンジンIDを設定する必要があります。リモート エンジンIDを設定する前にユーザを設定しようとすると、エラー メッセージが表示され、コマンドは実行されません。
|
-
|
snmp-server host
host-addr
[
traps | informs
] [
version
{
1
|
2c | 3
[
auth
|
noauth
|
priv
]}]
community-string
[
udp-port
port
]
[
notification-type
]
|
SNMPトラップ動作の受信側を指定します。
-
host-addr
には、ホスト(対象となる受信デバイス)の名前またはインターネット アドレスを指定します。
-
(任意)SNMPトラップをホストに送信する場合は、
traps
(デフォルト)を入力します。
-
(任意)SNMPインフォームをホストに送信する場合は、
informs
を入力します。
-
(任意)SNMP
バージョン
(
1
、
2c
、または
3
)を指定します。SNMPv1はインフォームをサポートしていません。
-
(任意)バージョン3の場合は、認証レベル(
auth、noauth
、または
priv
)を選択します。
-
priv
キーワードは、暗号ソフトウェア イメージがインストールされている場合のみ使用できます。
-
community-string
には、通知動作によって送信されたパスワードと同様のコミュニティ ストリングを入力します。
-
(任意)
udp-port
port
には、リモート デバイスのUDPポートを入力します。
-
(任意)
notification-type
には、
スイッチの通知タイプ
に示されているキーワードを使用します。タイプを指定しない場合、すべての通知が送信されます。
|
-
|
snmp-server enable traps
notification-types
|
トラップまたはインフォームを送信するスイッチをイネーブルにし、送信する通知タイプを指定します。通知タイプの一覧については、
スイッチの通知タイプ
を参照するか、または
snmp-server enable traps ?と入力してください。
複数のトラップ タイプをイネーブルにするには、トラップ タイプごとに
snmp-server enable traps
コマンドを個別に入力する必要があります。
|
-
|
snmp-server trap-source
interface-id
|
(任意)送信元インターフェイスを指定します。これにより、トラップ メッセージ用のIPアドレスが設定されます。このコマンドを実行すると、インフォーム用の送信元IPアドレスも設定されます。
|
-
|
snmp-server queue-length
length
|
(任意)各トラップ ホストのメッセージ キュー長を設定します。指定できる範囲は1〜1000で、デフォルトは10です。
|
-
|
snmp-server trap-timeout
seconds
|
(任意)トラップ メッセージの再送信間隔を定義します。指定できる範囲は1〜1000秒で、デフォルトは30秒です。
|
-
|
end
|
イネーブルEXECモードに戻ります。
|
-
|
show running-config
|
設定を確認します。
|
-
|
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モードで次の手順を実行します。
|
|
コマンド
|
説明
|
-
|
configure terminal
|
グローバル コンフィギュレーション モードを開始します。
|
-
|
snmp-server contact
text
|
システム コンタクト ストリングを設定します。
次に例を示します。
snmp-server contact Dial System Operator at beeper 21555
.
|
-
|
snmp-server location
text
|
システム ロケーション ストリングを設定します。
次に例を示します。
snmp-server location Building 3/Room 222
|
-
|
end
|
イネーブルEXECモードに戻ります。
|
-
|
show running-config
|
設定を確認します。
|
-
|
copy running-config startup-config
|
(任意)コンフィギュレーション ファイルに設定を保存します。
|
SNMP経由で使用するTFTPサーバの制限
SNMPを経由してコンフィギュレーション ファイルの保存およびロードに使用するTrivial File Transfer Protocol(TFTP;簡易ファイル転送プロトコル)サーバを、アクセス リストに指定されたサーバに限定するには、イネーブルEXECモードで次の手順を実行します。
|
|
コマンド
|
説明
|
-
|
configure terminal
|
グローバル コンフィギュレーション モードを開始します。
|
-
|
snmp-server tftp-server-list
access-list-number
|
SNMPを経由してコンフィギュレーション ファイルのコピーに使用するTFTPサーバを、アクセス リスト内のサーバに限定します。
access-list-number
には、1〜99および1300〜1999の範囲で標準のIPアクセス リスト番号を入力します。
|
-
|
access-list
access-list-number
{
deny
|
permit
}
source
[
source-wildcard
]
|
標準アクセス リストを作成します。必要な回数だけこのコマンドを繰り返します。
-
access-list-number
には、ステップ2で指定したアクセス リスト番号を入力します。
-
deny
キーワードを指定すると、条件が一致した場合にアクセスが拒否されます。
permit
キーワードを指定すると、条件が一致した場合にアクセスが許可されます。
-
source
には、スイッチへのアクセスが許可されたTFTPサーバのIPアドレスを入力します。
-
(任意)
source-wildcard
を指定する場合は、送信元に適用されるワイルドカード ビットをドット付き10進表記で入力します。無視するビット位置に1を配置します。
アクセス リストの末尾には、すべてに適用される暗黙の拒否ステートメントが常に存在することに注意してください。
|
-
|
end
|
イネーブルEXECモードに戻ります。
|
-
|
show running-config
|
設定を確認します。
|
-
|
copy running-config startup-config
|
(任意)コンフィギュレーション ファイルに設定を保存します。
|
SNMPの例
次に、SNMPのすべてのバージョンをイネーブルにする例を示します。この設定では、コミュニティ ストリング
public
を使用してすべてのオブジェクトに読み取り専用権限でアクセスするようにSNMPマネージャを許可します。この設定により、スイッチがトラップを送信することはありません。
Switch(config)#
snmp-server community public
次に、コミュニティ ストリング
public
を使用してすべてのオブジェクトに読み取り専用権限でアクセスするようにSNMPマネージャを許可する例を示します。このスイッチは、SNMPv1を使用してホスト192.180.1.111および192.180.1.33に、SNMPv2Cを使用してホスト192.180.1.27に、それぞれ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マネージャは、オブジェクトへのアクセス権がありません。コミュニティ ストリング
public
を使用し、SNMPv2CによってSNMP認証失敗トラップがホスト
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
SNMPステータスの表示
違法なコミュニティ ストリング エントリ、エラー、および要求された変数を含む、SNMP入出力の統計情報を表示するには、
show snmp
イネーブルEXECコマンドを使用します。また、SNMP情報の表示には、
SNMP情報表示用のコマンド
に記載されているその他のイネーブルEXECコマンドも使用できます。この出力に表示されるフィールドの詳細については、『
Cisco IOS Configuration Fundamentals Command Reference
』Release 12.1を参照してください。
SNMP情報表示用のコマンド
|
機能
|
デフォルト設定
|
|
show snmp
|
SNMPの統計情報を表示します。
|
|
show snmp engineID
[
local | remote
]
|
デバイス上に設定されているローカルSNMPエンジンおよびすべてのリモート エンジンに関する情報を表示します。
|
|
show snmp group
|
ネットワーク上の各SNMPグループに関する情報を表示します。
|
|
show snmp user
|
SNMPユーザ テーブル内の各SNMPユーザ名に関する情報を表示します。
|
-
snmp-server enable informs
コマンドはコマンドラインのヘルプ ストリングに表示されていますが、サポートされていません。SNMPインフォーム通知の送信をイネーブルにするには、
snmp-server enable traps
コマンドと、
snmp-server host
host-addr
informs
コマンドを組み合わせて使用します。

All contents copyright (C) 1992--2004 Cisco Systems K.K.