Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

設定グループを使用してデバイスをすばやく設定

設定グループを使用して、同じ設定内で再利用される共通の要素を設定して適用します。

設定グループの概要

このトピックでは、 Junos OS Evolved CLIの設定グループと継承モデルの概要について説明します。

構成グループの仕組み

設定グループを使用すると、設定ステートメントを含むグループを作成し、そのグループのステートメントを残りの設定で継承することができます。同じグループを設定の異なるセクションに適用できます。1つのグループの設定ステートメントの異なるセクションは、設定のさまざまな場所に継承できます。

設定グループを使用すると、より小規模で論理的に構築された設定ファイルを作成できるため、ジュニパーネットワークスデバイスの設定と保守が容易になります。例えば、インターフェイスを設定するときなど、設定内の多くの場所で繰り返されるステートメントをグループ化できます。ステートメントをグループ化することで、設定の更新をグループのみに制限できます。

設定グループでワイルドカードを使用することもできます。ワイルドカード式に一致するオブジェクトはすべて、グループ設定データを継承します。

設定グループのメカニズムは、BGPグループなど、設定内の他の場所で使用されるグループ化メカニズムとは別です。設定グループは、設定全体で使用できる汎用メカニズムを提供しますが、これはCLIのみが知っています。設定によって指示されたアクションを実行する個々のソフトウェアプロセスは、設定の拡張形式を受け取ります。設定グループについての知識がない。

継承モデル

設定グループは真の継承を使用します。これには、設定データのソースとそのデータのターゲットとの間に動的で継続的な関係が含まれます。ターゲットは、設定グループで変更したデータ値を自動的に継承します。ターゲットに継承された情報を含める必要はありません。ただし、継承された値は、継承元のソースに影響を与えることなく、ターゲットで上書きできます。

この継承モデルでは、継承された詳細を表示せずに、インスタンス固有の情報のみを表示できます。コンフィギュレーションモードのコマンドパイプでは、継承されたデータを表示できます。

設定グループを設定する

設定ステートメントを継承する設定領域では、まずステートメントを設定グループに配置する必要があります。次に、そのグループを、ステートメントを必要とする設定階層内のレベルに適用します。

設定ステートメントを継承する設定領域の場合:

  1. コンフィギュレーション・ステートメントをコンフィギュレーション・グループに組み込むことができます。設定グループと継承を設定するには、[edit]階層レベルでgroupsステートメントを含めることができます。

  2. ステップ1の設定グループを、ステートメントを必要とする設定階層内のレベルに適用します。

    apply-groups [ group-names ] ステートメントは、設定グループに含まれる設定ステートメントが必要な設定内の任意の場所に含めます。

設定グループの作成

Junos OS Evolved CLIでは、設定ステートメントを含む再利用可能なグループを作成できます。これらのグループは、同じ設定ステートメントが複数回繰り返される設定の異なるセクションに適用できます。

設定の異なるセクションにグループを適用すると、設定のその部分はグループで設定されたステートメントを継承します。構成グループは継承のルールに従い、構成データのソースとそのターゲットとの間に動的で継続的な関係が設定されます。設定グループのデータ値を変更すると、継承されたターゲットに変更が自動的に反映されます。

必要に応じて、ターゲット設定の値を上書きできます。これはグループ内のソースには影響しません。

この継承モデルでは、継承された詳細を表示せずに、インスタンス固有の情報のみを表示できます。コンフィギュレーションモードのコマンドパイプでは、継承されたデータを表示できます。例えば、すべての et-0/0/1 インターフェイスをMTU値1500に設定したい場合があります。

すべての et-0/0/1 インターフェイスをMTU値1500に設定するには、次のようにします。

  1. MTU値1500のグループを作成します。

  2. 次に、インターフェイス設定にグループを適用します。

  3. 継承された設定を表示します。

設定の異なる部分でインターフェイス et-0/0/1 のMTU値を設定したい場合は、 apply-groups オプションを使用してgroupステートメントを適用できます。これを手動で行い、後でMTUを増やす場合は、すべてのインターフェイスを手動で変更する必要がある場合があります。設定グループを使用する場合は、グループ設定を変更することで、関連するすべてのインターフェイスを自動的に更新できます。

また、設定グループでワイルドカードを使用して、ワイルドカード式に一致するすべてのオブジェクトに設定データを継承できるようにすることもできます。例えば:

設定グループを適用する方法

ジュニパーネットワークスデバイス設定で設定グループからステートメントを継承する場合は、設定に apply-groups ステートメントを含めます。

複数のグループ名を指定する場合は、継承優先度順に名前をリストする必要があります。最初のグループの設定データは、以降のグループのデータよりも優先されます。

設定階層の各特定のレベルに含めることができる apply-groups ステートメントは 1 つだけです。特定の階層レベルの apply-groups ステートメントは、含むステートメントの設定グループのリストに追加する設定グループを一覧表示します。

特定の階層レベルで指定された値は、設定グループから継承された値を上書きします。

ネストされた apply-groups ステートメントにリストされているグループは、外部ステートメントのグループよりも優先されます。次の例では、BGPネイバー 10.0.0.1 が最初にグループ one から設定データを継承します。その後、グループ two とグループ threeから設定データを継承します。グループ one の設定データは、他のグループのデータを上書きします。グループ ten のデータは、ステートメントが他のグループに含まれていない場合にのみ使用されます。

ルートレベルは、デフォルトの論理システムです。ルートレベルに定義されたグループを設定する場合、そのグループを [edit logical-systems logical-system-name] 階層レベルのデフォルト以外の論理システムに正常に適用することはできません。グループを適用するとデバイスはコミットを受け入れますが、デフォルト以外の論理システムでは設定グループは有効になりません。代わりに、ルートレベルで追加の設定グループを作成し、論理システム内に適用することができます。または、元のグループを変更して、デフォルトと非デフォルトの両方の論理システム階層レベルの設定を含めることもできます。

注:

Junos Evolvedでは、スロット0とスロット1に設定を選択的に適用するために使用されるルーティングエンジン固有のグループ re0re1 ルーティングエンジンサポートされていません。

例:設定グループの作成と適用

この例では、設定グループの作成と適用について説明します。この例では、SNMP設定がグループ basic と通常の設定階層に分割されています。

システム固有の設定(SNMP 連絡先)を設定グループに配置し、通常の設定階層から分離することで、複数のメリットが得られます。

  • load replaceコマンドを使用することで、もう一方のセクションからデータを破棄せずに置換できます。

  • グループデータはデバイス固有のデータによって非表示になるため、特定のボックスに連絡先を設定できます。

この設定は、以下と同等です。

例:設定グループの継承を無効にする

階層の最上位レベルを除くすべてのレベルで設定グループの継承を無効にすることができます。継承を無効にするには、設定に apply-groups-except ステートメントを含めます。

このステートメントは、特定の階層レベルで apply-group ステートメントを使用しながら、特定のパラメーターの設定グループから継承された値を上書きしたい場合に便利です。

例:インターフェイス et-1/1/0 での継承の無効化

次の例では、 apply-groups ステートメントがインターフェイスレベルでグローバルに適用されます。 apply-groups-except ステートメントはインターフェイス et-1/1/0 でも適用されるため、 hold-time および link-mode ステートメントのデフォルト値が使用されます。

デバイスは設定グループから設定データを継承できるため、設定グループでは、デバイスが使用する実際の値に関して混乱が生じる可能性があります。デバイスで使用される実際の値を表示するには、show コマンドのパイプ( | )の後に display inheritance コマンドを使用します。このコマンドは、継承されたステートメントを、継承されたレベルと継承されたグループで表示します。

## 行なしで拡張設定(継承されたステートメントを含む設定)を表示するには、show コマンドのパイプの後に except コマンドを使用します。

注:

display inheritance | except ##オプションを使用すると、##のあるすべての行が削除されます。そのため、##が使用されているパスワードやその他の重要なデータに関する情報を表示できない場合があります。すべての情報を含む完全なコンフィギュレーションの詳細を表示するには(##でマークされたコメントだけは除く)、display inheritanceコマンドでno-commentsオプションを使用します。

例: junos-defaults 設定グループを使用する

Junos OS Evolved には、デバイスの設定に自動的に適用される junos-defaults と呼ばれる非表示で不変の設定グループが用意されています。 junos-defaults グループには、一般的なアプリケーションの事前定義された値を含む事前設定されたステートメントが含まれています。アプリケーションの定義(FTPやTelnet設定など)など、有効にするために参照する必要があるステートメントもあります。端末設定などのその他のステートメントは自動的に適用されます。

注:

junos-defaults設定グループに含まれる多くの識別子は、名前junos-で始まります。名前junos-で始まる識別子はジュニパーネットワークスが使用するために予約されているため、この名前を使用して設定オブジェクトを定義することはできません。

apply-groupsステートメントの設定グループ名としてjunos-defaultsを含めることはできません。

junos-defaultsグループから利用可能なプリセットステートメントの全セットを表示するには、設定の最上位レベルでshow groups junos-defaults設定モードコマンドを発行します。以下の例は、Junosデフォルトグループの一部のリストを示しています。

junos-defaults グループから利用可能なステートメントを参照するには、選択したjunos- default-nameステートメントを該当する階層レベルに含めます。

junos-defaultsグループのアプリケーションのリストを表示するには、show configuration groups junos-defaults applicationsを発行します。junos-で始まるアプリケーションは、デフォルトでジュニパーネットワークスによって設定されます。次の例では、Junosデフォルトグループアプリケーションの一部のリストを示しています。

例:設定グループでのワイルドカードの使用

ワイルドカードを使用して名前を識別し、1つのステートメントでさまざまなステートメントのデータを提供することができます。

通常の設定データでワイルドカードを使用すると、従来の UNIX シェル ワイルドカードで使用されるものと同じスタイルで実行されます。このスタイルでは、次のメタ文字を使用できます。

  • アスタリスク(* )—任意の文字列に一致します。

  • 疑問符( ? )—任意の1文字に一致します。

  • 大括弧( [ )—文字クラスを導入します。

  • 閉じ括弧( ] )—文字クラスの終わりを示します。閉じブラケットがない場合、オープンブラケットは文字クラスを導入するのではなく、オープンブラケット [ と一致します。

  • 文字クラスは、角括弧で囲まれた任意の文字に一致します。設定グループ内では、文字クラスを含むインターフェイス名を引用符で囲む必要があります。

  • ハイフン( - )—文字の範囲を指定します。

  • 感嘆符(!)—感嘆符を文字クラスの最初の文字にすることで、文字クラスを補完できます。文字クラスに閉じ括弧 (]) を含めるには、その文字をリストされている最初の文字にします (存在する場合は、 !の後)。マイナス記号を含めるには、リストされている最初または最後の文字にします。

注:

groups階層内で識別子を使用する場合は、識別子名を<以外のもので開始します。ただし、ワイルドカードステートメントを定義する場合は、ワイルドカードステートメントに終了>が必要なため、<を使用できます。

設定グループでワイルドカードを使用すると、通常の設定にワイルドカードを使用するのと同じルールに従います。ただし、 <> は、 groups 階層下で使用される場合に特別な意味を持ちます。 groups 階層では、設定ファイル内の他のワイルドカードと区別するために、ワイルドカードパターン<pattern>を使用する用語を山括弧で囲む必要があります。

ワイルドカード式は、その式にのみ一致する設定内の既存のステートメントに一致します(および設定データを提供します)。前の例では、式 <et-*> は、式 et-* に一致するインターフェイスに sonet-options ステートメントを渡します。

以下の例は、インターフェイスの範囲を指定する方法を示しています。

山括弧を使用すると、通常のワイルドカードを変更せずに通過させることができます。コンフィギュレーション内のマッチングでは、ワイルドカードの有無にかかわらず、コンフィギュレーション内で最初に検出された一致する項目が使用されます。次の例では、ワイルドカード化された BGP グループからのデータが、グループがリストされている順番に継承されます。

  • <*a*>のプリファレンス値は、<*b*>のプリファレンスを上書きします。
  • <*c*>p値は、からの値を上書きします。<*d*>

これらのグループのデータ値は、 abcdのデータ値を上書きします。

設定グループを使用する場合のコミット時間を改善する方法

設定グループを使用すると、設定データを再入力することなく、他の階層に設定を適用できます。設定グループ内のすべての設定の詳細を指定できます。また、各設定行を詳細に記述することなく、設定グループでワイルドカードを使用してデータ範囲を設定することもできます。設定グループを使用する別の方法は、適用する設定の長い文字列を含む継承パスを作成することです。

設定グループを使用する設定がコミットされると、コミットプロセスが拡張され、グループのすべての設定データがメモリに読み込まれ、意図したとおりに設定されが適用されます。多くの設定グループが適用されている場合、特に設定グループがワイルドカードを多用している場合、コミットのパフォーマンスに悪影響を及ぼす可能性があります。

システムがワイルドカードを使用する多くの設定グループを使用している場合、[edit system commit]階層レベルでpersist-groups-inheritanceステートメントを設定して、コミット時のパフォーマンスを向上させることができます。

このオプションを使用すると、システムはプロセスメモリではなくデータベース内に各設定グループの継承パスを構築できます。この変更により、コミット時のパフォーマンスを向上させることができます。ただし、データベースのサイズが大きくなる可能性もあります。

例:設定グループを使用したステートメントのセットの設定

設定グループにステートメントのセットが存在する場合、すべての値が継承されます。例えば:

角括弧内に表示されていないセットについては、すべての値も継承されます。例えば:

例:設定グループを使用して管理インターフェイスの一貫したIPアドレスを設定する

複数のルーティングエンジンを搭載したデバイスでは、各ルーティングエンジンに管理インターフェイス用の個別のIPアドレスが設定されます。プライマリルーティングエンジンにアクセスするには、どのルーティングエンジンがアクティブであるかを知り、適切なIPアドレスを使用する必要があります。

プライマリルーティングエンジンに一貫してアクセスするための別のオプションは、追加のIPアドレスを設定することです。その後、どのルーティングエンジンがアクティブであるかに関わらず、このアドレスを管理インターフェイスに使用します。この追加 IP アドレスは、プライマリ ルーティングエンジンの管理インターフェイスでのみ有効です。切り替えの際、アドレスは新しいプライマリルーティングエンジンに移動します。

この例では、両方のルーティングエンジンのアドレス 10.17.40.131 を設定し、 master-only ステートメントを含めます。この設定では、 10.17.40.131 アドレスはプライマリルーティングエンジンでのみアクティブになります。このアドレスは、どのルーティングエンジンがアクティブであっても一貫しています。アドレス 10.17.40.132global interfaces re0:mgmt-0 に、 10.17.40.133global interfaces re1:mgmt-0 に割り当てられています。

この機能は、デュアルルーティングエンジンを搭載したすべてのルーターで利用可能です。

注:
  • プライベートインターフェイスとパブリックインターフェイスでアドレスが重複している2つのインターフェイスには、一意のIPアドレスを割り当てる必要があります。グレースフルルーティングエンジンスイッチオーバー(GRES)が有効になっている場合、同じアドレスが見つかった場合、CLIは適切なコミットエラーメッセージを表示します。このエラーは、 global interfaces re0:mgmt-0 などの管理インターフェイスまたは内部インターフェイスと、 et-0/0/1などの外部物理インターフェイスに同じIPアドレスを設定した場合に発生することがあります。

例:設定グループを使用してピアエンティティを設定する

この例では、別のISPに関連する設定データを含むグループ some-isp を作成します。次に、さまざまなポイントに apply-group ステートメントを挿入して、設定階層内のそれらの場所がこのデータを継承できるようにします。

例:ワイルドカード設定グループ名を設定する

ワイルドカードは、特殊文字を使用して複数のステートメントに適用できるパターンを作成する設定グループ名です。ワイルドカードは、1つの設定オプションセットを多くの異なる設定グループにコピーする場合に便利です。ワイルドカード設定オプションが適切な設定グループにコピーされるようにするには、ワイルドカード名を適切に設定する必要があります。

この例では、label-switched-pathステートメントの下の<*-major>ワイルドカードグループと<*-minor>ワイルドカードグループに異なる値を設定します。アスタリスク(*)文字は、任意の文字列に一致するワイルドカード名のセクションを表します。例えば、label-switched-path <*-major>の設定オプションは、label-switched-path metro-majorおよび名前に-majorを含む他のlabel-switched-path設定グループに渡されます。

例:デフォルトグループからプリセットステートメントを参照します

以下の例は、ステートフルファイアウォールのFTPで使用できるdefaultsグループのプリセットステートメントです。

defaultsグループからプリセットのデフォルトステートメントを参照するには、該当する階層レベルにjunos-default-nameステートメントを含めます。例えば、ステートフルファイアウォールでFTPのデフォルトステートメントを参照するには、[edit services stateful-firewall rule my-rule term my-term from applications]階層レベルでjunos-ftpステートメントを含めます。

例:設定に適用されたデフォルトステートメントを表示する

デバイス設定に適用されているデフォルトを表示するには、 show | display inheritance defaults コマンドを発行します。この例では、継承されたデフォルトを [edit system ports] 階層レベルで表示します。

既存のデフォルトステートメントを使用しない場合は、独自の設定グループを手動で作成できます。

##でマークされたコメントを省略して完全な設定情報を表示するには、display inheritanceコマンドでno-commentsオプションを使用します。

条件を使用して設定グループを適用する方法

[edit groups group-name]階層レベルでwhenステートメントを使用して、設定グループを適用する条件を定義できます。

オプションの開始時刻または終了時刻または日付に基づいて、適用するグループを設定できます。

例えば、 when ステートメントを使用して、スケジュールされた開始時刻と終了時刻に基づいて、特定の時間帯にのみ適用される汎用設定グループを作成できます。