# 運用・管理 / SNMP

本製品は、ネットワーク管理プロトコルSNMP（Simple Network Management Protocol）のバージョン1（SNMPv1）、バージョン2c（SNMPv2c）、バージョン3（SNMPv3）に対応しています（IPv4、IPv6両対応）。
SNMPv3では、認証・暗号化機能やMIBオブジェクトへのアクセス制御など大幅な拡張がなされています。そのため、バージョン1、2cとバージョン3では設定方法が大きく異なります。以下では、最初にバージョン1、2cの設定を紹介し、その後バージョン3の設定について解説します。
Note

IPアドレスを多数設定している場合、一定の間隔でCPU使用率が上昇することがあります。これはSNMP関連プロセスが定期的にIPインターフェースの情報を取得しているためです（SNMPの設定をしていなくても情報の取得は行われます）。

Note

AT-FILEv2-MIB（プライベートMIB）でファイルを操作するときは、同時に複数のファイル操作を行わないようにしてください。

Note

AT-FILEv2-MIB（プライベートMIB）では、ファイル名に英数字以外の文字が含まれるファイルは操作できません。

Note

Extended Interface MIBで、ifHCInUcastPktsとifHCOutUcastPktsの値が正しくありません。それぞれ、ユニキャストパケットの受信数と送信数を示すはずですが、ブロードキャスト/マルチキャストパケットもカウントされてしまいます。

## SNMPv1/SNMPv2c

ここでは、SNMPv1/SNMPv2cの設定方法について解説します。

### 基本設定

SNMPv1/SNMPv2cを利用するために必要な最小限の設定を紹介します。以下の例では、IPの設定は終わっているものとします。
ここでは、SNMPコミュニティー「viewers」を定義し、次のようなアクセス権を設定します。

- SNMPコミュニティー「viewers」
  - アクセス権
    - 読み出しのみ許可
  - 通知メッセージ（TRAP/InformRequest）の送信先ホスト
    - 192.168.10.2（v2c TRAP形式で送信）
    - 192.168.20.2（v2c InformRequest形式で送信）

1. SNMPコミュニティーを作成します。ここでは、読み出しのみ（ro）が可能なコミュニティー「viewers」を作成しています。

       awplus(config)# snmp-server community viewers ro

   Note

   コミュニティー名は大文字と小文字を区別するのでご注意ください。

   Note

   本製品では、1つでもSNMPの設定を行うと、SNMPエージェントが自動的に有効になります。

   Note

   コミュニティー名はSNMPにおいてパスワードのような役割を果たします。よく考えた上で命名してください。特に、書き込み権限のあるコミュニティー名の設定には注意が必要です。不用意に書き込み権限のあるコミュニティーを作成すると、スイッチの設定を外部から変更されてしまう可能性がありますのでご注意ください。

   Note

   多くのネットワーク機器やSNMPマネージャーソフトには、慣例として読み出し権限のみのコミュニティーとして「public」が、書き込み権限ありのコミュニティーとして「private」が初期設定されています。

2. SNMPコミュニティー「viewers」に通知メッセージ（TRAP/InformRequest）の送信先ホストを追加します。通知メッセージは、ここで指定したホストにのみ送信されます。通知メッセージの送信先を追加するときは、送信するメッセージのバージョンと形式を指定する必要があります。ここでは、192.168.10.2に対してはバージョン2c TRAP形式で、192.168.20.2に対してはバージョン2c InformRequest形式で送信するよう設定します。

       awplus(config)# snmp-server host 192.168.10.2 traps version 2c viewers
       awplus(config)# snmp-server host 192.168.20.2 informs version 2c viewers

3. 有効にする通知メッセージの種類を指定します。
   - ここではまず、snmp-server enable trapコマンドを使って、SNMP認証関連の通知メッセージを送信するよう設定します。

         awplus(config)# snmp-server enable trap auth

   - さらに、インターフェースモードのsnmp trap link-statusコマンドを使って、ポート1.0.1～1.0.8のリンクステータス変化時に通知メッセージ（リンクアップ・リンクダウントラップ）を送信するよう設定します。

         awplus(config)# interface port1.0.1-1.0.8
         awplus(config-if)# snmp trap link-status

   Note

   リンクステータス通知メッセージの制御は、snmp-server enable trapコマンドではなくsnmp trap link-statusコマンドで行います。

   Note

   本製品がサポートする通知メッセージについては弊社ホームページをご覧ください。
   https://www.allied-telesis.co.jp/support/list/awp/rel/trap/index.html

基本設定は以上です。
これにより、許可されたSNMP管理ホストから本製品に対してポーリングを行い、MIB情報を取得できるようになります。また、本製品からのSNMP通知メッセージが送信先ホストに送信されるようになります。

### その他

通知メッセージの送信先を追加するには、snmp-server hostコマンドを使います。次の例では、バージョン1 TRAPの送信先として「192.168.10.10」を追加しています。

    awplus(config)# snmp-server host 192.168.10.10 traps version 1 viewers

たとえば、192.168.10.10にはSNMPv1形式のTRAPを送り、192.168.10.20にはSNMPv2c形式のTRAPを送るには、次のように設定します。

    awplus(config)# snmp-server host 192.168.10.10 traps version 1 viewers
    awplus(config)# snmp-server host 192.168.10.20 traps version 2c viewers

Note

通知ホストを追加するときは、通知メッセージのバージョンと形式を指定してください。SNMPv1/v2cで有効な指定は、「traps version 1」（バージョン1 TRAP）、「traps version 2c」（バージョン2 TRAP）、「informs version 2c」（バージョン2 InformRequest）の3種類です。

書き込み権限のあるコミュニティーを作成するには、snmp-server communityコマンドの権限指定時にroではなくrwを指定します（権限省略時は読み込みのみ（ro）と見なされます）。次の例では、書き込み権限のあるコミュニティー「admins」を作成しています。

    awplus(config)# snmp-server community admins rw

本製品のSNMPエージェントは、どのホストからのSNMP要求にも応答します。
本製品のSNMPエージェントは、初期設定では実装しているすべてのMIBオブジェクトにアクセスを許可します。アクセス可能なオブジェクトを限定したい場合は、snmp-server viewコマンドでSNMPビューを定義し、snmp-server communityコマンドのviewパラメーターで該当ビューの名前を指定します。次に具体例を挙げます。

1. アクセス可能な範囲をmib-2ノード（1.3.6.1.2.1）以下に限定したSNMPビュー「standard」を作成します。ビューは、MIBツリーのどの部分にアクセスさせるかを定義するものです。

       awplus(config)# snmp-server view standard 1.3.6.1.2.1 included

   Note

   ビュー名は大文字と小文字を区別するのでご注意ください。

2. コミュニティー作成時にviewパラメーターでビュー名を指定します。

       awplus(config)# snmp-server community mib2viewers ro view standard

SNMPの設定を確認するには、show snmp-serverコマンド、show snmp-server communityコマンド、show snmp-server viewコマンドを使います。また、show running-configコマンドにオプション「snmp」を付けて、「show running-config snmp」のように実行すると、ランニングコンフィグのうち、snmp関連の設定だけを見ることができます。

    awplus# show running-config snmp
    snmp-server enable trap auth
    snmp-server community viewers
    snmp-server host 192.168.20.2 version 2c viewers

## SNMPv3

ここでは、SNMPv3の設定方法について解説します。

### 基本設定

SNMPv3を利用するために必要な最小限の設定を紹介します。以下の例では、IPの設定は終わっているものとします。
ここでは、SNMPビュー「most」を定義し、次のようなアクセス権を設定します。

- SNMPユーザーグループ「admins」
  - セキュリティーレベル：認証あり・暗号化あり
  - アクセス権：読み出し・書き込み・通知ともに許可
    - アクセス可能なMIBオブジェクト：internet（1.3.6.1）ノード以下すべて
  - 所属ユーザー
    - supervisor
      - 認証方式（パスワード）：SHA（jogejoge）
      - 暗号化方式（パスワード）：DES（mugomugo）
    - administrator
      - 認証方式（パスワード）：MD5（doonkeee）
      - 暗号化方式（パスワード）：DES（fooobarr）
  - 通知メッセージ（TRAP/InformRequest）の送信先ホスト
    - 192.168.10.2（v3 TRAP形式で送信。ユーザー名supervisor）
    - 192.168.20.2（v3 InformRequest形式で送信。ユーザー名administrator）
- SNMPユーザーグループ「operators」
  - セキュリティーレベル：認証あり
  - アクセス権：読み出しのみ許可
    - アクセス可能なMIBオブジェクト：mib-2（1.3.6.1.2.1）ノード以下すべて
  - 所属ユーザー
    - zein
      - 認証方式（パスワード）：MD5（fugafuga）

1. ビューを定義します。ビューは、MIBツリーのどの部分にアクセスさせるかを定義するものです。
   ここでは、internetノード（1.3.6.1）以下を表すビュー「most」と、mib-2ノード（1.3.6.1.2.1）以下をあらわずビュー「standard」を作成します。

       awplus(config)# snmp-server view most 1.3.6.1 included
       awplus(config)# snmp-server view standard 1.3.6.1.2.1 included

   Note

   ビュー名は大文字と小文字を区別するのでご注意ください。

2. ユーザーグループを作成します。SNMPv3の設定では、ユーザーグループごとに、通信時の認証・暗号化の有無（セキュリティーレベル）とビューへのアクセス権を設定します。
   ここでは管理者グループ「admins」と閲覧者グループ「operators」を定義します。adminsグループのユーザーには、mostビューへのフルアクセス権を与えます。また、通信時には認証と暗号化の両方を必須とします。一方、operatorsグループのユーザーには、standardビューへの読み出しアクセス権だけを与えます。こちらは認証だけを必須とします。

       awplus(config)# snmp-server group admins priv read most write most notify most
       awplus(config)# snmp-server group operators auth read standard

3. ユーザーを作成します。ユーザー作成時には所属グループを指定します。また、所属グループで定められたセキュリティーレベルにあわせて、認証・暗号化に使うプロトコルとパスワードを指定します。
   ここでは、adminsグループのユーザーsupervisor、administratorとoperatorsグループのユーザーzeinを作成します。

       awplus(config)# snmp-server user supervisor admins auth sha jogejoge priv des mugomugo
       awplus(config)# snmp-server user administrator admins auth md5 doonkeee priv des fooobarr
       awplus(config)# snmp-server user zein operators auth md5 fugafuga

4. 通知メッセージ（TRAP/InformRequest）の送信先ホストを追加します。通知メッセージは、ここで指定したホストにのみ送信されます。通知メッセージの送信先を追加するときは、送信するメッセージのバージョンと形式を指定する必要があります。ここでは、192.168.10.2に対してはバージョン3 TRAP形式で、192.168.20.2に対してはバージョン3 InformRequest形式で送信するよう設定します。また、通知メッセージの送信時に使用するセキュリティーレベルとユーザー名も指定します。

       awplus(config)# snmp-server host 192.168.10.2 traps version 3 priv supervisor
       awplus(config)# snmp-server host 192.168.20.2 informs version 3 priv administrator

5. 有効にする通知メッセージの種類を指定します。
   - ここではまず、snmp-server enable trapコマンドを使って、SNMP認証関連の通知メッセージを送信するよう設定します。

         awplus(config)# snmp-server enable trap auth

   - さらに、インターフェースモードのsnmp trap link-statusコマンドを使って、ポート1.0.1～1.0.8のリンクステータス変化時に通知メッセージ（リンクアップ・リンクダウントラップ）を送信するよう設定します。

         awplus(config)# interface port1.0.1-1.0.8
         awplus(config-if)# snmp trap link-status

   Note

   リンクステータス通知メッセージの制御は、snmp-server enable trapコマンドではなくsnmp trap link-statusコマンドで行います。

   Note

   本製品がサポートする通知メッセージについては弊社ホームページをご覧ください。
   https://www.allied-telesis.co.jp/support/list/awp/rel/trap/index.html

基本設定は以上です。
これにより、SNMPv3対応の管理ソフトウェアから本製品のMIB情報を取得できるようになります。また、本製品からの通知メッセージが送信先ホストに送信されるようになります。

### その他

SNMPエンジンIDを変更するには、snmp-server engineid localコマンドを使います。

    awplus(config)# snmp-server engineid local 001122334455667788

## SNMPv1/v2c/v3の共通事項

本製品の設置場所（system.sysLocation.0）を設定するにはsnmp-server locationコマンドを使います。

    awplus(config)# snmp-server location 5F@UPD3

本製品の管理責任者（system.sysContact.0）を設定するにはsnmp-server contactコマンドを使います。

    awplus(config)# snmp-server contact netadmin@example.com

本製品のシステム名（system.sysName.0）を設定するには、snmp-server system-nameコマンドを使います。

    awplus(config)# snmp-server system-name My Device

test snmp trap snmpコマンドを使うと、snmp-server hostコマンドで設定した送信先ホストに通知メッセージが届くかどうかをテストできます。
設定が正しく行われていれば、下記コマンドを実行することで設定済みの送信先に標準のcoldStartトラップが送信されるはずです。
ホスト側でトラップを受信できない場合は、SNMPの設定やネットワークの設定や状況を確認してください。

    awplus# test snmp trap snmp coldstart

SNMPエージェントを無効にするには、snmp-serverコマンドをno形式で実行します。なお、SNMPエージェントを無効にしても、その他のSNMP設定は削除されません。

    awplus(config)# no snmp-server