Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

基本的なSNMPを設定する

SNMPを設定する

SNMP は、QFX シリーズおよび OCX シリーズ製品で実行されている Junos OS ソフトウェア に実装することができます。デフォルトでは、SNMP は有効にされていません。SNMP を有効にするには、 階[edit]層レベルに SNMP 設定ステートメントを含める必要があります。

SNMP の最小要件を設定するには、設定の [edit] 階層レベルで以下のステートメントを含めます。

完全なSNMP機能を設定するには、を参照してくださいsnmp

[edit snmp] 階層レベルの設定ステートメント

このトピックでは、 階[edit snmp]層レベルと設定階層におけるそのレベルでのすべての設定ステートメントを紹介します。Junos OS を設定する場合、現在の階層レベルは user@host# プロンプトの前の行のバナーに表示されます。

SNMPの基本的な設定を設定する

以下のセクションには、SNMP基本設定についての情報と、Junos OSを実行するデバイス上でSNMP基本操作を設定するいくつかの例が含まれています。

SNMPv1とSNMPv2の基本的な設定を設定する

デフォルトでJunos OSを実行しているデバイスでは、SNMPを有効にすることはできません。Junos OSを実行するデバイスでSNMPを有効にするには、階[edit  snmp]層レベルでステートcommunity publicメントを含めます。

SNMPv1およびSNMPv2のGetとGetNext操作の有効化

パブリックとして定義されたコミュニティでは、すべてのMIBデータへのアクセスを任意のクライアントに許可します。

デバイス上でSNMPv1およびSNMPv2のSet操作を有効にするには、[edit snmp]階層レベルで以下のステートメントを含める必要があります。

SNMPv1およびSNMPv2のSet操作の有効化

以下の例は、SNMPv1およびSNMPv2トラップのデバイスでの基本的な最小設定を示しています。

SNMPv1およびSNMPv2トラップの設定

SNMPv3の基本的な設定を設定する

以下の例は、GetGetNext、およびSetの操作をデバイス上で有効にするSNMPv3の最小設定を示しています(構成ではmd5への認証およびnoneへのプライバシーが設定されていることに注意してください)。

SNMPv3のGet、GetNext、Set操作の有効化

以下の例は、デバイスでのSNMPv3インフォームの基本設定を示しています(構成ではnoneへの認証とプライバシーが設定されています)。

SNMPv3インフォームの設定

以下の例に示すtrapように、階[edit snmp v3 notify N1_all_tl1_informs]層レベルのステートtypeメントの値をに設定することで、SNMPv3インフォームをトラップに変換できます。

インフォームをトラップに変換

SNMPの詳細を設定する

SNMP を使って、コンタクト名やデバイスの場所など、基本的な管理情報を格納できます。管理システムは、トラブルシューティングや監査を行う際に、この情報をリモートで取得できます。SNMP用語では、MIB-2のシステムグループ内(RFC 1213、TCP/IPベースのインターネットのネットワーク管理のための管理情報ベースで定義されている)にあるsysName、sysContact、sysDescription、sysLocationオブジェクトです。MIB-II で定義されています)。SNMP で管理するシステムごとに、Junos OS 構成内で初期値を直接設定できます。

注:

SNMP によって管理されるデバイスについては、名前、場所、連絡先、説明情報を常に保管および更新します。

SNMPの詳細を設定するには:

  1. システム名を設定します。
    [edit snmp]層レベルでステートnameメントを含めて、システム名の詳細を設定します。

    たとえば、以下のように表示されます。

  2. システム連絡先を設定します。
    システム コンタクト詳細を設定するには、ここに示すように、contact ステートメントを [edit snmp] 階層レベルまたは適切な構成グループに含めます。

    この管理用コンタクトは、MIB II sysContact オブジェクト内に配置されます。

    名前にスペースが含まれている場合、引用符(" ")で囲みます。

    たとえば、以下のように表示されます。

  3. システムの説明を構成します。

    この文字列は、MIB II sysDescriptionオブジェクトに置かれます。説明にスペースが含まれている場合は、引用符(" ")で囲みます。

    たとえば、以下のように表示されます。

  4. システムの場所を構成します。

    この文字列は、MIB II sysLocation オブジェクトに置かれます。場所にスペースが含まれている場合、引用符(" ")で囲みます。

    システム説明を指定するには:

    たとえば、以下のように表示されます。

  5. 設定の最上位レベルで、設定グループを適用します。

    設定グループを使用している場合、有効にするためには適用する必要があります。

  6. 設定をコミットします。
  7. 構成を検証するには、show snmp mib walk system operational-mode コマンドを入力します。

    コマshow snmp mib walk systemンドは、システム テーブルの MIB ウォーク スルーを実行します(RFC 1213 で定義された MIB-2 から)。Junos OS の SNMP エージェントは、テーブルの各行とそれに関連する値を出力することで応答します。同じコマンドを使って、エージェントがサポートする MIB ツリーのどの部分でも MIB ウォークを実行できます。

ネットワーク管理システム設定を最適化し最良の結果を生む

ネットワーク管理システム構成を変更することで、SNMP クエリーの応答時間を最適化できます。以下のセクションでは、ネットワーク管理システムを構成する際のヒントを紹介します。

ポーリング方法を列単位から行単位に変更する

SNMPデータのポーリングに行単位の方法が使用されるように、ネットワーク管理システムを構成できます。行単位および複数行単位のポーリング方法が、列単位のポーリングよりも効率的であることは明らかです。

行単位のデータポーリング方法を使用するようにネットワーク管理システムを設定することで、以下を行うことができます。

  • 列単位のポーリングの場合のように、複数のインターフェイスの単一のリクエストのポーリングデータではなく、リクエスト内の1つだけのインターフェイス用にデータをポーリングします。

  • リクエストのタイミングアウトのリスクを軽減します。

PDU あたりの変数バインディング数を削減する

プロトコルデータユニット(PDU)ごとの変数バインディング数を減らすことで、SNMPリクエストへの応答時間を改善することができます。異なるインデックス エントリにマッピングされた複数のオブジェクトに関連するデータをポーリングし、デバイスエンドで複数のリクエストに変換するリクエスト。これは、サブエージェントが異なるインデックスエントリにリンクされたデータを取得するために、異なるモジュールをポーリングする必要があるためです。

推奨される方法は、異なるインデックス エントリにリンクされている複数のオブジェクトではなく、リクエストが1つのインデックス エントリにリンクされているオブジェクトのみを持つようにすることです。

注:

デバイスからの応答が遅い場合は、そのデバイスに GetBulk オプションを使用しないようにしてください。GetBulk リクエストには、さまざまなインデックス エントリーにリンクされたオブジェクトが含まれる可能性があり、応答時間がさらに長くなる可能性があるからです。

snmp bulk-get で推奨される OID と max-repititions の数

SNMP bulk-get リクエストは、(max-repetitions * number-of-OIDs)変数バインディングの合計で応答します。インターフェイス統計オブジェクト(ifInOctets、ifOutOctets など)がクエリーに存在する場合、リクエストは下位レイヤーに送信されます。したがって、bulk-getリクエストで送信するmax-repetitions(最大繰り返し数)が増加することで、応答に影響を与えます。インターフェイスの統計オブジェクトのbulk-getクエリでは、10の「max-repetitions」値を使用することをお勧めします。リクエストごとの最大OID数は10です。

ポーリングとディスカバリ間隔のタイムアウト値を大きくする

ポーリングとディスカバリー間隔のタイムアウト値を増やすことで、以下を行うことができます。

  • デバイスエンドでのキューイング時間を増やします。

  • リクエストのタイミングアウトによって発生するスロットルドロップ数を減らします。

snmpdでの着信パケット レートを引き下げる

以下の方法は、デバイスに、SNMPリクエストが積み上がるリスクを軽減します。

  • デバイスにSNMPリクエストを送信する頻度を減らします。

  • ポーリング間隔を増加します。

  • GetNextリクエストの使用を制御します。

  • デバイスごとのポーリングステーション数を減らします。

SNMP応答時間の向上のための管理デバイス上のオプションの構成

以下のセクションでは、SNMP のパフォーマンスを向上させるための管理対象デバイスの構成オプションについて説明します。

stats-cache-lifetime オプションの有効化

Junos OSには、インターフェイスの統計情報をキャッシュする時間の長さ(秒)を構成可能なオプションがあります。キャッシュ時間内に NMS が同じインターフェイスにクエリーを再実行すると、同じデータが返されます。キャッシュ時間後にNMSがクエリーを実行すると、キャッシュが有効ではなくなり、新しいデータが下層から取得され、キャッシュタイムスタンプが更新されます。デフォルトstats-cache-lifetimeは5秒です。これは、ポーリング頻度に応じて調整できます。

注:

stats-cache-lifetime オプションの値を小さくすると、より多くのクエリが発生し、パフォーマンスが影響を受ける可能性があります。キャッシュされていないライブの統計情報を取得するには、stats-cache-lifetime オプションの値を 0 に設定します。ただし、これはキャッシュ機能を完全に無効にし、パフォーマンスに影響を与えるため、推奨されません。

重複するSNMP要求をフィルタリングする

ネットワーク管理ステーションが、GetGetNext、または GetBulk SNMP リクエストを頻繁にデバイスに再送信すると、そのリクエストが以前のリクエストの処理を妨害し、エージェントの応答時間が長くなる可能性があります。これらの重複したリクエストをフィルタリングすることで、SNMP エージェントの応答時間が改善されます。Junos OSは、重複する GetGetNextGetBulkSNMPリクエストをフィルタリングできます。Junos OSでは、SNMPリクエストが重複しているかどうかを判断するにあたり、以下の情報を使用します。

  • SNMPリクエストの送信元IPアドレス

  • SNMPリクエストの送信元UDPポート

  • SNMPリクエストのリクエストID

注:

デフォルトでは、Junos OS の動作するデバイスでは、重複した SNMP リクエストのフィルタリングは無効になっています。

Junos OS の動作するデバイスで重複する SNMP リクエストをフィルタリングするには、filter-duplicates ステートメントを [edit snmp] 階層レベルで記述します。

SNMP クエリーへの応答が遅いインターフェイスを除外する

インターフェイス統計情報に関する SNMP リクエストへの応答が遅いインターフェイスは、SNMP リクエストへのカーネル応答を遅らせる可能性があります。mib2d ログ ファイルを確認することで、カーネルが多様な SNMP リクエストに応答するまでの時間を知ることができます。カーネル応答データのログ ファイルを確認する方法については、Junos OSを実行するデバイスでSNMPパフォーマンスに影響を与えるSNMPアクティビティとトラッキングの問題を監視するのセクションにある「カーネルおよびパケット転送エンジンのレスポンスを確認する」を参照してください。

特定のインターフェイスの応答が遅いことに気づき、それがカーネルの SNMP リクエストへの応答を遅くしていると考えられる場合は、デバイスへの SNMP クエリーからそのインターフェイスを除外してください。インターフェイスをSNMPクエリーから除外するには、filter-interface ステートメントを構成するか、SNMPビュー設定を変更します。

以下の構成例では、インターフェイスを SNMP GetGetNextSet 操作から除外しています。

以下の SNMP ビュー構成例では、インターフェイス インデックス(ifIndex)値が 312 のインターフェイスを、ifTable および ifXtable オブジェクトに関連する情報のリクエストから除外します。

または、応答の遅いインターフェイスをオフラインにすることもできます。

Junos OSを搭載したデバイスでのSNMPの設定

Junos OS を搭載したデバイスでは、デフォルトで SNMP が無効になっています。ルーターやスイッチで SNMP を有効にするには、[edit snmp] 階層レベルで SNMP 設定ステートメントを含める必要があります。

SNMP の最小要件を設定するには、設定の [edit snmp] 階層レベルで以下のステートメントを含めます。

ここで public と定義されたコミュニティは、すべての MIB データへの読み取りアクセスを任意のクライアントに許可します。

すべてのSNMP機能を設定するには、[edit snmp] 階層レベルで以下のステートメントを含めます。

例:QFabricシステムでSNMPを設定する

Junos OS を搭載したデバイスでは、デフォルトで SNMP が無効になっています。この例では、QFabric システムで SNMP を設定する手順を説明します。

要件

この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。

  • Junos OSリリース12.2

  • ネットワーク管理システム(NMS)(SNMP マネージャーを実行中)

  • QFabric システム(SNMP エージェントを実行)と複数の Node デバイス

概要

Junos OS が動作するデバイスでは、SNMP はデフォルトで無効になっているため、[edit snmp]階層レベルに設定文を含めることで、デバイスの SNMP を有効にする必要があります。最低限、community public文は設定する必要があります。public と定義されたコミュニティは、任意のクライアントに対して MIB データへの読み取り専用アクセスを許可します。

clients文が設定されていない場合は、すべてのクライアントが許可されます。スイッチへの SNMP クライアントアクセスを制限するために、常にrestrictオプションを含めることをお勧めします。

トポロジー

この例のネットワークトポロジーには、NMS、4 台のノードデバイスを持つ QFabric システム、およびトラップを受信するように構成された外部 SNMP サーバーが含まれています。

設定

手順

CLIクイック構成

この例をすばやく設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、[edit]階層レベルのCLIにコマンドをコピー&ペーストしてください。

ステップバイステップでの手順

次の例では、設定階層内のさまざまなレベルに移動する必要があります。その方法の説明については、Junos OS CLIユーザーガイド設定モードでCLIエディターを使用するを参照してください。

QFabric システムで SNMP を設定するには、以下の手順に従います。

注:

名前、説明、場所、連絡先、コミュニティ名にスペースが含まれる場合は、テキストを引用符(" ")で囲んでください。

  1. SNMP システム名を設定します。

    注:

    上記で設定した SNMP システム名にアクセスすることができます。

    • ポリシーオブジェクト識別子(OID)sysName.0 に対して SNMPGet で問い合わせを行うことで、ポリシーオブジェクト識別子を取得することができます。

    • 汎用的な jnxSyslogTrap から。jnxSyslogTrap を送信するために、[edit event-options policy]階層でトラップイベントを設定します。

  2. 説明を指定します。

    この文字列は、MIB II sysDescriptionオブジェクトに置かれます。

  3. QFabric システムの物理的な位置を指定します。

    この文字列は、MIB II sysLocation オブジェクトに置かれます。

  4. SNMP システムの管理者連絡先を指定します。

    この名前は、MIB II sysContact オブジェクトに置かれます。

  5. 一意の SNMP コミュニティ名と読み取り専用の認証レベルを指定します。

    注:

    read-writeオプションは QFabric システムでサポートされていません。

  6. SNMP コミュニティを使用できる IP アドレスのセットでクライアントリストを作成します。

  7. コミュニティの利用を制限するクライアントの IP アドレスを指定します。

  8. トラップグループ、宛先ポート、トラップグループ内の SNMP トラップを受信する対象を設定します。

    注:

    デフォルトのポート 162 を使用する場合は、destination-port文を含める必要はありません。

    トラップグループ qf-traps は 192.168.0.100 にトラップを送信するように構成されています。

結果

設定モードから、showコマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。

デバイスの設定が完了したら、設定モードから commit を入力します。

コミット遅延タイマーを設定する

ルーターやスイッチが最初にSNMP不揮発性 Set リクエストを受信すると、Junos OSの XMLプロトコル セッションが開き、他のユーザーやアプリケーションが候補の構成を変更することを防ぎます(コマンドライン インターフェイス [CLI] configure exclusive コマンドと同等)。ルータが5秒(デフォルト値)以内に新しいSNMP Set リクエストを受信しない場合、候補の構成がコミットされ、Junos OS XMLプロトコル セッションが閉じられます(構成ロックが解除されます)。候補の設定がコミットされている間にルーターが新しいSNMP Set リクエストを受信した場合、SNMP Set リクエストは拒否され、エラーが発生します。5 秒が経過する前にルーターが新しい SNMP Set リクエストを受信した場合、コミット遅延タイマー(最後の SNMP リクエストを受信してからコミットがリクエストされるまでの時間)は 5 秒にリセットされます。

デフォルトでは、タイマーは 5 秒に設定されています。SNMP Set リプライとコミット開始のタイマーを構成するには、commit-delay ステートメントを [edit snmp nonvolatile] 階層レベルで記述します。

seconds は、候補の構成の SNMP リクエストを受信してからコミットが要求されるまでの時間の長さです。configure exclusive コマンドの詳細および構成のロックについては、Junos OS CLI ユーザー ガイドを参照してください。

SNMPコミュニティを設定する

Junos OSでSNMPエージェントを設定することは、ネットワーク内の他の管理対象デバイスと使い慣れた設定を共有する簡単なタスクです。例えば、SNMP コミュニティ文字列とトラップの宛先を使って Junos OS を構成する必要があります。コミュニティ文字列とは、デバイスのコレクションとその上で動作するエージェントを、共通の管理ドメインにグループ化するための管理名です。マネージャーとエージェントが同じコミュニティを共有している場合、相互に通信を行うことができます。

SNMP コミュニティは、利用可能なMIBオブジェクト、それらのオブジェクトで有効な操作(読み取り専用または読み取り書き込み)、およびそれらのソースIPアドレスに基づいて、承認されたSNMPクライアントなどのメンバーに付与される承認のレベルを定義します。

SNMP コミュニティ文字列は、SNMP サーバーシステムとクライアントシステムの関係を定義します。この文字列は、サーバーへのクライアントのアクセスを制御するパスワードのように動作します。

読み取り専用の SNMP コミュニティを作成するには:

  1. ネットワークで使用するSNMPコミュニティを入力します。

    コミュニティ名にスペースが含まれている場合、引用符(" ")で囲みます。

    コミュニティ名は一意である必要があります。

    注:

    [edit snmp community] 階層と [edit snmp v3 snmp-community community-index] 階層で同じコミュニティ名を設定することはできません。

    この例では、標準名 public を使用して、読み取り専用の限定的なアクセスを許可するコミュニティを作成します。

  2. コミュニティの許可レベルを定義します。

    コミュニティのデフォルト認証レベルはread-onlyです。

    コミュニティ内でSet リクエストを許可するには、authorization read-writeとしてコミュニティを定義する必要があります。Set要求では、viewステートメントを使用して、読み書き権限でアクセスできるMIBオブジェクトも含める必要があります。デフォルトのビュー表示には、サポートされるすべての MIB オブジェクトが含まれ、読み取り専用権限でアクセスできます。読み書き権限でアクセスできる MIB オブジェクトはありません。viewステートメントの詳細については、MIBビューの設定を参照してください。

    この例では、publicコミュニティを読み取り専用アクセスに限定しています。publicコミュニティに所属するSNMPクライアント(SNMP管理システムなど)は、MIB変数を読み取ることはできますが、設定(変更)することはできません。

  3. Junos OS の SNMP エージェントとの通信を許可されているコミュニティ内のクライアントのリストを定義します。

    clientsステートメントは、このコミュニティを使用できるクライアント(コミュニティメンバー)のIPアドレスを一覧にします。IPアドレスとプレフィックス別にクライアントをリスト表示します。通常、このリストには、ネットワーク内の SNMP ネットワーク管理システム、または管理ネットワークのアドレスが含まれます。clientsステートメントが存在しない場合、すべてのクライアントが許可されます。address の場合、ホスト名ではなく IPv4 または IPv6 アドレスを指定する必要があります。

    次のステートメントでは、192.168.1.0/24 ネットワークのホストを、public コミュニティで許可されるものと定義しています。

  4. コミュニティ内で許可されていないクライアントを定義するには、その IP アドレスに続けて restrict ステートメントを記述します。

    以下のステートメントは、他のすべてのホストは public コミュニティから制限されているものと定義します。

  5. 設定の最上位レベルで、設定グループを適用します。

    設定グループを使用している場合、有効にするためには適用する必要があります。

  6. 設定をコミットします。

読み書き可能な SNMP コミュニティを作成するには:

  1. ネットワークで使用するSNMPコミュニティを入力します。

    この例では、デバイス上で実行されている SNMP エージェントへの読み書き可能アクセスが許可されているコミュニティを識別するために、標準コミュニティ文字列 private を使用しています。

  2. コミュニティの許可レベルを定義します。

    この例では、publicコミュニティを読み取り専用アクセスに限定しています。publicコミュニティに所属するSNMPクライアント(SNMP管理システムなど)は、MIB変数を読み取ることはできますが、設定(変更)することはできません。

  3. Junos OS の SNMP エージェントへの変更が許可されるコミュニティ内のクライアントのリストを定義します。

    IPアドレスとプレフィックス別にクライアントをリスト表示します。

    たとえば、以下のように表示されます。

  4. コミュニティ内で許可されていないクライアントを定義するには、その IP アドレスに続けて restrict ステートメントを記述します。

    以下のステートメントは、他のすべてのホストは public コミュニティから制限されているものと定義します。

  5. 設定の最上位レベルで、設定グループを適用します。

    設定グループを使用している場合、有効にするためには適用する必要があります。

  6. 設定をコミットします。

SNMPコミュニティにクライアントのグループを追加する

Junos OSでは、SNMP コミュニティに1つ以上のクライアント グループを追加できます。階[edit snmp community community-name]層レベルでステートclient-list-name nameメントを含めることで、SNMP コミュニティにクライアントリストまたはプレフィックスリストのすべてのメンバーを追加できます。

クライアントリストを定義するには、階[edit snmp]層レベルでステートclient-listメントと、その後にクライアントのIPアドレスを含めます。

[edit policy options]階層レベルでプレフィックスリストを設定できます。SNMP コミュニティ設定でプレフィックスリストをサポートすることで、SNMP とルーティングポリシーを設定する単一リストを有効にできます。prefix-listステートメントの詳細は、「ルーティング・ポリシー、ファイアウォール・フィルタ、およびトラフィック・ポリサー・ユーザーガイド」を参照してください。

SNMP コミュニティにクライアントリストまたはプレフィックスリストを追加するには、階[edit snmp community community-name]層レベルでステートclient-list-nameメントを含めます。

注:

クライアントリストとプレフィックスリストは、同じ名前であってはなりません。

以下の例は、クライアントリストを定義する方法を示しています。

以下の例は、SNMPコミュニティにクライアントリストを追加する方法を示しています。

以下の例は、SNMP コミュニティにプレフィックスリストを追加する方法を示しています。

SNMPコミュニティ文字列を構成する

SNMP コミュニティ文字列は、SNMP サーバーシステムとクライアントシステムの関係を定義します。この文字列は、サーバーへのクライアントのアクセスを制御するパスワードのように機能します。

Junos OS設定でコミュニティ文字列を設定するには、 階[edit snmp]層レベルでステートcommunityメントを含めます。

コミュニティ名にスペースが含まれている場合、引用符(" ")で囲みます。

コミュニティのデフォルト認証レベルはread-onlyです。コミュニティ内でSet リクエストを許可するには、authorization read-writeとしてコミュニティを定義する必要があります。Set要求では、viewステートメントを使用して、読み書き権限でアクセスできるMIBオブジェクトも含める必要があります。デフォルトビューには、読み取り専用権限でアクセスできるすべてのサポートMIBオブジェクトが含まれています。読み書き権限でアクセスできるMIBオブジェクトはありません。viewステートメントの詳細については、MIBビューの設定を参照してください。

このコミュニティを使用することが許可されているクライアント(コミュニティメンバー)のIPアドレスは、ステートclientsメントの一覧に記載されています。clientsステートメントが存在しない場合、すべてのクライアントが許可されます。の場合address、ホスト名ではなく IPv4 アドレスを指定する必要があります。アクセスが許可されていないすべてのSNMPクライアントへのアクセスを拒否するdefault restrictオプションが含まれます。ローカルスイッチへの SNMP クライアントアクセスを制限するために、常に default restrictオプションを含めることをお勧めします。

注:

コミュニティ名は、各SNMPシステム内で固有でなければなりません。

例:SNMPコミュニティ文字列を設定する

すべてのクライアントに読み取り専用のアクセス権を与えます。以下の構成では、システムはコミュニティ文字列 を含む SNMGetGetNextP 、、 リクエGetBulkストに応答しますpublic

すべてのクライアントに ping MIB と jnxPingMIB への読み書き可能なアクセス権を与えます。以下の構成では、システムはコミュニティ文字列 を含み、ping MIB または 階jnxPingMIB層に含まれる OID を指定する SNMP GetGetNextGetBulk、、、 リクエSetストに応答privateします。

以下の構成では、範囲 1.2.3.4/24 内の IP アドレスを持つクライアントには読み取り専用のアクセスを許可し、範囲 fe80::1:2:3:4/64 内のシステムにはアクセスを拒否します。

プロキシSNMPエージェントを設定する

Junos OSでは、リリース12.3以降、ネットワーク内の機器の1つをプロキシのSNMPエージェントとして割り当てることで、ネットワーク管理システム(NMS)がネットワーク内の他の機器にクエリできるようになりました。プロキシを設定する際、プロキシのSNMPエージェントで管理する機器の名前を指定することができます。

NMSがプロキシのSNMP エージェントに問い合わせる際、NMSは情報を必要とするデバイスに関連するコミュニティ名(SNMPv1 および SNMPv2 の場合)またはコンテキストおよびセキュリティ名(SNMPv3 の場合)を指定します。

注:

SNMPv3の認証およびプライバシー方法やパスワードを設定している場合は、SNMPv3情報に対するクエリーでこれらのパラメーターも指定されます。

プロキシSNMPエージェントを設定し、プロキシSNMPエージェントによって管理されるデバイスを指定するには、proxy (snmp)を参照してください。

注:

Junos OS Release 15.2以降では、プロキシSNMPエージェントでは階[edit snmp]層レベルでステートinterface <interface-name>メントを設定する必要があります。

注:

プロキシのコミュニティとセキュリティの設定は、管理対象となるデバイスの対応する設定と一致している必要があります。

注:

プロキシSNMPエージェントにはトラップ転送機能がないため、プロキシSNMPエージェントによって管理されるデバイスは、ネットワーク管理システムにトラップを直接送信します。

show snmp proxy動作モードコマンドを使用して、デバイスのプロキシの詳細を表示することができます。show snmp proxyコマンドは、プロキシ名、デバイス名、SNMPバージョン、コミュニティ/セキュリティ、およびコンテキスト情報を返します。

SNMPトラップの設定

トラップは、SNMP エージェントからリモートネットワーク管理システムまたはトラップ受信者に送信される未承認メッセージです。企業は、システム ログに加えて、障害監視ソリューションの一部として SNMP トラップを使用します。Junos OSでは、SNMPトラップを使用したい場合は、トラップグループを設定する必要があります。

1つ以上のSNMPトラップタイプのグループを作成し、名前を付け、SNMPトラップのグループを受信するシステムを定義することができます。トラップグループの名前は、コミュニティ名と呼ばれる1つの可変バインディング(varbind)としてSNMPトラップ通知パケットに組み込まれます。

SNMPトラップを設定するには:

  1. デバイス内のすべての発信トラップに Junos OSが適用する、一貫した送信元アドレスを 1 つ作成します。

    送信元アドレスは便利です。ほとんどのJunosデバイスは複数のアウトバウンドインターフェイスを持っていますが、1つの送信元アドレスを使用することで、リモートNMSがトラップのソースを個々のデバイスに紐付けるのに役立ちます

    この例では lo0(ループバック インターフェイス)の IP アドレスをデバイスから発信されたすべての SNMP トラップの送信元アドレスとして使用します。

  2. 転送するトラップの種類と、受信リモート管理システムのターゲット(アドレス)をリストできるトラップ グループを作成します。

    この例では、 と呼ばれるトラップ グループを作成します。これによってmanagers、SNMP バージョン 2 フォーマット通知(トラップ)をアドレス 192.168.1.15 のホストに送信できます。このステートメントは、すべてのカテゴリーのトラップを転送します。

  3. 転送するトラップカテゴリーの特定のサブセットを定義します。

    カテゴリーのリストについては、SNMP トラップ グループの設定を参照してください。

    以下のステートメントは、エージェント(デバイス)の標準 MIB-II 認証失敗を設定します。

  4. 設定の最上位レベルで、設定グループを適用します。

    設定グループを使用している場合、有効にするためには適用する必要があります。

  5. 設定をコミットします。
  6. 設定を検証するには、認証失敗トラップを生成します。

    これは、SNMPエージェントが、未知のコミュニティのリクエストを受けたことを意味します。その他のトラップタイプも偽装される可能性があります。

    この機能により、ルーターから SNMP トラップをトリガーし、既存のネットワーク管理インフラストラクチャ内で正しく処理されるようにすることができます。これは、スイッチまたは NMS での SNMP 動作のテストとデバッグにも便利です。

    monitor trafficコマンドを使用すると、トラップがネットワーク管理システムに送信されることを確認できます。

SNMPトラップオプションを設定する

SNMP トラップ オプションを使用して、発信インターフェイスに関わらず、ルーターが送信したすべての SNMP トラップの送信元アドレスを単一アドレスに設定できます。さらに、SNMPv1 トラップのエージェント アドレスを設定できます。SNMPv1 トラップのコンテンツについては、RFC 1157 をご覧ください。

注:

SNMP は、マスター ルーティング インスタンス以外のルーティング インスタンスに関連付けできません。

SNMPトラップオプションを設定するには、trap-optionsを参照してください。

また、トラップオプションを有効にするには、トラップグループを設定する必要があります。トラップグループについては、SNMPトラップ グループの設定を参照してください。

このトピックには、以下のセクションが含まれています。

SNMPトラップのソースアドレスを設定する

トラップ パケットの送信元アドレスは、lo0、ルーターインターフェイスの1つに設定された有効なIPv4アドレスまたはIPv6 アドレス、論理システム アドレス、またはルーティングインスタンスのアドレスなどの複数の方法で設定できます。値 lo0 は、SNMP トラップ パケットの送信元アドレスがインターフェイス lo0 上で設定された最低のループバック アドレスに設定されていることを示しています。

注:

送信元アドレスが無効な IPv4 または IPv6 アドレスであるか、設定されていない場合、SNMP トラップは生成されません。

トラップ パケットの送信元アドレスを以下の形式のいずれかで設定できます。

  • ルーター インターフェイスの 1 つに設定された有効な IPv4 アドレス

  • ルーター インターフェイスの 1 つで設定された有効な IPv6 アドレス

  • lo0; つまり、インターフェイス lo0 上で設定された最低のループバック アドレス

  • 論理システム名

  • ルーティングインスタンス名

送信元アドレスとして有効なIPv4アドレス

ルーター インターフェイスの 1 つの SNMP トラップの送信元アドレスとして有効な IPv4 インターフェイス アドレスを指定するには、 階[edit snmp trap-options]層レベルに ステートsource-addressメントを含めます。

addressは、ルーター インターフェイスの 1 つで設定された有効な IPv4 アドレスです。

送信元アドレスとして有効な IPv6 アドレス

ルーター インターフェイスの 1 つの SNMP トラップの送信元アドレスとして有効な IPv6 インターフェイス アドレスを指定するには、 階[edit snmp trap-options]層レベルに ステートsource-addressメントを含めます。

addressは、ルーター インターフェイスの 1 つで設定された有効な IPv6 アドレスです。

送信元アドレスとして最低のループバック アドレス

インターフェイス lo0 上で設定された最低のループバック アドレスを送信元アドレスとして使用するようにSNMP トラップの送信元アドレスを指定するには、 階[edit snmp trap-options]層レベルに ステートsource-addressメントを含めます。

ループバック アドレスを有効にして設定するには、 階[edit interfaces lo0 unit 0 family inet]層レベルに ステートaddressメントを含めます。

トラップ パケットの送信元アドレスとしてループバック アドレスを設定するには:

この例では、IP アドレス 10.0.0.1 はルーターから送信されたすべてのトラップの送信元アドレスです。

送信元アドレスとしての論理システム名

SNMP トラップの送信元アドレスとして論理システム名を指定するには、 階[edit snmp trap-options]層レベルに ステートlogical-system logical-system-nameメントを含めます。

例えば、以下の設定は、SNMP トラップの送信元アドレスとして論理システム名 ls1を設定します。

送信元アドレスとしてのルーティング インスタンス名

SNMPトラップの送信元アドレスとしてルーティングインスタンス名を指定するには、 階[edit snmp trap-options]層レベルに ステートrouting-instance routing-instance-nameメントを含めます。

例えば、以下の設定は、SNMP トラップの送信元アドレスri1としてルーティング インスタンスナ を設定します。

SNMPトラップ用のエージェントアドレスを設定する

エージェント アドレスは、SNMPv1 トラップ パケットでのみ使用できます(RFC 1157 参照)。デフォルトでは、ルーターのデフォルトローカルアドレスは SNMPv1トラップのエージェントアドレスフィールドで指定されません。エージェントアドレスを設定するには、 階[edit snmp trap-options]層レベルに ステートagent-addressメントを含めます。現在、エージェント アドレスは、発信インターフェイスのアドレスのみです。

発信インターフェイスをエージェントアドレスとして設定するには

この例では、送信された各 SNMPv1 トラップ パケットのエージェント アドレス値が発信インターフェイスの IP アドレスに設定されています。

標準SNMPトラップにsnmpTrapEnterpriseオブジェクト識別子を追加する

snmpTrapEnterprise オブジェクトは、トラップを定義したエンタープライズの特定に役立ちます。通常、snmpTrapEnterprise オブジェクトは、エンタープライズ固有のSNMPバージョン2トラップの最後の varbind として表示されます。しかし、リリース 10.0 以降の Junos OS では、標準 SNMPトラップにsnmpTrapEnterprise オブジェクト識別子を追加できます。

標準トラップに snmpTrapEnterprise を追加するには、 階[edit snmp trap-options]層レベルに ステートenterprise-oidメントを含めます。ステートenterprise-oidメントが設定に含まれていない場合、snmpTrapEnterprise はエンタープライズ固有のトラップにのみ追加されます。

SNMPトラップグループを設定する

1つ以上のSNMPトラップタイプのグループを作成し、名前を付け、SNMPトラップのグループを受信するシステムを定義することができます。SNMP トラップを送信するトラップ グループを設定する必要があります。SNMPトラップグループを作成するには、trap-groupを参照してください。

定義するトラップグループごとに、targetのステートメントをインクルードし、トラップグループにSNMPトラップの受信者として少なくとも1つのシステムを指定する必要があります。ホスト名ではなく、各受信者のIPv4またはIPv6アドレスを指定します。

トラップグループがで受信できるトラップタイプを、categoriesステートメントで指定します。トラップが属するカテゴリーの詳細については、Junos OSでサポートされている標準SNMPトラップおよびJunos OSでサポートされているエンタープライズ固有のSNMPトラップのトピックスを参照してください。

routing-instanceステートメントで、トラップグループが使用するルーティングインスタンスを指定します。トラップグループで設定されたターゲットはすべて、このルーティングインスタンスを使用します。

トラップグループは以下のカテゴリーを受信できます。

  • authentication—認証エラー

  • chassis—シャーシまたは環境通知

  • chassis-cluster—クラスタリング通知

  • configuration—設定通知

  • link—リンク関連通知(アップダウン遷移、DS-3およびDS-1ラインステータスの変更、IPv6インターフェイスの状態の変更、および受動的な監視PICオーバーロード)

    注:

    受動的な監視PICオーバーロードインターフェイストラップを送信するには、linkのトラップカテゴリを選択します。

  • otn-alarms—OTNアラームトラップサブカテゴリー

  • remote-operations—リモート操作通知

  • rmon-alarmーRMONイベントのアラーム

  • routing—ルーティングプロトコル通知

  • servicesー回線ダウンまたはアップ、接続ダウンまたはアップ、CPU超過、アラーム、ステータス変更などのサービス通知

  • sonet-alarms—SONET/SDHアラーム

    注:

    SONET/SDHサブカテゴリを除外すると、SONET/SDHトラップアラームタイプがすべてトラップ通知に含まれます。

    • loss-of-light—光損失のアラーム通知

    • pll-lock—PLLロックのアラーム通知

    • loss-of-frame—フレーム損失のアラーム通知

    • loss-of-signal—信号損失のアラーム通知

    • severely-errored-frame—重大エラーフレームのアラーム通知

    • line-ais—回線アラーム表示信号(AIS)のアラーム通知

    • path-ais—パスAISのアラーム通知

    • loss-of-pointer—ポインタ損失のアラーム通知

    • ber-defect—SONET/SDHビット誤り率のアラーム障害通知

    • ber-fault—SONET/SDH誤り率のアラーム障害通知

    • line-remote-defect-indication—回線リモート障害を示すアラーム通知

    • path-remote-defect-indication—パスリモート障害検出のアラーム通知

    • remote-error-indication—リモートエラー検出のアラーム通知

    • unequipped—未搭載のアラーム通知

    • path-mismatch—パス不一致のアラーム通知

    • loss-of-cell—セル同期損失のアラーム通知

    • vt-ais—仮想トリビュタリ(VT)AISのアラーム通知

    • vt-loss-of-pointer—ポインターVT損失のアラーム通知

    • vt-remote-defect-indication—VTリモート障害検出のアラーム通知

    • vt-unequipped—VT未搭載のアラーム通知

    • vt-label-mismatch—VTラベル不一致のエラー通知

    • vt-loss-of-cell—セル同期VT損失の通知

  • startup—システムのウォームスタートおよびコールドスタート

  • timing-events—タイミングイベントと障害通知

  • vrrp-events新しいプライマリや認証の障害などのVRRP(仮想ルーター冗長プロトコル)イベント

SONET/SDHサブカテゴリーを含む場合、これらのSONET/SDHトラップアラームタイプのみがトラップ通知に含まれます。

versionのステートメントにより、トラップグループのターゲットに送信されたトラップのSNMPバージョンを指定できます。v1のみを指定した場合、SNMPv1トラップが送信されます。v2のみを指定した場合、SNMPv2トラップが送信されます。allを指定した場合、すべてのトラップ条件に対してSNMPv1とSNMPv2トラップが両方とも送信されます。versionのステートメントの詳細については、バージョン(SNMP)を参照してください。

Junos OSを実行しているデバイスにSNMPトラップオプションとグループを設定する

一部のキャリアは、中央 NMS にトラップを転送する複数のトラップレシーバーがあります。これにより、ルーターから中央のNMSにさまざまなトラップ受信機を介しての1つ以上のSNMPトラップのパスの設定が可能になります。Junos OSを実行しているデバイスを設定し、トラップグループに設定されているすべてのトラップレシーバーに各SNMPトラップの同じコピーを送信することができます。

各SNMPトラップパケットのIPヘッダーにおける送信元アドレスは、デフォルトで発信インターフェイスのアドレスに設定されています。トラップレシーバーがパケットを中央 NMSに転送すると、送信元アドレスが保存されます。各SNMPトラップパケットの送信元アドレスのみを参照する中央 NMSは、各SNMPトラップが異なる送信元から来たと仮定します。

現実には、SNMP トラップは同じルーター発ですが、それぞれが異なる発信インターフェイスを介してルーターを後にします。

以下のセクションのステートメントは、NMSが重複したトラップを認識し、発信インターフェイスに基づいてSNMPv1トラップを区別できるようにするものです。

SNMP トラップオプションとトラップグループを設定するには、 階[edit snmp]層レベルで および でステートtrap-groupメントtrap-optionsを含めます。

例:SNMPトラップグループを設定する

リンクとスタートアップ トラップの という名前のトラップ通知リストurgent-dispatcherを設定します。このリストはローカル ルーターによって生成されたトラップが送信されるネットワーク管理ホスト( 1.2.3.4fe80::1:2:3:4)を識別するために使用されます。エージェントがリストされたターゲットにトラップを送信するとき、トラップ グループに指定された名前は SNMP コミュニティ文字列として使用されます。

SNMP要求が受け入れられるようにインターフェイスを設定する

デフォルトでは、ルーターまたはスイッチ インターフェイスには SNMP アクセス権限があります。特定のインターフェイスを通したアクセスのみを制限するには、 階[edit snmp]層レベルに ステートinterfaceメントを含めます。

SNMP アクセス権限を持つべき論理インターフェイスまたは物理インターフェイス名を指定します。リストされていないインターフェイスからのルーターまたはスイッチを入力する SNMP リクエストは破棄されます。

例:セキュアアクセスリストのチェックを設定する

インターフェイス so-0/0/0 および at-1/0/1 上のデバイスのみに SNMP アクセス権限が付与されます。次の例では、論理インターフェイスの一覧を設定することによってこれを行います。

次の例では、物理インターフェイスの一覧を設定することによって同じアクセスを付与します。

SNMP GetとGetNextの出力からインターフェイス情報のフィルターリング

Junos OSでは、SNMP GetGetNextリクエストの出力から、特定のインターフェイスに関連する情報をフィルタリングすることができます。IF MIB、ATM MIB、RMON MIB、およびジュニパーネットワークスのエンタープライズ固有のIF MIBなどのインターフェイス関連MIBでこれを実行できます。

[edit snmp]層レベルで以下ののステートfilter-interfacesメントのオプションを使用して、SNMPGetおよびGetNextクエリーから除外したいインターフェイスを指定することができます。

  • interfaces—指定された正規表現に一致するインターフェイス。

  • all-internal-interfaces—内部インターフェイス。

リリース12.1以降のJunos OSには、マー!クで始まるすべての正規表現に一致するインターフェイス以外のすべてのインターフェイスを除外できるexceptオプション(演算!子)が用意されています。

例えば、SNMPgetやのget-next結果からのインターフェgeイス以外のすべてのインターフェイスを除外するには、以下のコマンドを入力します。

これが設定されると、Junos OSは、SNMPやのget-next結果からgeインターフェイス以外のすべてのインターフェイスを除外しますget

注:

こののマー!クは、正規表現の最初の文字としてのみサポートされています。これが正規表現の他の場所に現れると、Junos OSは、正規表現が無効であるとみなし、エラーを返します。

ただし、これらの設定はSNMP操作にのみに適用されることを忘れないでください。ユーザーは、適切なJunos OSコマンドラインインターフェイス(CLI)コマンドを使用して、インターフェイス(filter-interfacesオプションを使用して非表示のものを含む)に関連する情報に引き続きアクセスすることができます。

MIBビューを設定する

SNMPv3は、RFC3415のView-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)でのMIBビューの概念を定義します。MIBビューで、そのMIBツリー内にある特定のブランチとオブジェクトにアクセスできるユーザーをエージェントがうまく管理できるようになります。ビューは、名前とSNMPオブジェクト識別子で構成され、それは明示的に含まれるか除外されています。定義されると、ビューはSNMPv3グループまたはSNMPv1/v2cコミュニティ(もしくは複数のコミュニティ)に割り当てられ、エージェントのMIBツリーにおける、グループまたはコミュニティのメンバーがアクセスできる(またはできない)部分を自動的に隠します。

デフォルトでは、SNMPコミュニティは読み取りアクセスを許可し、すべてのサポートされたMIBオブジェクトへの書き込みアクセスを(authorization read-writeと設定されたコミュニティであっても)拒否します。一連のMIBオブジェクトへの読み取りもしくは書き込みアクセスを制限したり許可するには、MIBビューを設定し、ビューをコミュニティに関連付けなければなりません。

MIBビューを設定するには、view (Configuring a MIB View)を参照してください。

OID を完全に削除するには、delete view all oid oid-numberコマンドを使用しますが、includeパラメーターを省略します。

次の例は、ping-mib-viewと呼ばれるMIBビューを作成します。oidステートメントは、オブジェクト識別子の先頭に点を必要としません。snmp viewステートメントには、オブジェクト識別子.1.3.6.1.2.1.80の下にブランチが含まれています。これには、DISMAN-PINGMIBサブツリー(RFC 2925、Definitions of Managed Objects for Remote Ping, Traceroute, and Lookup Operationsで定義されています)の全体が含まれていて、それは、そのブランチの下のすべてのオブジェクトへのアクセスを効果的に許可しています。

次の例は、同じMIBビューに2つ目のブランチを追加しています。

管理したいコミュニティにMIBビューを割り当てます。

MIBビューをコミュニティと関連付けるには、view (SNMP Community)を参照してください。

Ping MIBについての詳細は、RFC 2925とPING MIBをご覧ください。

PingプロキシMIBを設定する

ping-mibコミュニティを、Ping MIBとjnxpingMIBへの読み取りと書き込みアクセスのみに制限します。このコミュニティを使用した他の MIB の読み取りと書き込みアクセスは許可されません。

以下の構成では、no-ping-mibコミュニティがPing MIBとjnxPingMIBオブジェクトにアクセスすることはできません。ただし、この構成は、no-ping-mibコミュニティが、デバイスでサポートされている他のMIBオブジェクトにアクセスすることを妨げるものではありません。