簡易ネットワーク管理プロトコルの設定

SNMP の前提条件

サポートされている SNMP バージョン

このソフトウェア リリースは、次の SNMP バージョンをサポートしています。
  • SNMPv1:RFC1157 に規定された SNMP(完全インターネット標準)。

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

    • SNMPv2:RFC 1902 ~ 1907 に規定された SNMP バージョン 2(ドラフト版インターネット標準)

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

  • SNMPv3:SNMP のバージョン 3 は、RFC 2273 ~ 2275 に規定されている相互運用可能な標準ベース プロトコルです。SNMPv3 は、ネットワーク上のパケットを認証、暗号化することでデバイスへのアクセスに対するセキュリティを提供します。SNMPv3 は、次のセキュリティ機能を備えています。

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

    • 認証:有効な送信元からのメッセージであるかどうかを判別します。

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


(注)  


暗号化を選択するには、priv キーワードを入力します。

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

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

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

次の表では、この特性を識別し、セキュリティ モデルとセキュリティ レベルの異なる組み合わせを比較します。

表 1. SNMP セキュリティ モデルおよびセキュリティ レベル
モデル レベル 認証 暗号化 結果
SNMPv1 noAuthNoPriv コミュニティ ストリング 未対応 コミュニティ ストリングの照合を使用して認証します。
SNMPv2C noAuthNoPriv コミュニティ ストリング 未対応 コミュニティ ストリングの照合を使用して認証します。
SNMPv3 noAuthNoPriv Username 未対応 ユーザ名の照合を使用して認証します。
SNMPv3 authNoPriv Message Digest 5(MD5)または Secure Hash Algorithm(SHA) 未対応 HMAC-MD5 アルゴリズムまたは HMAC-SHA アルゴリズムに基づいて認証します。
SNMPv3 authPriv MD5 または SHA データ暗号規格(DES)または Advanced Encryption Standard(AES)

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

次の暗号化アルゴリズムで、User-based Security Model(USM)を指定できます。

  • CBC-DES(DES-56)規格に基づく認証に加えた DES 56 ビット暗号化
  • 3DES 168 ビット暗号化

  • AES 128 ビット暗号化、192 ビット暗号化、または 256 ビット暗号化

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

SNMP の制約事項

バージョンの制約事項

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

SNMPv3 認証は、次のシナリオではサポートされません。

  • スイッチ優先順位の変更後にスタックリロードが発生した場合。

  • 低い MAC アドレスを持つデバイスがスタックに追加された場合、スタック内のすべてのスイッチの優先順位が同じであれば、そのデバイスがアクティブスイッチとして選択されます。

SNMPv3 認証の失敗を回避するには、SNMPv3 ユーザーを設定する前に、デバイスで SNMP engineID を手動で設定する必要があります。これにより、ユーザーは engineID に関連付けられているためデバイスを管理できます。

SNMP に関する情報

SNMP の概要

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

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

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

SNMP マネージャ機能

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

表 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 が device にアクセスするには、NMS 上のコミュニティ ストリング定義が device 上の 3 つのコミュニティ ストリング定義の少なくとも 1 つと一致しなければなりません。

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

  • 読み取り専用(RO):コミュニティ ストリングを除き MIB 内のすべてのオブジェクトに、許可された管理ステーションに対する読み取りアクセス権を与えますが、書き込みアクセスは許可しません。

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

  • クラスタを作成すると、コマンド deviceがメンバ devicesと SNMP アプリケーション間のメッセージ交換を管理します。Network Assistant ソフトウェアは、コマンド device上で最初に設定された RW および RO コミュニティ ストリングにメンバ device番号(@esN、N はdevice番号)を追加し、これらのストリングをメンバ devicesに伝播します。

SNMP MIB 変数アクセス

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

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

図 1. SNMP ネットワーク

SNMP 通知

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


(注)  


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

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

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

SNMP ifIndex MIB オブジェクト値

SNMP エージェントの IF-MIB モジュールがリブート後すぐに起動されます。さまざまな物理インターフェイス ドライバが IF-MIB モジュールの登録を初期化されているように、「インデックス番号をください」と示します。IF-MIB モジュールが先着順で使用可能な次の ifIndex 番号を割り当てます。つまり、1 つのリブートから他のリブートへのドライバの初期化順序のマイナーな違いが、同じ物理インターフェイスにリブートを行う以前のものとは別のインデックス番号を取得する可能性があるということです(インデックス持続が有効化されていない限り)。

SNMP のデフォルト設定

機能 デフォルト設定
SNMP エージェント ディセーブル3 
SNMP トラップ レシーバ 未設定
SNMP トラップ TCP 接続のトラップ(tty)以外は、イネーブルではありません。
SNMP バージョン バージョン キーワードがない場合、デフォルトはバージョン 1 になります。
SNMPv3 認証 キーワードを入力しなかった場合、セキュリティレベルはデフォルトで noauth (noAuthNoPriv)になります。
SNMP 通知タイプ タイプが指定されていない場合、すべての通知が送信されます。
3 これは、deviceが起動し、スタートアップ コンフィギュレーションに snmp-server グローバル コンフィギュレーション コマンドが設定されていない場合のデフォルトです。

SNMP 設定時の注意事項

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

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

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

  • SNMP グループを設定するときは、通知ビューを指定しません。snmp-server host グローバル コンフィギュレーション コマンドがユーザの通知ビューを自動生成し、そのユーザに関連付けられているグループに追加します。グループの通知ビューを変更すると、そのグループに対応付けられたすべてのユーザが影響を受けます。

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

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

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

  • ローカルユーザーがリモートホストと関連付けられていない場合、deviceauth (authNoPriv)および priv (authPriv)の認証レベルの情報を送信しません。

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

SNMP の設定方法

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

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

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

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

device上でコミュニティ ストリングを設定するには、次の手順を実行します。

手順の概要

  1. enable
  2. configure terminal
  3. snmp-server community string [ view view-name] [ ro | rw] [ access-list-number]
  4. access-list access-list-number { deny | permit} source [ source-wildcard]
  5. end
  6. show running-config
  7. copy running-config startup-config

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

enable

例:


デバイス> enable

特権 EXEC モードを有効にします。

  • パスワードを入力します(要求された場合)。

ステップ 2

configure terminal

例:


デバイス# configure terminal

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

ステップ 3

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

例:


デバイス(config)# snmp-server community comaccess ro 4
コミュニティ ストリングを設定します。

(注)  

 
コンテキスト情報を区切るには @ 記号を使用します。このコマンドの設定時に SNMP コミュニティ ストリングの一部として @ 記号を使用しないでください。
  • string には、パスワードと同様に機能し、SNMP プロトコルへのアクセスを許可するストリングを指定します。任意の長さのコミュニティ ストリングを 1 つまたは複数設定できます。

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

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

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

ステップ 4

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

例:


デバイス(config)# access-list 4 deny any
(任意)ステップ 3 で標準 IP アクセス リスト番号を指定してリストを作成した場合は、必要に応じてコマンドを繰り返します。
  • access-list-number には、ステップ 3 で指定したアクセス リスト番号を入力します。

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

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

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

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

ステップ 5

end

例:


デバイス(config)# end

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

ステップ 6

show running-config

例:


デバイス# show running-config 

入力を確認します。

ステップ 7

copy running-config startup-config

例:


デバイス# copy running-config startup-config 

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

次のタスク

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

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

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

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

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

device上の SNMP グループとユーザーを設定するには、次の手順を実行します。

手順の概要

  1. enable
  2. configure terminal
  3. snmp-server engineID { local engineid-string | remote ip-address [ udp-port port-number] engineid-string}
  4. snmp-server group group-name { v1 | v2c | v3 { auth | noauth | priv} } [ read readview] [ write writeview] [ notify notifyview] [ access access-list]
  5. snmp-server user username group-name { remote host [ udp-port port] } { v1 [ access access-list] | v2c [ access access-list] | v3 [ encrypted] [ access access-list] [ auth { md5 | sha} auth-password] } [ priv { des | 3des | aes { 128 | 192 | 256} } priv-password]
  6. end
  7. show running-config
  8. copy running-config startup-config

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

enable

例:


デバイス> enable

特権 EXEC モードを有効にします。

  • パスワードを入力します(要求された場合)。

ステップ 2

configure terminal

例:


デバイス# configure terminal

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

ステップ 3

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

例:


デバイス(config)# snmp-server engineID local 1234

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

  • engineid-string は、SNMP のコピー名を指定する 24 文字の ID ストリングです。後続ゼロが含まれる場合は、24 文字のエンジン ID すべてを指定する必要はありません。指定するのは、エンジン ID のうちゼロのみが続く箇所を除いた部分だけです。手順例では、123400000000000000000000 のエンジン ID を設定します。

  • remote を指定した場合、SNMP のリモートコピーが置かれているデバイスの ip-address を指定し、任意でリモートデバイスのユーザ データグラム プロトコル(UDP)ポートを指定します。デフォルトは 162 です。

ステップ 4

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

例:


デバイス(config)# snmp-server group public v2c access lmnop

リモート デバイス上で新しい SNMP グループを設定します。

group-name には、グループの名前を指定します。

次のいずれかのセキュリティ モデルを指定します。

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

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

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

    auth :Message Digest 5(MD5) およびセキュア ハッシュ アルゴリズム(SHA)によるパケット認証を可能にします。

    noauth :noAuthNoPriv セキュリティ レベルを可能にします。キーワードを指定しなかった場合、これがデフォルトです。

    priv :データ暗号規格(DES)によるパケット暗号化(プライバシーともいう)を可能にします。

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

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

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

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

ステップ 5

snmp-server user username group-name { remote host [ udp-port port] } { v1 [ access access-list] | v2c [ access access-list] | v3 [ encrypted] [ access access-list] [ auth { md5 | sha} auth-password] } [ priv { des | 3des | aes { 128 | 192 | 256} } priv-password]

例:


デバイス(config)#  snmp-server user Pat public v2c

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

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

group-name は、ユーザが関連付けられているグループの名前です。

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

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

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

  • auth では、認証レベルを設定します。 HMAC-MD5-96(md5 )または HMAC-SHA-96(sha )認証レベルを指定できます。また、auth-password でパスワードの文字列を指定する必要があります(最大 64 文字)。

v3 を入力すると、次のキーワードを使用して(64 文字以内)、プライベート(priv )暗号化アルゴリズムおよびパスワード文字列 priv-password を設定することもできます。

  • priv は、ユーザベース セキュリティ モデル(USM)を指定します。

  • des 56 ビット DES アルゴリズムを使用する場合に指定します。

  • 3des 168 ビット DES アルゴリズムを使用する場合に指定します。

  • aes DES アルゴリズムを使用する場合に指定します。128 ビット暗号化、192 ビット暗号化、または 256 ビット暗号化のいずれかを選択する必要があります。

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

ステップ 6

end

例:


デバイス(config)# end

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

ステップ 7

show running-config

例:


デバイス# show running-config 

入力を確認します。

ステップ 8

copy running-config startup-config

例:


デバイス# copy running-config startup-config 

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

SNMP 通知の設定

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


(注)  


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

snmp-server enable traps グローバル コンフィギュレーション コマンドを snmp-server host グローバル コンフィギュレーション コマンドと組み合わせて使用すると、次の表に示す通知タイプを特定のホストで受信できます。これらのトラップの一部または全部をイネーブルにして、これを受信するようにトラップ マネージャを設定できます。


(注)  


snmp-server enable traps コマンドは、デバイスのローカル認証のためのトラップをサポートしていません。


ホストにトラップまたは情報を送信するようにdeviceを設定するには、次の手順を実行します。

手順の概要

  1. enable
  2. configure terminal
  3. snmp-server engineID remote ip-address engineid-string
  4. snmp-server user username group-name { remote host [ udp-port port] } { v1 [ access access-list] | v2c [ access access-list] | v3 [ encrypted] [ access access-list] [ auth { md5 | sha} auth-password] }
  5. snmp-server group group-name { v1 | v2c | v3 { auth | noauth | priv} } [ read readview] [ write writeview] [ notify notifyview] [ access access-list]
  6. snmp-server host host-addr [ informs | traps] [ version { 1 | 2c | 3 { auth | noauth | priv} } ] community-string [ notification-type]
  7. snmp-server enable traps notification-types
  8. snmp-server trap-source interface-id
  9. snmp-server queue-length length
  10. snmp-server trap-timeout seconds
  11. end
  12. show running-config
  13. copy running-config startup-config

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

enable

例:


デバイス> enable

特権 EXEC モードを有効にします。

  • パスワードを入力します(要求された場合)。

ステップ 2

configure terminal

例:


デバイス# configure terminal

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

ステップ 3

snmp-server engineID remote ip-address engineid-string

例:

デバイス(config)# snmp-server engineID remote 192.180.1.27 00000063000100a1c0b4011b

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

ステップ 4

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

例:

デバイス(config)#  snmp-server user Pat public v2c

SNMP ユーザを設定し、ステップ 3 で作成したリモート ホストに関連付けます。

(注)  

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

ステップ 5

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

例:

デバイス(config)# snmp-server group public v2c access lmnop

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

ステップ 6

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

例:

デバイス(config)# snmp-server host 203.0.113.1 comaccess snmp

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

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

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

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

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

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

(注)  

 

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

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

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

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

ステップ 7

snmp-server enable traps notification-types

例:

デバイス(config)# snmp-server enable traps snmp

deviceでのトラップまたはインフォームの送信をイネーブルにし、送信する通知の種類を指定します。通知タイプの一覧については、上の表を参照するか、と入力してください。 snmp-server enable traps ?

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

(注)  

 
通知タイプ port-security を使用してトラップを設定する際に、まずポートセキュリティトラップを設定して、次に以下のポート セキュリティ トラップ レートを設定します。
  1. snmp-server enable traps port-security

  2. snmp-server enable traps port-security trap-rate rate

ステップ 8

snmp-server trap-source interface-id

例:

デバイス(config)# snmp-server trap-source gigabitethernet 1/0/1

(任意)送信元インターフェイスを指定します。このインターフェイスによってトラップ メッセージの IP アドレスが提供されます。情報の送信元 IP アドレスも、このコマンドで設定します。

ステップ 9

snmp-server queue-length length

例:

デバイス(config)# snmp-server queue-length 20

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

ステップ 10

snmp-server trap-timeout seconds

例:

デバイス(config)# snmp-server trap-timeout 60

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

ステップ 11

end

例:


デバイス(config)# end

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

ステップ 12

show running-config

例:


デバイス# show running-config 

入力を確認します。

ステップ 13

copy running-config startup-config

例:


デバイス# copy running-config startup-config 

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

次のタスク

snmp-server host コマンドでは、通知を受信するホストを指定します。snmp-server enable traps コマンドによって、指定された通知方式(トラップおよび情報)がグローバルにイネーブルになります。ホストが情報を受信できるようにするには、そのホストに対応する 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 エージェントのシステム接点およびロケーションを設定して、コンフィギュレーション ファイルからこれらの記述にアクセスできるようにするには、次の手順を実行します。

手順の概要

  1. enable
  2. configure terminal
  3. snmp-server contact text
  4. snmp-server location text
  5. end
  6. show running-config
  7. copy running-config startup-config

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

enable

例:


デバイス> enable

特権 EXEC モードを有効にします。

  • パスワードを入力します(要求された場合)。

ステップ 2

configure terminal

例:


デバイス# configure terminal

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

ステップ 3

snmp-server contact text

例:

デバイス(config)# snmp-server contact Dial System Operator at beeper 21555

システムの連絡先文字列を設定します。

ステップ 4

snmp-server location text

例:

デバイス(config)# snmp-server location Building 3/Room 222

システムの場所を表す文字列を設定します。

ステップ 5

end

例:


デバイス(config)# end

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

ステップ 6

show running-config

例:


デバイス# show running-config 

入力を確認します。

ステップ 7

copy running-config startup-config

例:


デバイス# copy running-config startup-config 

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

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

SNMP を介したコンフィギュレーション ファイルの保存とロードに使用する TFTP サーバを、アクセス リストで指定されたサーバに限定するには、次の手順を実行します。

手順の概要

  1. enable
  2. configure terminal
  3. snmp-server tftp-server-list access-list-number
  4. access-list access-list-number { deny | permit} source [ source-wildcard]
  5. end
  6. show running-config
  7. copy running-config startup-config

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

enable

例:


デバイス> enable

特権 EXEC モードを有効にします。

  • パスワードを入力します(要求された場合)。

ステップ 2

configure terminal

例:


デバイス# configure terminal

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

ステップ 3

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

例:

デバイス(config)# snmp-server tftp-server-list 44

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

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

ステップ 4

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

例:

デバイス(config)# access-list 44 permit 10.1.1.2

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

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

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

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

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

アクセス リストの末尾には、すべてに対する暗黙の拒否ステートメントが常に存在します。

ステップ 5

end

例:


デバイス(config)# end

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

ステップ 6

show running-config

例:


デバイス# show running-config 

入力を確認します。

ステップ 7

copy running-config startup-config

例:


デバイス# copy running-config startup-config 

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

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

no snmp-server グローバル コンフィギュレーション コマンドは、デバイス上で実行している SNMP エージェントのすべてのバージョン(バージョン 1、バージョン 2C、バージョン 3)をディセーブルにします。入力した最初の snmp-server グローバル コンフィギュレーション コマンドによって、SNMP エージェントのすべてのバージョンを再度イネーブルにします。特に SNMP をイネーブルにするために指定された Cisco IOS コマンドはありません。

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

始める前に

SNMP エージェントをディセーブルにする前にイネーブルにする必要があります。デバイス上で入力した最初の snmp-server グローバル コンフィギュレーション コマンドによって SNMP エージェントがイネーブルになります。

手順の概要

  1. enable
  2. configure terminal
  3. no snmp-server
  4. end
  5. show running-config
  6. copy running-config startup-config

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

enable

例:


デバイス> enable

特権 EXEC モードを有効にします。

  • パスワードを入力します(要求された場合)。

ステップ 2

configure terminal

例:


デバイス# configure terminal

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

ステップ 3

no snmp-server

例:


デバイス(config)# no snmp-server

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

ステップ 4

end

例:


デバイス(config)# end

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

ステップ 5

show running-config

例:


デバイス# show running-config 

入力を確認します。

ステップ 6

copy running-config startup-config

例:


デバイス# copy running-config startup-config 

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

SNMP ステータスのモニタリング

不正なコミュニティ ストリング エントリ、エラー、要求変数の数など、SNMP の入出力統計情報を表示するには、show snmp 特権 EXEC コマンドを使用します。また、次の表にリストされたその他の特権 EXEC コマンドを使用して、SNMP 情報を表示することもできます。
表 3. SNMP 情報を表示するためのコマンド
コマンド 目的

show snmp

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

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

show snmp group

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

show snmp pending

保留中の SNMP 要求の情報を表示します。

show snmp sessions

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

show snmp user

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

(注)  

 
このコマンドは、auth | noauth | priv モードの SNMPv3 設定情報を表示する際に使用する必要があります。この情報は、show running-config の出力には表示されません。

SNMP の例

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

デバイス(config)# snmp-server community public

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

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

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

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

次に、エンティティ MIB トラップをホスト cisco.com に送信する例を示します。コミュニティ ストリングは制限されます。1 行目で、device はすでにイネーブルになっているトラップ以外に、エンティティ MIB トラップを送信できるようになります。2 行目はこれらのトラップの宛先を指定し、ホスト cisco.com に対する以前の snmp-server ホストコマンドを無効にします。

デバイス(config)# snmp-server enable traps entity
デバイス(config)# snmp-server host cisco.com restricted entity

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

デバイス(config)# snmp-server enable traps
デバイス(config)# snmp-server host myhost.cisco.com public

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

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

簡易ネットワーク管理プロトコルの機能の履歴と情報

リリース

変更内容

Cisco IOS XE Everest 16.5.1a

この機能が導入されました。