SNMPの機能説明
SNMP(Simple Network Management Protocol)は、ネットワークデバイスを管理するためのプロトコルです。トランスポート層のプロトコルには、UDP(ポート番号161および162)を使用します。
SNMPでは、ネットワークデバイスを管理するための装置をSNMPマネージャと呼び、管理されるネットワークデバイスをSNMPエージェントと呼びます。
SNMPマネージャ/SNMPエージェント
SNMPエージェント
SNMPエージェントを有効に設定すると、以下の2種類の方式を使用して、ネットワークデバイスの情報を送受信できます。
- SNMP GetRequest/SNMP GetResponse
- SNMPトラップ
SNMPエージェントを有効に設定するには、snmp-serverコマンドを使用します。
NP7000の1.08.01以降、NP5000の1.08.01以降、NP4000の1.03.01以降、NP2100の1.09.02以降、NP2000の1.09.01以降、NP2500の1.08.02以降では、デフォルトで設定されているRead/Write権限のSNMPコミュニティー名「private」が存在する状態でsnmp-serverコマンドを設定すると、SNMPコミュニティー名の変更を促す警告メッセージが表示されます。
SNMPエージェントに設定できる基本的な情報は以下のとおりです。()内は使用するコマンドです。
- 装置名(snmp-server nameコマンド)
- 設置場所情報(snmp-server locationコマンド)
- 障害発生時の連絡先情報(snmp-server contactコマンド)
- UDPポート番号(snmp-server service-portコマンド)
- ブロードキャストアドレス宛てのSNMP GetRequestに対する応答設定(snmp-server response broadcast-requestコマンド)
- SNMPコミュニティー(snmp-server communityコマンド)
- SNMPユーザー(snmp-server userコマンド)
- SNMPグループ(snmp-server groupコマンド)
SNMPコミュニティーは、SNMPマネージャが情報を読み書きできるSNMPエージェントの集合を表します。同一のSNMPコミュニティーに所属するSNMPエージェントの情報は、SNMPマネージャから読み書きできるため、SNMPv1およびSNMPv2cでは、認証情報として使用されます。
SNMPコミュニティー
SNMPコミュニティーは、snmp-server communityコマンドで作成します。
snmp-server communityコマンドでSNMPコミュニティーを作成すると、SNMPコミュニティー名をSNMPグループ名とする2つのSNMPグループが自動的に作成されます。これらの設定は変更または削除しないでください。
アクセスを許可するSNMPマネージャーを制限する場合は、snmp-server communityコマンドのaccessパラメーターを使用します。accessパラメーターには、標準IPアクセスリストまたは標準IPv6アクセスリストを指定します。アクセスリストでpermitを指定されたエントリーはアクセスが許可され、denyを指定されたエントリーはアクセスが拒否されます。なお、いずれのエントリーにもマッチしない場合はアクセスが拒否されます。
snmp-server communityコマンドのaccessパラメーターで指定する標準IPアクセスリスト、または標準IPv6アクセスリストでは、装置のハードウェアリソースを使用しません。
SNMPエージェントのMIBへアクセスする際に、SNMPユーザー名を指定するように設定することで、セキュリティーを確保できます。また、SNMPグループを設定すると、SNMPユーザーごとにSNMPエージェントのMIB(OIDツリー)へのアクセス権を設定できます。
SNMPユーザーは、SNMPv3でSNMPエージェントのMIBへアクセスするための認証情報です。SNMPエージェントとして動作させる装置に、以下の情報を設定します。
- ユーザー名
- グループ名
- SNMPバージョン
- セキュリティーレベル
- 認証パスワード
- SNMPトラップの暗号化パスワード
- 標準IPアクセスリスト
SNMPグループでは、SNMPユーザーに関連付けるSNMPビューを設定します。
SNMPのバージョンごとに、SNMPビュー(読み取り用ビュー、書き込み用ビュー、および通知用ビュー)を設定できます。SNMPv3の場合は、認証および暗号化の要否を設定できます。
たとえば、SNMPエージェントに、SNMPユーザー:user1でアクセスしたときに限り、SNMPビュー:restrictedに設定したOIDツリーの読み取りと、通知を許可する場合は、以下のように設定します。
SNMPユーザー/SNMPグループ
SNMPユーザーは、snmp-server userコマンドで作成します。SNMPグループは、snmp-server groupコマンドで設定します。
アクセスを許可するSNMPマネージャーを制限する場合は、snmp-server userコマンドのaccessパラメーターを使用します。accessパラメーターには、標準IPアクセスリストまたは標準IPv6アクセスリストを指定します。アクセスリストでpermitを指定されたエントリーはアクセスが許可され、denyを指定されたエントリーはアクセスが拒否されます。なお、いずれのエントリーにもマッチしない場合はアクセスが拒否されます。
snmp-server userコマンドのaccessパラメーターで指定する標準IPアクセスリスト、または標準IPv6アクセスリストでは、装置のハードウェアリソースを使用しません。
SNMP GetRequest/SNMP GetResponse
SNMPマネージャからSNMPエージェントに情報を要求する際は、SNMP GetRequestを送信し、SNMPエージェントから情報を返送する際は、SNMP GetResponseを送信します。
SNMP GetRequest/SNMP GetResponseの概要
SNMPマネージャが要求できる情報は、SNMPエージェントのMIB(Management Information Base)に格納されている情報のうち、SNMPビューでアクセスできるように設定されている情報です。
MIBは、SNMPエージェントの情報が蓄積されるツリー構造のデータベースです。MIB内の情報の種類は、OID(Object ID)を使用して特定します。OIDは、下図のようにツリーの頂上からたどって、目的の情報までの経路を表したものです。たとえば、装置の説明が登録されているオブジェクト(sysDescr)のOIDは「1.3.6.1.2.1.1.1」または「iso.org.dod.internet.mgmt.mib-2.system.sysDescr」と表します。
MIBの概要
MIBの詳細については、『MIB項目の実装仕様』を参照してください。
SNMPビューは、SNMPマネージャがアクセスできるOIDツリーを制限するために作成します。OIDツリーは、指定したOIDを頂点とし、それ以下のオブジェクトをすべて含むツリーを指します。
OIDツリー
初期設定では、以下のSNMPビューが設定されています。
- restrictedビュー
以下のOIDツリーにアクセスできます。
- 1.3.6.1.2.1.1(Systemグループ)を含む
- 1.3.6.1.2.1.11(SNMPグループ)を含む
- 1.3.6.1.6.3.10.2.1(SNMP Engineグループ)を含む
- 1.3.6.1.6.3.11.2.1(SNMP MPD MIBグループ)を含む
- 1.3.6.1.6.3.15.1.1(SNMP USER BASED SM MIBグループ)を含む
- CommunityViewビュー
以下のすべてのOIDツリーにアクセスできます。
- 1(すべてのOID)を含む
- 1.3.6.1.6.3(SNMPモジュール)を除く
- 1.3.6.1.6.3.1(SNMP MIBモジュール)を含む
補 足1.3.6.1.6.3(SNMPモジュール)には、1.3.6.1.6.3.1(SNMP MIBモジュール)以外に、1.3.6.1.6.3.10から1.3.6.1.6.3.20が含まれています。したがって、初期設定のCommunityViewビューでは、1.3.6.1.6.3.10から1.3.6.1.6.3.20にはアクセスできません。
SNMPビューは、snmp-server viewコマンドで作成します。
SNMPトラップ
SNMP GetRequest/SNMP GetResponseとは異なり、SNMPエージェントに問題が発生した場合など、SNMPマネージャから要求されていないときに、SNMPエージェントからSNMPマネージャに向けてデバイスの状態変更などを通知する際は、SNMPトラップを送信します。
SNMPトラップの概要
SNMPトラップの詳細については、『MIB項目の実装仕様』を参照してください。
SNMPトラップを使用するには、SNMPトラップのグローバル設定を有効に設定します。SNMPトラップのグローバル設定はsnmp-server enable trapsコマンドで設定します。なお、SNMPトラップの種別ごとの有効/無効設定がある場合は、そちらも有効に設定する必要があります。
SNMPトラップのグローバル設定を無効に設定している場合は、種別ごとの有効/無効設定が有効に設定されていても、SNMPトラップは送信されません。
いくつかのSNMPトラップでは、種別ごとにSNMPトラップの有効/無効を設定できます。対応する有効/無効設定がない場合は、SNMPトラップのグローバル設定を有効にするとSNMPトラップも有効になります。
種別ごとのSNMPトラップの有効/無効コマンドの有無は、機種やバージョンによって異なります。詳細については、本項末尾の「種別ごとのSNMPトラップの有効/無効コマンド対応一覧表」、または各機種の『コマンドリファレンス』を参照してください。
SNMPトラップの種別ごとの有効/無効設定を以下に示します。
- リンクアップ通知
インターフェースがリンクアップしたことを通知するSNMPトラップの有効/無効は、snmp-server enable traps snmp linkupコマンドで設定します。
- リンクダウン通知
インターフェースがリンクダウンしたことを通知するSNMPトラップの有効/無効は、snmp-server enable traps snmp linkdownコマンドで設定します。
補 足リンクアップ通知/リンクダウン通知は、snmp trap link-statusコマンドを使用して、ポートごとに有効/無効を設定できます。
- SNMP認証失敗通知
SNMP認証が失敗したことを通知するSNMPトラップの有効/無効は、snmp-server enable traps snmp authenticationコマンドで設定します。
- コールドスタート通知
装置が電源供給の停止状態から起動したことを通知するSNMPトラップの有効/無効は、snmp-server enable traps snmp coldstartコマンドで設定します。
- ウォームスタート通知
装置が電源供給の停止を伴わずに再起動したことを通知するSNMPトラップの有効/無効は、snmp-server enable traps snmp warmstartコマンドで設定します。
- RMON機能の通知
RMON機能の上昇しきい値イベント、下降しきい値イベントが発生したことを通知するSNMPトラップの有効/無効は、snmp-server enable traps rmon rising-alarm / falling-alarmコマンドで設定します。
- LLDP機能の通知
LLDPで収集した他機器の情報が変化したことを通知するSNMPトラップの有効/無効は、snmp-server enable traps lldpコマンドで設定します。lldp notification enableコマンドを使用して、インターフェースごとに有効/無効を設定できます。
- LLDP-MED機能の通知
LLDP-MED対応機器がインターフェースに接続されたこと、および接続が解除されたことを通知するSNMPトラップの有効/無効は、snmp-server enable traps lldp medコマンドで設定します。lldp med notification enableコマンドを使用して、インターフェースごとに有効/無効を設定できます。
- スパニングツリープロトコル機能の通知
スパニングツリープロトコル機能で、新たにルートブリッジが選出されたことを通知するSNMPトラップの有効/無効は、snmp-server enable traps stp new-rootコマンドで設定します。トポロジーが変更されたことを通知するSNMPトラップの有効/無効は、snmp-server enable traps stp topology-chgコマンドで設定します。
- VRRPv2機能の通知
VRRPv2機能で、認証が失敗したことを通知するSNMPトラップの有効/無効は、snmp-server enable traps vrrp auth-failコマンドで設定します。マスターが変更されたことを通知するSNMPトラップの有効/無効は、snmp-server enable traps vrrp new-masterコマンドで設定します。
- 環境モニタリング通知(装置のファン、電源、温度)
装置のファン、電源、温度関連のSNMPトラップの有効/無効は、snmp-server enable traps environment fan / power / temperatureコマンドで設定します。
- システムメモリー使用率監視機能の通知
システムメモリー使用率監視機能のSNMPトラップの有効/無効は、snmp-server enable traps environment memoryコマンドで設定します。
- 装置のシステム状態関連の通知
装置のシステム状態関連のSNMPトラップの有効/無効は、snmp-server enable traps environment health-statusコマンドで設定します。
- スタック機能の通知
スタック機能のSNMPトラップの有効/無効は、snmp-server enable traps stackコマンドで設定します。
- CPU使用率監視機能の通知
CPU使用率監視機能のSNMPトラップの有効/無効は、snmp-server enable traps cpu-protectコマンドで設定します。
- 光トランシーバー関連の通知
光トランシーバー関連のSNMPトラップの有効/無効は、snmp-server enable traps sfpコマンドで設定します。
- PoE機能の通知
PoE機能のSNMPトラップの有効/無効は、snmp-server enable traps poeコマンドで設定します。
- ストームコントロール機能の通知
ストームコントロール機能のSNMPトラップの有効/無効は、snmp-server enable traps storm-controlコマンドで設定します。
- メモリーエラー自動復旧機能の通知
メモリーエラー自動復旧機能に関連する通知(ログ、SNMPトラップ)の有効/無効は、memory-error auto-recovery notify disableコマンドで設定します。
- CFM機能の通知
CFM機能のSNMPトラップの有効/無効は、snmp-server enable traps cfmコマンドで設定します。
- ループ検知機能の通知
ループ検知機能のSNMPトラップの有効/無効は、snmp-server enable traps loop-detectionコマンドで設定します。
- MMRP-Plus機能の通知
MMRP-Plus機能のSNMPトラップの有効/無効は、snmp-server enable traps mmrp-plusコマンドで設定します。
SNMPトラップの種別ごとの有効/無効コマンドのサポート状況を以下に示します。〇はリリース当初から有効/無効コマンドをサポートしていることを示します。数値は、途中から有効/無効コマンドをサポートした場合のバージョン情報を示します。-は有効/無効コマンドが未対応なことを、N/Aは対象機能がないことを示します。
SNMPトラップをサポートしたバージョンと、SNMPトラップの有効/無効コマンドをサポートしたバージョンは異なることがあります。SNMPトラップをサポートしたバージョンの詳細については、『MIB項目の実装仕様』を参照してください。
種別 | NP7000 | NP5000 | NP4000 | NP3000 | NP2100 | NP2000 | NP2500 |
---|---|---|---|---|---|---|---|
リンクアップ通知 | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 |
リンクダウン通知 | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 |
SNMP認証失敗通知 | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 |
コールドスタート通知 | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 |
ウォームスタート通知 | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 |
RMON機能の通知 | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 |
LLDP機能の通知 | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 |
LLDP-MED機能の通知 | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 |
スパニングツリープロトコル機能の通知 | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 |
VRRPv2機能の通知 | 〇 | 〇 | N/A | 〇 | N/A | N/A | N/A |
環境モニタリング通知(装置のファン、電源、温度) | 1.03.01 | 1.03.01 | 〇 | 〇 | 〇 | 1.03.01 | 〇 |
システムメモリー使用率監視機能の通知 | 1.08.01 | 1.08.01 | 1.03.01 | - | 〇 | 1.09.01 | - |
装置のシステム状態関連の通知 | 1.09.01 | 1.09.01 | - | 1.09.01 | 1.11.01 | - | - |
スタック機能の通知 | 1.03.01 | 1.03.01 | 〇 | 〇 | 〇 | 1.03.01 | 〇 |
CPU使用率監視機能の通知 | 1.06.01 | 1.06.01 | 1.03.01 | 〇 | 〇 | 1.08.01 | 〇 |
光トランシーバー関連の通知 | 1.08.01 | 1.08.01 | 1.03.01 | - | 〇 | 1.09.01 | - |
PoE機能の通知 | N/A | N/A | N/A | N/A | 〇 | 1.05.01 | 〇 |
ストームコントロール機能の通知 | 1.08.01 | 1.08.01 | 1.03.01 | - | 〇 | 1.09.01 | - |
メモリーエラー自動復旧機能の通知 | 1.03.01 | 1.03.01 | 〇 | 〇 | 〇 | 〇 | 〇 |
CFM機能の通知 | 1.09.01 | 1.09.01 | - | 1.09.01 | 1.11.01 | - | - |
ループ検知機能の通知 | 1.09.01 | 1.09.01 | - | 1.09.01 | 1.11.01 | - | - |
MMRP-Plus機能の通知 | 1.09.01 | 1.09.01 | - | 1.09.01 | 1.11.01 | - | - |
SNMPトラップの送信を禁止するポートを設定できます。送信を禁止したポートからは、自装置のSNMPトラップは送信されません。SNMPトラップの送信を禁止するポートを設定するには、snmp-server trap-sending disableコマンドを使用します。
SNMPトラップの送信を禁止するポートの設定
SNMPトラップの宛先(SNMPマネージャ)のIPアドレスまたはIPv6アドレス、SNMPトラップの送信に使用するSNMPのバージョン、認証の有無、暗号化の有無、SNMPコミュニティー、およびUDPポート番号を設定できます。SNMPトラップの宛先は、snmp-server hostコマンドで設定します。
SNMPトラップを送信するIPアドレスを設定できます。SNMPトラップの送信元IPアドレスは、snmp-server source-interface trapsコマンドで設定します。
SNMPv3設定
SNMPv3を利用する場合は、SNMPエンジンIDを設定します。SNMPエンジンIDは、SNMPエージェントを識別する16進数です。SNMPエージェントのプログラムが異なる場合は、異なる値を設定してください。SNMPエンジンIDは、snmp-server engineID localコマンドで設定します。
SNMPコンテキストマッピングテーブル
OSPFv3 MIBを取得する場合に、SNMPコンテキストマッピングテーブルを設定します。SNMPコンテキストマッピングテーブルを設定するには、snmp-server context-mapコマンドを使用します。
NP4000、NP2100、NP2000、およびNP2500では、SNMPコンテキストマッピングテーブルを使用できません。