SNMP (Simple Network Management Protocol)


1 機能概要

SNMP (Simple Network Management Protocol) の設定を行うことにより、SNMP管理ソフトウェアに対してネットワーク管理情報のモニタと変更を行うことができるようになります。
このとき本L2スイッチはSNMPエージェントとして動作します。

本L2スイッチはSNMPv1、SNMPv2c、SNMPv3による通信に対応しています。またMIB (Management information Base) として RFC1213 (MIB-II) およびプライベートMIB(yamahaSW) に対応しています。

SNMPv1およびSNMPv2では、コミュニティと呼ばれるグループの名前を相手に通知し、同じコミュニティに属するホスト間でのみ通信します。このとき、読み出し専用 (read-only) と読み書き可能 (read-write) の2つのアクセスモードに対して別々にコミュニティ名を設定することができます。
このようにコミュニティ名はある種のパスワードとして機能しますが、その反面、コミュニティ名は必ず平文でネットワーク上を流れるという特性があり、セキュリティ面では脆弱と言えます。よりセキュアな通信が必要な場合はSNMPv3の利用を推奨します。
SNMPv3では通信内容の認証、および暗号化に対応しています。SNMPv3はコミュニティの概念を廃し、新たにUSM (User-based Security Model) とVACM (View-based Access Control Model) と呼ばれるセキュリティモデルを利用することで、より高度なセキュリティを確保しています。

本L2スイッチの状態を通知するSNMPメッセージをトラップと呼びます。本L2スイッチではSNMP標準トラップを送信します。SNMPv1では通知メッセージの形式として、相手の受信確認応答を要求しないtrapリクエストを指定しますが、SNMPv2c, SNMPv3ではtrapリクエストか相手に受信確認応答を要求するinformリクエストかを選択できます。

SNMPv1およびSNMPv2cで利用する読み出し専用と送信トラップ用のコミュニティ名は、本L2スイッチでは特にデフォルト値を決めていませんので、適切なコミュニティ名を設定してください。ただし、上述の通りコミュニティ名はネットワーク上を平文で流れますので、コミュニティ名にログインパスワードや管理パスワードを決して使用しないよう注意してください。
初期設定では、各SNMPバージョンにおいてアクセスが一切できない状態となっています。また、トラップの送信先ホストは設定されておらず、どこにもトラップを送信しません。



2 用語の定義

特になし


3 機能詳細

各SNMPバージョンの主な特徴とルーターの設定方針について以下に説明します。
具体的な設定例については後述する "5 コマンド実行例" をご覧ください。

3.1 SNMPv1

コミュニティ名によりSNMPマネージャとエージェント間の認証を行います。
管理する本L2スイッチをコミュニティというゾーンで分割して管理を行います。

3.2 SNMPv2c

SNMPv1と同様に、コミュニティ名によりSNMPマネージャとエージェント間の認証を行います。
snmp-server community コマンドでSNMPv2cによりアクセスするときに使用するコミュニティ名を設定します。
また、本バージョンから新たにGetBulkリクエストやInformリクエストに対応します。
MIBオブジェクトをまとめて効率よく取得したり、本L2スイッチからの通知パケットに対する応答確認を行うことができます。

3.3 SNMPv3

SNMPv3はSNMPv2までの全機能に加えてセキュリティ機能が強化されています。
ネットワーク上を流れるSNMPパケットを認証・暗号化することによって、SNMPv1、v2cでのコミュニティ名とSNMPマネージャのIPアドレスによるセキュリティ機能では実現できなかった盗聴、なりすまし、改竄、リプレイ攻撃などからSNMPパケットを守ることができます。

3.4 プライベートMIB

本L2スイッチは、独自のスイッチ管理用プライベートMIBである yamahaSW に対応しています。
このプライベートMIBにより、ヤマハの独自機能に対する情報や、スイッチのより詳細な情報を得ることができます。
対応しているプライベートMIBは以下の通りです。

 yamaha(1.3.6.1.4.1.1182)
  +- yamahaSW(1.3.6.1.4.1.1182.3)
      +- yamahaSWHardware(1.3.6.1.4.1.1182.3.1)
      |   +- yshMemorySize(1.3.6.1.4.1.1182.3.1.2)      (read-only)
      |   |     メモリサイズ
      |   +- yshFlashROMSize(1.3.6.1.4.1.1182.3.1.3)    (read-only)
      |   |     FlashROMサイズ
      |   +- yshMemoryUtil(1.3.6.1.4.1.1182.3.1.4)      (read-only)
      |   |     メモリ使用率
      |   +- yshCpuUtil5sec(1.3.6.1.4.1.1182.3.1.5)     (read-only)
      |   |     CPU使用率(5秒間平均)
      |   +- yshCpuUtil1min(1.3.6.1.4.1.1182.3.1.6)     (read-only)
      |   |     CPU使用率(1分間平均)
      |   +- yshCpuUtil5min(1.3.6.1.4.1.1182.3.1.7)     (read-only)
      |         CPU使用率(5分間平均)
      | 
      +- yamahaSWFirmware(1.3.6.1.4.1.1182.3.2)
      |   +- ysfConfigFile(1.3.6.1.4.1.1182.3.2.2)      (read-only)
      |   |     起動コンフィグ
      |   +- ysfRevision(1.3.6.1.4.1.1182.3.2.3)        (read-only)
      |   |     ファームウェアのバージョン
      |   +- ysfUpTime(1.3.6.1.4.1.1182.3.2.4)          (read-only)
      |   |     起動からの経過時間
      |   +- ysfRestart(1.3.6.1.4.1.1182.3.2.11)        (read-write)
      |         システム再起動
      | 
      +- yamahaSWL2ms(1.3.6.1.4.1.1182.3.5)
      |   +- yamahaSWL2ms(1.3.6.1.4.1.1182.3.5.0) Trap
      |   |   +- ysl2msFindSlave(1.3.6.1.4.1.1182.3.5.0.1)
      |   |   |    スイッチの発見のトラップ
      |   |   +- ysl2msDetectDown(1.3.6.1.4.1.1182.3.5.0.2)
      |   |        スイッチの除去のトラップ
      |   |
      |   +- ysl2msNumber(1.3.6.1.4.1.1182.3.5.1)       (read-only) ※トラップ通知のみ使用
      |   |     認識できているスイッチの数
      |   |
      |   +- ysl2msEnableTrap(1.3.6.1.4.1.1182.3.5.2)
      |   |     L2MSのトラップ通知設定
      |   |
      |   +- ysl2msTable(1.3.6.1.4.1.1182.3.5.2)
      |       +- ysl2msEntry(1.3.6.1.4.1.1182.3.5.2.1) { ysl2msIndex }
      |       +- ysl2msIndex(1.3.6.1.4.1.1182.3.5.2.1.1)               (not-accessible) ※トラップ通知のみ使用
      |       |     ※機器名が一意とは限らないため
      |       +- ysl2msProduct(1.3.6.1.4.1.1182.3.5.2.1.2)             (read-only) ※トラップ通知のみ使用
      |       |     機器の品番
      |       +- ysl2msPhysAddress(1.3.6.1.4.1.1182.3.5.2.1.5)         (read-only) ※トラップ通知のみ使用
      |       |     機器のMACアドレス
      |       +- ysl2msRoute(1.3.6.1.4.1.1182.3.5.2.1.11)              (read-only) ※トラップ通知のみ使用
      |             ルート情報
      |
      +- yamahaSWErrDisable(1.3.6.1.4.1.1182.3.6)
          +- yamahaSWErrDisable(1.3.6.1.4.1.1182.3.6.0) Trap
          |   +- ywedTrap(1.3.6.1.4.1.1182.3.6.0.1)
          |         Error Disable状態のトラップ
          |
          +- ysedConfigTable(1.3.6.1.4.1.1182.3.6.1) 
          |   +- ysedConfigEntry(1.3.6.1.4.1.1182.3.6.1.1) { ysedConfigIndex }
          |       +- ysedConfigIndex(1.3.6.1.4.1.1182.3.6.1.1.1)               (not-accessible)
          |       +- ysedConfigFunction(1.3.6.1.4.1.1182.3.6.1.1.2)            (read-only)
          |       |     Error Disableが有効な機能
          |       +- ysedConfigAutoRecovery(1.3.6.1.4.1.1182.3.6.1.1.3)        (read-only)
          |       |     Error Disable状態からの自動復旧設定
          |       +- ysedConfigRecoveryInterval(1.3.6.1.4.1.1182.3.6.1.1.4)    (read-only)
          |             Error Disable状態からの自動復旧を試みる周期(秒)
          |
          +- ysedEnableTrap(1.3.6.1.4.1.1182.3.6.2)                            (read-write)
          |     Error Disable状態のトラップ通知設定
          |
          +- ysedIfTable(1.3.6.1.4.1.1182.3.6.3)
              +- ysedIfEntry(1.3.6.1.4.1.1182.3.6.3.1)
                  +- ysedIfIndex(1.3.6.1.4.1.1182.3.6.3.1.1)                   (not-accessible)
                  +- ysedIfStatus(1.3.6.1.4.1.1182.3.6.3.1.2)                  (read-only)
                        ポートのError Disable状態

4 関連コマンド

関連コマンドについて、以下に示します。
コマンドの詳細は、コマンドリファレンスを参照願います。



5 コマンド実行例

5.1 SNMPv1 設定例

SNMPv1によるネットワーク監視を以下の条件で実現します。

  1. 読み出し専用のコミュニティ名"public"を設定します。
  2. トラップの送信先を"192.168.100.11"に設定し、トラップのコミュニティ名を"snmptrapname"とします。
    L2SW(config)# snmp-server community public ro                             ... 1
    L2SW(config)# snmp-server host 192.168.100.11 traps version 1 snmptrapname ... 2
    


5.2 SNMPv2c 設定例

SNMPv2cによるネットワーク監視を以下の条件で実現します。

  1. 読み書き可能なコミュニティ名を "private" とします。
  2. 通知メッセージの送信先を"192.168.100.12"とし、通知タイプをinformリクエスト形式、通知先のコミュニティ名を "snmpinformsname" とします。
    L2SW(config)# snmp-server community private rw                                  ...1
    L2SW(config)# snmp-server host 192.168.100.12 informs version 2c snmpinformsname ...2
    


5.3 SNMPv3 設定例

SNMPv3によるネットワーク監視を以下の条件で実現します。

  1. internetノード(1.3.6.1)以下を表すビューを "most" とします。
  2. mib-2ノード(1.3.6.1.2.1)以下を表すビューを "standard" とします。
  3. ユーザーグループ "admins" を作成し、"admins" グループに所属するユーザーに mostビュー へのフルアクセス権を与えます。
  4. ユーザーグループ "users" を作成し、"users" グループの所属するユーザーに standardビュー への読み出しアクセス権を与えます。
  5. "admins" グループに所属するユーザー "admin1" を作成します。
    認証アルゴリズムに "HMAC-SHA-96" を採用し、パスワードを "passwd1234" とします。
    暗号化アルゴリズムに "AES128-CFB" を採用し、暗号パスワードを "passwd1234" とします。
  6. "users" グループに所属するユーザー "user1" を作成します。
    認証アルゴリズムに "HMAC-SHA-96" を採用し、パスワードを "passwd5678" とします。
  7. トラップ形式(応答確認なし)の通知メッセージを 192.168.10.3 に通知させます。
  8. Informリクエスト形式の通知メッセージを 192.168.20.3 に通知させます。
    L2SW(config)# snmp-server view most 1.3.6.1 include                                  ... 1
    L2SW(config)# snmp-server view standard 1.3.6.1.2.1 include                          ... 2
    L2SW(config)# snmp-server group admins priv read most write most                     ... 3
    L2SW(config)# snmp-server group users auth read standard                             ... 4
    L2SW(config)# snmp-server user admin1 admins auth sha passwd1234 priv aes passwd1234 ... 5
    L2SW(config)# snmp-server user user1 users auth sha passwd5678                       ... 6
    L2SW(config)# snmp-server host 192.168.10.13 traps version 3 priv admin1             ... 7
    L2SW(config)# snmp-server host 192.168.20.13 informs version 3 priv admin1           ... 8
    



6 注意事項


7 関連文書

トップへ戻る