この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
目次
この章の内容は、次のとおりです。
簡易ネットワーク管理プロトコル(SNMP)は、SNMP マネージャとエージェントの間の通信のメッセージ フォーマットを提供するアプリケーション層プロトコルです。 SNMP は、ネットワーク内のデバイスのモニタリングおよび管理に使用する標準フレームワークと共通言語を提供します。
SNMP フレームワークは 3 つの部分で構成されます。
![]() (注) |
Cisco NX-OS は、イーサネット MIB の SNMP セットをサポートしません。 |
Cisco Nexus デバイスは、SNMPv1、SNMPv2c、および SNMPv3 をサポートします。 SNMPv1 と SNMPv2c は、ともにコミュニティベース形式のセキュリティを使用します。
Cisco NX-OS は IPv6 による SNMP をサポートしています。
SNMP は、RFC 3410(http://tools.ietf.org/html/rfc3410)、RFC 3411(http://tools.ietf.org/html/rfc3411)、RFC 3412(http://tools.ietf.org/html/rfc3412)、RFC 3413(http://tools.ietf.org/html/rfc3413)、RFC 3414(http://tools.ietf.org/html/rfc3414)、RFC 3415(http://tools.ietf.org/html/rfc3415)、RFC 3416(http://tools.ietf.org/html/rfc3416)、RFC 3417(http://tools.ietf.org/html/rfc3417)、RFC 3418(http://tools.ietf.org/html/rfc3418)、および RFC 3584(http://tools.ietf.org/html/rfc3584)で定義されています。
SNMP の重要な機能の 1 つは、SNMP エージェントから通知を生成できることです。 これらの通知では、要求を SNMP マネージャから送信する必要はありません。 通知は、不正なユーザ認証、再起動、接続の切断、隣接ルータとの接続の切断、その他の重要なイベントを表示します。
Cisco NX-OS は、トラップまたはインフォームとして SNMP 通知を生成します。 トラップは、エージェントからホスト レシーバ テーブルで指定された SNMP マネージャに送信される、非同期の非確認応答メッセージです。 応答要求は、SNMP エージェントから SNMP マネージャに送信される非同期メッセージで、マネージャは受信したという確認応答が必要です。
トラップの信頼性はインフォームより低くなります。SNMP マネージャはトラップを受信しても Acknowledgment(ACK; 確認応答)を送信しないからです。 このため、トラップが受信されたかどうかをスイッチが判断できません。 インフォーム要求を受信する SNMP マネージャは、SNMP 応答 Protocol Data Unit(PDU; プロトコル データ ユニット)でメッセージの受信を確認します。 Cisco Nexus デバイスが応答を受信しない場合、インフォーム要求を再び送信できます。
複数のホスト レシーバに通知を送信するよう Cisco NX-OS を設定できます。
SNMPv3 は、ネットワーク経由のフレームの認証と暗号化を組み合わせることによって、デバイスへのセキュア アクセスを実現します。 SNMPv3 が提供するセキュリティ機能は次のとおりです。
SNMPv3 では、セキュリティ モデルとセキュリティ レベルの両方が提供されています。 セキュリティ モデルは、ユーザおよびユーザが属するロールを設定する認証方式です。 セキュリティ レベルとは、セキュリティ モデル内で許可されるセキュリティのレベルです。 セキュリティ モデルとセキュリティ レベルの組み合わせにより、SNMP パケット処理中に採用されるセキュリティ メカニズムが決まります。
セキュリティ レベルは、SNMP メッセージを開示から保護する必要があるかどうか、およびメッセージを認証するかどうか判断します。 セキュリティ モデル内のさまざまなセキュリティ レベルは、次のとおりです。
SNMPv1、SNMPv2c、および SNMPv3 の 3 つのセキュリティ モデルを使用できます。 セキュリティ モデルとセキュリティ レベルの組み合わせにより、SNMP メッセージの処理中に適用されるセキュリティ メカニズムが決まります。
モデル |
レベル |
認証 |
暗号化 |
結果 |
---|---|---|---|---|
v1 |
noAuthNoPriv |
コミュニティ ストリング |
No |
コミュニティ ストリングの照合を使用して認証します。 |
v2c |
noAuthNoPriv |
コミュニティ ストリング |
No |
コミュニティ ストリングの照合を使用して認証します。 |
v3 |
noAuthNoPriv |
ユーザ名 |
No |
ユーザ名の照合を使用して認証します。 |
v3 |
authNoPriv |
HMAC-MD5 または HMAC-SHA |
No |
Hash-Based Message Authentication Code(HMAC)Message Digest 5(MD5; メッセージ ダイジェスト 5)アルゴリズムまたは HMAC Secure Hash Algorithm(SHA)アルゴリズムに基づいて認証します。 |
v3 |
authPriv |
HMAC-MD5 または HMAC-SHA |
DES |
HMAC-MD5 または HMAC-SHA アルゴリズムに基づいて認証します。 データ暗号規格(DES)の 56 ビット暗号化、および暗号ブロック連鎖(CBC)DES(DES-56)標準に基づいて認証します。 |
SNMPv3 User-Based Security Model(USM)は SNMP メッセージレベル セキュリティを参照し、次のサービスを提供します。
SNMPv3 は、設定済みユーザによる管理動作のみを許可し、SNMP メッセージを暗号化します。
Cisco NX-OSは、次の 2 つの SNMPv3 認証プロトコルを使用します。
Cisco NX-OS は、SNMPv3 メッセージ暗号化用プライバシー プロトコルの 1 つとして、Advanced Encryption Standard(AES)を使用し、RFC 3826 に準拠します。
priv オプションで、SNMP セキュリティ暗号化方式として、DES または 128 ビット AES を選択できます。 priv オプションを aes-128 トークンと併用すると、プライバシー パスワードは 128 ビット AES キーの生成に使用されます。AES のプライバシー パスワードは最小で 8 文字です。 パスフレーズをクリア テキストで指定する場合、最大 64 文字を指定できます。 ローカライズド キーを使用する場合は、最大 130 文字を指定できます。
![]() (注) |
外部の AAA サーバを使用して SNMPv3 を使う場合、外部 AAA サーバのユーザ設定でプライバシー プロトコルに AES を指定する必要があります。 |
SNMPv3 ユーザ管理は、Access Authentication and Accounting(AAA)サーバ レベルで集中化できます。 この中央集中型ユーザ管理により、Cisco NX-OS の SNMP エージェントは AAA サーバのユーザ認証サービスを利用できます。 ユーザ認証が検証されると、SNMP PDU の処理が進行します。 AAA サーバはユーザ グループ名の格納にも使用されます。 SNMP はグループ名を使用して、スイッチでローカルに使用できるアクセス ポリシーまたはロール ポリシーを適用します。
ユーザ グループ、ロール、またはパスワードの設定が変更されると、SNMP と AAA の両方のデータベースが同期化されます。
Cisco NX-OS は、次のようにユーザ設定を同期化します。
![]() (注) |
パスフレーズまたはパスワードをローカライズしたキーおよび暗号形式で設定した場合、Cisco NX-OS はユーザ情報(パスワード、ルールなど)を同期させません。 |
![]() (注) |
グループは業界全体で使用されている標準的な SNMP 用語なので、SNMP に関する説明では、「ロール」ではなく「グループ」を使用します。 |
SNMP アクセス権は、グループ別に編成されます。 SNMP 内の各グループは、CLI を使用する場合のロールに似ています。 各グループは 3 つのアクセス権により定義されます。つまり、読み取りアクセス、書き込みアクセス、および通知アクセスです。 それぞれのアクセスを、各グループでイネーブルまたはディセーブルに設定できます。
ユーザ名が作成され、ユーザのロールが管理者によって設定され、ユーザがそのロールに追加されていれば、そのユーザはエージェントとの通信を開始できます。
この機能には、ライセンスは必要ありません。 ライセンス パッケージに含まれていない機能はすべて Cisco NX-OS システム イメージにバンドルされており、追加費用は一切発生しません。 Cisco NX-OS ライセンス方式の詳細については、『Cisco NX-OS Licensing Guide』を参照してください。
Cisco NX-OS は、イーサネット MIB への読み取り専用アクセスをサポートします。
サポートされる MIB の詳細については、次の URL を参照してください。
http://www.cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml
パラメータ |
デフォルト |
---|---|
ライセンス通知 |
イネーブル |
linkUp/Down 通知タイプ |
ietf-extended |
![]() (注) |
Cisco NX-OS で SNMP ユーザを設定するために使用するコマンドは、Cisco IOS でユーザを設定するために使用されるものとは異なります。 |
次の例は、SNMP ユーザを設定します。
switch# config t Enter configuration commands, one per line. End with CNTL/Z. switch(config)# snmp-server user Admin auth sha abcd1234 priv abcdefgh
着信要求に認証または暗号化が必要となるよう SNMP を設定できます。 デフォルトでは、SNMP エージェントは、認証と暗号化なしで SNMPv3 メッセージを受け入れます。 プライバシーを適用する場合、Cisco NX-OS は、noAuthNoPriv または authNoPriv のいずれかのセキュリティ レベル パラメータを使用しているすべての SNMPv3 PDU 要求に対して、許可エラーで応答します。
SNMP メッセージの暗号化を特定のユーザに強制するには、グローバル コンフィギュレーション モードで次のコマンドを使用します。
コマンド |
目的 |
---|---|
switch(config)# snmp-server user name enforcePriv | このユーザに対して SNMP メッセージ暗号化を適用します。 |
SNMP メッセージの暗号化をすべてのユーザに強制するには、グローバル コンフィギュレーション モードで次のコマンドを使用します。
コマンド |
目的 |
---|---|
switch(config)# snmp-server globalEnforcePriv | すべてのユーザに対して SNMP メッセージ暗号化を適用します。 |
SNMP ユーザを作成した後で、そのユーザに複数のロールを割り当てることができます。
![]() (注) |
他のユーザにロールを割り当てることができるのは、network-admin ロールに属するユーザだけです。 |
コマンド |
目的 |
---|---|
switch(config)# snmp-server user name group | この SNMP ユーザと設定されたユーザ ロールをアソシエートします。 |
SNMPv1 または SNMPv2c の SNMP コミュニティを作成できます。
グローバル コンフィギュレーション モードで SNMP コミュニティ ストリングを作成する手順は、次のとおりです。
コマンド |
目的 |
---|---|
switch(config)# snmp-server community name group {ro | rw} | SNMP コミュニティ ストリングを作成します。 |
アクセス コントロール リスト(ACL)をコミュニティに割り当てて、着信 SNMP 要求にフィルタを適用できます。 割り当てた ACL により着信要求パケットが許可される場合、SNMP はその要求を処理します。 ACL により要求が拒否される場合、SNMP はその要求を廃棄して、システム メッセージを送信します。
ACL は次のパラメータで作成します。
ACL は、UDP および TCP を介する IPv4 および IPv6 の両方に適用されます。 ACL を作成したら、ACL を SNMP コミュニティに割り当てます。
![]() ヒント |
ACL の作成の詳細については、使用している Cisco Nexus シリーズ ソフトウェアの『NX-OS Security Configuration Guide』を参照してください。 |
ACL をコミュニティに割り当てて SNMP 要求をフィルタするには、グローバル コンフィギュレーション モードで次のコマンドを使用します。
コマンド |
目的 |
---|---|
switch(config)# snmp-server community community name use-acl acl-nameExample:
switch(config)# snmp-server community public
use-acl my_acl_for_public |
ACL を SNMP コミュニティに割り当てて SNMP 要求をフィルタします。 |
SNMP コミュニティに割り当てる ACL を作成します。
ACL を SNMP コミュニティに割り当てます。
複数のホスト レシーバに対して SNMP 通知を生成するよう Cisco NX-OS を設定できます。
グローバル コンフィギュレーション モードで SNMPv1 トラップのホスト レシーバを設定できます。
コマンド |
目的 |
---|---|
switch(config)# snmp-server host ip-address traps version 1 community [udp_port number] | SNMPv1 トラップのホスト レシーバを設定します。 ip-address は IPv4 または IPv6 アドレスを使用できます。 community には最大 255 の英数字を使用できます。 UDP ポート番号の範囲は 0 ~ 65535 です。 |
グローバル コンフィギュレーション モードで SNMPv2c トラップまたはインフォームのホスト レシーバを設定できます。
コマンド |
目的 |
---|---|
switch(config)# snmp-server host ip-address {traps | informs} version 2c community [udp_port number] | SNMPv2c トラップまたはインフォームのホスト レシーバを設定します。 ip-address は IPv4 または IPv6 アドレスを使用できます。 community には最大 255 の英数字を使用できます。 UDP ポート番号の範囲は 0 ~ 65535 です。 |
グローバル コンフィギュレーション モードで SNMPv3 トラップまたはインフォームのホスト レシーバを設定できます。
コマンド |
目的 |
---|---|
switch(config)# snmp-server host ip-address {traps | informs} version 3 {auth | noauth | priv} username [udp_port number] | SNMPv2c トラップまたはインフォームのホスト レシーバを設定します。 ip-address は IPv4 または IPv6 アドレスを使用できます。 username には最大 255 の英数字を使用できます。 UDP ポート番号の範囲は 0 ~ 65535 です。 |
![]() (注) |
SNMP マネージャは、SNMPv3 メッセージを認証し暗号解除するため、Cisco Nexus デバイスの SNMP engineID に基づくユーザ クレデンシャル(authKey/PrivKey)を認識していなければなりません。 |
次に、SNMPv1 トラップのホスト レシーバを設定する例を示します。
switch(config)# snmp-server host 192.0.2.1 traps version 1 public
次に、SNMPv2 インフォームのホスト レシーバを設定する例を示します。
switch(config)# snmp-server host 192.0.2.1 informs version 2c public
次に、SNMPv3 インフォームのホスト レシーバを設定する例を示します。
switch(config)# snmp-server host 192.0.2.1 informs version 3 auth NMS
設定された VRF をホスト レシーバに接続するように Cisco NX-OS を設定できます。 SNMP 通知レシーバの VRF 到達可能性およびフィルタリング オプションを設定すると、SNMP によって CISCO-SNMP-TARGET-EXT-MIB の cExtSnmpTargetVrfTable にエントリが追加されます。
![]() (注) |
VRF 到達可能性またはフィルタリング オプションを設定する前に、ホストを設定する必要があります。 |
switch# configuration terminal switch(config)# snmp-server host 192.0.2.1 use-vrf Blue switch(config)# copy running-config startup-config
通知が発生した VRF に基づいて、Cisco NX-OS 通知をフィルタリングするように設定できます。
次に、VRF に基づいて SNMP 通知のフィルタリングを設定する例を示します。
switch# configuration terminal switch(config)# snmp-server host 192.0.2.1 filter-vrf Red switch(config)# copy running-config startup-config
通知の送信元 IP アドレスとしてインターフェイスの IP アドレスを使用するよう、SNMP を設定できます。 通知が生成される場合、送信元 IP アドレスは、この設定済みインターフェイスの IP アドレスに基づいています。
![]() (注) |
発信トラップ パケットの送信元インターフェイス IP アドレスを設定すると、デバイスがトラップの送信に同じインターフェイスを使用することが保証されません。 送信元インターフェイス IP アドレスは、SNMP トラップの内部で送信元アドレスを定義し、出力インターフェイス アドレスを送信元として接続が開きます。 |
すべての SNMP 通知を送信するよう送信元インターフェイスを設定するには、次の手順を実行します。
次に、SNMPv2c トラップを送信するよう送信元インターフェイスを設定する例を示します。
switch# configure terminal switch(config) # snmp-server source-interface traps ethernet 2/1
設定した送信元インターフェイスの情報を表示するには、show snmp source-interface コマンドを入力します。
![]() (注) |
このコンフィギュレーションは、グローバル発信元インターフェイスのコンフィギュレーションよりも優先されます。 |
すべての SNMP 通知を受信する、送信元インターフェイス上のホスト レシーバを設定するには、次の手順を実行します。
次に、すべての SNMP 通知を受信する、送信元インターフェイスを設定する例を示します。
switch# config t switch(config) # snmp-server host 192.0.2.1 source-interface ethernet 2/1
設定した送信元インターフェイスの情報を表示するには、show snmp source-interface コマンドを入力します。
次のものを使用して、インバンド アクセス用に SNMP を設定できます。
次の SNMPv2 の例は、コンテキストに snmpdefault という名前のコミュニティをマッピングする方法を示しています。
switch# config t Enter configuration commands, one per line. End with CNTL/Z. switch(config)# snmp-server context def vrf default switch(config)# snmp-server community snmpdefault group network-admin switch(config)# snmp-server mib community-map snmpdefault context def switch(config)#
次の SNMPv2 の例は、マッピングされていないコミュニティ comm を設定し、インバンド アクセスする方法を示しています。
switch# config t Enter configuration commands, one per line. End with CNTL/Z. switch(config)# snmp-server context def vrf default switch(config)# snmp-server community comm group network-admin switch(config)#
次の SNMPv3 の例は、v3 ユーザ名とパスワードを使用する方法を示しています。
switch# config t Enter configuration commands, one per line. End with CNTL/Z. switch(config)# snmp-server context def vrf default switch(config)#
通知をイネーブルまたはディセーブルにできます。 通知名を指定しないと、Cisco NX-OS は通知をすべてイネーブルにします。
![]() (注) |
snmp-server enable traps CLI コマンドを使用すると、設定通知ホスト レシーバによっては、トラップとインフォームの両方をイネーブルにできます。 |
次の表に、Cisco NX-OS MIB の通知をイネーブルにする CLI コマンドを示します。
MIB |
関連コマンド |
||
---|---|---|---|
すべての通知 |
snmp-server enable traps |
||
BRIDGE-MIB |
snmp-server enable traps bridge newroot snmp-server enable traps bridge topologychange |
||
CISCO-AAA-SERVER-MIB |
snmp-server enable traps aaa |
||
ENITY-MIB、CISCO-ENTITY-FRU-CONTROL-MIB、CISCO-ENTITY-SENSOR-MIB |
snmp-server enable traps entity snmp-server enable traps entity fru |
||
CISCO-LICENSE-MGR-MIB |
snmp-server enable traps license |
||
IF-MIB |
snmp-server enable traps link |
||
CISCO-PSM-MIB |
snmp-server enable traps port-security |
||
SNMPv2-MIB |
snmp-server enable traps snmp snmp-server enable traps snmp authentication |
||
CISCO-FCC-MIB |
snmp-server enable traps fcc |
||
CISCO-DM-MIB |
snmp-server enable traps fcdomain |
||
CISCO-NS-MIB |
snmp-server enable traps fcns |
||
CISCO-FCS-MIB |
snmp-server enable traps fcs discovery-complete snmp-server enable traps fcs request-reject |
||
CISCO-FDMI-MIB |
snmp-server enable traps fdmi |
||
CISCO-FSPF-MIB |
snmp-server enable traps fspf |
||
CISCO-PSM-MIB |
snmp-server enable traps port-security |
||
CISCO-RSCN-MIB |
snmp-server enable traps rscn snmp-server enable traps rscn els snmp-server enable traps rscn ils |
||
CISCO-ZS-MIB |
snmp-server enable traps zone snmp-server enable traps zone default-zone-behavior-change snmp-server enable traps zone enhanced-zone-db-change snmp-server enable traps zone merge-failure snmp-server enable traps zone merge-success snmp-server enable traps zone request-reject snmp-server enable traps zone unsupp-mem |
||
CISCO-CONFIG-MAN-MIB
|
snmp-server enable traps config |
![]() (注) |
ライセンス通知は、デフォルトではイネーブルです。 |
グローバル コンフィギュレーション モードで指定の通知をイネーブルにするには、次の作業を行います。
コマンド |
目的 |
---|---|
switch(config)# snmp-server enable traps | すべての SNMP 通知をイネーブルにします。 |
switch(config)# snmp-server enable traps aaa [server-state-change] | AAA SNMP 通知をイネーブルにします。 |
switch(config)# snmp-server enable traps entity [fru] | ENTITY-MIB SNMP 通知をイネーブルにします。 |
switch(config)# snmp-server enable traps license | ライセンス SNMP 通知をイネーブルにします。 |
switch(config)# snmp-server enable traps port-security | ポート セキュリティ SNMP 通知をイネーブルにします。 |
switch(config)# snmp-server enable traps snmp [authentication] | SNMP エージェント通知をイネーブルにします。 |
デバイスに対して、イネーブルにする linkUp/linkDown 通知を設定できます。 次のタイプの linkUp/linkDown 通知をイネーブルにできます。
個別のインターフェイスで linkUp および linkDown 通知をディセーブルにできます。 フラッピング インターフェイス(Up と Down の間を頻繁に切り替わるインターフェイス)で、この制限通知を使用できます。
TCP セッション上で SNMP に対するワンタイム認証をイネーブルにできます。
コマンド |
目的 |
---|---|
switch(config)# snmp-server tcp-session [auth] | TCP セッション上で SNMP に対するワンタイム認証をイネーブルにします。 デフォルトはディセーブルです。 |
スイッチの連絡先情報(スペースを含めず、最大 32 文字まで)およびスイッチの場所を割り当てることができます。
プロトコル インスタンス、VRF などの論理ネットワーク エンティティに対する SNMP コンテキストのマッピングを設定できます。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config) # no snmp-server protocol enable 例: no snmp-server protocol enable |
SNMP をディセーブルにします。 SNMP は、デフォルトでディセーブルになっています。 |
SNMP 設定情報を表示するには、次の作業を行います。
コマンド |
目的 |
---|---|
switch# show snmp | SNMP のステータスを表示します。 |
switch# show snmp community | SNMP コミュニティ ストリングを表示します。 |
switch# show snmp engineID | SNMP engineID を表示します。 |
switch# show snmp group | SNMP ロールを表示します。 |
switch# show snmp sessions | SNMP セッションを表示します。 |
switch# show snmp trap | イネーブルまたはディセーブルである SNMP 通知を表示します。 |
switch# show snmp user | SNMPv3 ユーザを表示します。 |