SNMP

$Date: 2021/03/30 08:21:01 $

  1. 概要
  2. 注意事項
  3. 対応機種とファームウェアリビジョン
  4. 詳細
  5. コマンド
  6. 設定例
  7. SYSLOGメッセージ一覧
  8. 関連文書

1. 概要

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

ヤマハルーターはSNMPv1、SNMPv2c、SNMPv3による通信に対応しています。またMIB (Management information Base) として RFC1213 (MIB-II) とプライベートMIBに対応しています。プライベートMIBについては以下のURLから参照することができます。

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

ヤマハルーターの状態を通知するSNMPメッセージをトラップと呼びます。ヤマハルーターではSNMP標準トラップの他にも、一部機能で特定のイベントを通知するため独自のトラップを送信することがあります。なお、これらの独自トラップはプライベートMIBとして定義されています。
トラップの送信先ホストについては、各SNMPバージョン毎に複数のホストを設定することができます。

SNMPv1およびSNMPv2cで利用する読み出し専用と送信トラップ用のコミュニティ名は、共に初期値が“public”となっています。SNMP管理ソフトウェア側も“public”がコミュニティ名である場合が多いため、当該バージョンの通信でセキュリティを考慮する場合は適切なコミュニティ名に変更してください。ただし、上述の通りコミュニティ名はネットワーク上を平文で流れますので、コミュニティ名にログインパスワードや管理パスワードを決して使用しないよう注意してください。

工場出荷状態では、各SNMPバージョンにおいてアクセスが一切できない状態となっています。また、トラップの送信先ホストは設定されておらず、どこにもトラップを送信しません。


2. 注意事項


3. 対応機種とファームウェアリビジョン

ヤマハルーターでは、以下の機種およびファームウェアで、SNMPエージェント機能をサポートしています。

機種 ファームウェア
SNMPv1 SNMPv2c SNMPv3
YSL-V810 すべてのリビジョン
vRX VMware ESXi版
vRX Amazon EC2版
RTX1220
RTX830
NVR510
NVR700W
RTX1210
RTX5000
RTX3500
FWX120
RTX810
NVR500
RTX1200 すべてのリビジョン Rev.10.01.24以降
SRT100
RTX3000
RT107e
RT250i
RTX1100
RTX1500
RTV700
RTX2000
RTX1000
RT105e
RT105p
RT105i
RT300i
RTV01

4. 詳細

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

SNMPv1

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

SNMPv2c

SNMPv1と同様に、コミュニティ名によりSNMPマネージャとエージェント間の認証を行います。
snmpv2c community コマンドでSNMPv2cによりアクセスするときに使用するコミュニティ名を設定します。

また、本バージョンから新たにGetBulkリクエストやInformリクエストに対応します。MIB変数をまとめて効率よく取得したり、ルーターからの通知パケットに対する応答確認を行うことができます。

SNMPv3

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


5. コマンド

SNMPv1専用のコマンド

SNMPv2c専用のコマンド

SNMPv3専用のコマンド

各SNMPバージョン共通のコマンド


6. 設定例


7. SYSLOGメッセージ一覧

Rev.10.01.24以降、本機能において出力されるSYSLOGメッセージの一覧を以下に示します。なお、実際に出力される各メッセージの先頭には"[SNMPD] "というプレフィックスが付与されます。

レベル 出力メッセージ 内容
INFO Can't start SNMPエージェントの起動に失敗した
DEBUG Send トラップ名 trap to IPアドレス (SNMPバージョン) トラップを送信した
Send トラップ名 trap (CPUコアナンバー) to IPアドレス (SNMPバージョン) CPUの閾値監視トラップを送信した(マルチコア用 (※1))
Send トラップ名 inform request to IPアドレス (SNMPバージョン/リクエスト番号) Informリクエストを送信した
Receive inform response from IPアドレス (SNMPバージョン/リクエスト番号) 送信したInformリクエストの応答を受信した
Send Engine Discovery to IPアドレス 相手先のSNMPエンジン情報を取得するためにEngine Discoveryメッセージを送信した。
Send Engine Time Synchronization to IPアドレス 相手先のSNMPエンジン情報を取得するためにEngine Time Synchronizationメッセージを送信した。
Invalid community 'コミュニティ名' 不正なコミュニティ名でアクセスがあった
Invalid engine ID:
   エンジンID(16進)
不正なエンジンIDでアクセスがあった
Invalid engine boots 'エンジンブーツ値' 不正なエンジンブーツ値でアクセスがあった
Invalid engine time 'エンジンタイム値' 不正なエンジンタイム値でアクセスがあった
Invalid user name 'ユーザ名' 不正なユーザ名でアクセスがあった
Failed to authenticate message メッセージの認証に失敗した
Failed to decrypt message メッセージの復号に失敗した
Failed to encrypt message メッセージの暗号化に失敗した
Invalid context engine:
   コンテキストエンジン(16進)
不正なコンテキストエンジンでアクセスがあった
Invalid context name:
   コンテキスト名(16進)
不正なコンテキスト名でアクセスがあった
Malformed message メッセージフォーマットが不正である。
正しく復号できなかったことにより出力される場合もある
(※1) RTX830, NVR510, NVR700W, RTX5000/RTX3500 Rev.14.00.29 以降

8. 関連文書


[EOF]