このページで
設定グループを使用してデバイスを迅速に設定する
設定グループを使用して、同じ設定内で再利用される共通要素を設定および適用します。
構成グループの概要
このトピックでは、CLI の設定グループと継承モデルの概要について Junos OS 説明します。
- 構成グループの仕組み
- 継承モデル
- 設定グループの設定This is really a task topic. From here to the end, you introduce how to do something. It's not a description of how something happens but a short procedure guiding a user to configure configuration groups. I recommend breaking this out into a separate task topic and linking to it from the concept topic.
構成グループの仕組み
設定グループを使用すると、設定ステートメントを含むグループを作成し、そのグループのステートメントの継承を設定の残りの部分に指示できます。同じグループを設定のさまざまなセクションに適用できます。1 つのグループの設定ステートメントのさまざまなセクションは、設定のさまざまな場所で継承できます。
構成グループを使用すると、より小規模で論理的に構築された構成ファイルを作成でき、ジュニパーネットワークスのデバイスの構成と保守が容易になります。たとえば、インターフェイスの設定時など、設定内の多くの場所で繰り返されるステートメントをグループ化できます。ステートメントをグループ化することで、設定の更新をグループだけに制限できます。
設定グループでワイルドカードを使用することもできます。ワイルドカード式と一致するオブジェクトは、グループ設定データを継承します。
設定グループ メカニズムは、BGP グループなど、設定の他の場所で使用されるグループ化メカニズムとは別のものです。設定グループは、設定全体で使用できる一般的なメカニズムを提供しますが、CLI でのみ認識されます。設定によって指示されたアクションを実行する個々のソフトウェア プロセスは、拡張された形式の設定を受け取ります。構成グループに関する知識がありません。
継承モデル
設定グループは真の継承を使用します。これには、設定データのソースとそのデータのターゲットとの間に動的かつ継続的な関係が関係します。ターゲットは、設定グループで変更したデータ値を自動的に継承します。ターゲットは、継承された情報を含める必要はありません。ただし、継承された値は、継承元のソースに影響を与えることなく、ターゲットでオーバーライドできます。
この継承モデルでは、継承された詳細を確認せずにインスタンス固有の情報のみを表示できます。設定モードでコマンド パイプを使用すると、継承されたデータを表示できます。
設定グループの設定
設定の領域で設定ステートメントを継承するには、まずステートメントを設定グループに配置する必要があります。そのグループを、ステートメントを必要とする構成階層のレベルに適用します。
設定ステートメントを継承する設定領域の場合:
-
ステートメントを設定グループに設定します。設定グループと継承を設定するには、[edit] 階層レベルにグループステートメントを含めることができます。
[edit] groups {
group-name
{configuration-data
; } } -
ステップ 1 の設定グループを、ステートメントを必要とする設定階層のレベルに適用します。
設定グループに
apply-groups [ group-names ]
含まれる設定ステートメントが必要な設定内の任意の場所にステートメントを含めます。
構成グループの作成
Junos OS CLI を使用すると、設定ステートメントを含む再利用可能なグループを作成できます。これらのグループは、同じ設定ステートメントが複数回繰り返される設定のさまざまなセクションに適用できます。
設定の異なるセクションにグループを適用すると、設定のその部分はグループで設定されたステートメントを継承します。構成グループは、構成データのソースとそのデータのターゲットとの間に動的で継続的な関係が設定される継承のルールに従います。設定グループのデータ値を変更すると、継承されたターゲットに変更が自動的に反映されます。
必要に応じて、ターゲット設定の値を上書きできますが、グループ内のソースには影響しません。
この継承モデルでは、継承された詳細を確認せずにインスタンス固有の情報のみを表示できます。設定モードでコマンド パイプを使用すると、継承されたデータを表示できます。たとえば、MTU 値 1500 ですべての ge-0/0/1
インターフェイスを設定できます。
MTU 値 1500 ですべての ge-0/0/1
インターフェイスを設定するには、次の手順にしたがってください。
-
MTU 値 1500 を持つグループを作成します。
[edit groups group-1] lab@vSRX3-05# show interfaces { ge-0/0/1 { unit 0 { family inet { mtu 1500; } } } }
-
次に、インターフェイス設定にグループを適用します。
[edit interfaces ge-0/0/1] lab@vSRX3-05# set apply-groups group-1
-
継承された設定を表示します。
[edit] lab@vSRX3-05# show interfaces ge-0/0/1 | display inheritance unit 0 { family inet { ## ## '1500' was inherited from group 'group-1' ## mtu 1500; address 5.0.0.254/24; } }
設定のさまざまな部分でインターフェイス ge-0/0/1
の MTU 値を設定する場合は、オプションを使用してグループ ステートメントを apply-groups
適用できます。これを手動で行い、後で MTU を増やす場合は、すべてのインターフェイスを手動で変更する必要があります。設定グループを使用する場合は、グループ設定を変更して、関連付けられているすべてのインターフェイスを自動的に更新できます。
設定グループでワイルドカードを使用して、ワイルドカード式に一致するオブジェクトによって設定データを継承することもできます。例えば、
[edit groups group-1] lab@vSRX3-05# show interfaces { ge-* { unit 0 { family inet { mtu 1500; } } } }
構成グループを適用する方法
ジュニパーネットワークスデバイスの設定で設定グループからステートメントを継承する場合は、そのステートメントを apply-groups
設定に含めます。
apply-groups [ group-names ];
複数のグループ名を指定する場合は、継承優先度順に名前を一覧表示する必要があります。最初のグループの設定データは、後続のグループのデータよりも優先されます。
複数のルーティング エンジンをサポートするデバイスでは、名前とグループ名をre1
指定re0
できます。グループ re0
で指定された設定は、現在のルーティング エンジンがスロット0にある場合にのみ適用されます。同様に、グループ re1
で指定された設定は、現在のルーティング エンジンがスロット 1 にある場合にのみ適用されます。そのため、両方のルーティング エンジンは同じ設定ファイルを使用でき、それぞれに適用される設定ステートメントのみを使用します。各 re0
グループ re1
には、最低でもホスト名と管理インターフェイス(fxp0
)の設定が含まれています。各ルーティング エンジンが異なる管理インターフェイスを使用する場合、グループにはバックアップ ルーターと静的ルートの設定も含める必要があります。
設定階層の特定レベルごとにステートメントを 1 つだけ apply-groups
含めることができます。特定の階層レベルのステートメントは apply-groups
、含むステートメントの設定グループのリストに追加する設定グループを一覧表示します。
特定の階層レベルで指定された値は、設定グループから継承された値を上書きします。
入れ子になったステートメントにリストされているグループは apply-groups
、外部ステートメント内のグループよりも優先されます。次の例では、BGP ネイバー 10.0.0.1
はグループ one
から最初に設定データを継承します。次に、グループとグループtwo
three
から設定データを継承します。グループ one
内の設定データは、他のグループのデータを上書きします。グループ ten
からのデータは、ステートメントが他のグループに含まれていない場合にのみ使用されます。
apply-groups [ eight nine ten ]; protocols { apply-groups seven; bgp { apply-groups [ five six ]; group some-bgp-group { apply-groups four; neighbor 10.0.0.1 { apply-groups [ one two three ]; } } } }
ルート レベルはデフォルトの論理システムです。ルート レベルに対して定義されたグループを設定すると、そのグループを階層レベルのデフォルト以外の論理システムに正常に [edit logical-systems logical-system-name]
適用できません。グループを適用すると、デバイスはコミットを受け入れますが、デフォルト以外の論理システムでは設定グループは有効ではありません。代わりに、ルート レベルで追加の構成グループを作成し、それを論理システムに適用できます。または、元のグループを変更して、デフォルトの論理システム階層レベルとデフォルト以外の論理システム階層レベルの両方の設定を含めることもできます。
例:設定グループの作成と適用
この例では、設定グループの作成とアプリケーションを示しています。この例では、SNMP 設定はグループ basic
と通常の設定階層の間で分割されています。
システム固有の設定(SNMP contact)を設定グループに配置し、通常の設定階層から分離することで、複数のメリットが得られます。
-
コマンドを使用して
load replace
、他のセクションからデータを破棄することなく、どちらのセクションも置き換えることができます。 -
グループ データはデバイス固有のデータによって非表示になるため、特定のボックスの連絡先を設定できます。
[edit] groups { basic { # User-defined group name snmp { # This group contains some SNMP data contact "My Engineering Group"; community BasicAccess { authorization read-only; } } } } apply-groups basic; # Enable inheritance from group "basic" snmp { # Some normal (non-group) configuration location "West of Nowhere"; }
この設定は、次の構成に相当します。
[edit] snmp { location "West of Nowhere"; contact "My Engineering Group"; community BasicAccess { authorization read-only; } }
例:設定グループの継承を無効にする
階層の最上位レベルを除く任意のレベルで、設定グループの継承を無効にできます。継承を無効にするには、次のステートメントを apply-groups-except
設定に含めます。
apply-groups-except [ group-names ];
このステートメントは、特定の階層レベルでステートメントを apply-group
使用する一方で、特定のパラメーターの構成グループから継承された値をオーバーライドする場合にも役立ちます。
例:インターフェイス so-1/1/0 で継承を無効にする
次の例では、 apply-groups
ステートメントはインターフェイス レベルでグローバルに適用されます。ステートメントはapply-groups-except
、and link-mode
ステートメントのデフォルト値hold-time
を使用するように、インターフェースso-1/1/0
でも適用されます。
[edit] groups { # "groups" is a top-level statement global { # User-defined group name interfaces { <*> { hold-time down 640; link-mode full-duplex; } } } } apply-groups global; interfaces { so-1/1/0 { apply-groups-except global; # Disables inheritance from group "global" # so-1/1/0 uses default value for “hold-time” # and "link-mode" } }
デバイスは設定グループから設定データを継承できるため、設定グループによって使用される実際の値に関して混乱が生じる可能性があります。デバイスで使用される実際の値を表示するには、コマンドの display inheritance
パイプ(|)の後にコマンドを show
使用します。このコマンドは、継承されたステートメントとその継承元のグループのレベルで、継承されたステートメントを表示します。
[edit]
user@host# show | display inheritance
snmp {
location "West of Nowhere";
##
## 'My Engineering Group' was inherited from group 'basic'
##
contact "My Engineering Group";
##
## 'BasicAccess' was inherited from group 'basic'
##
community BasicAccess {
##
## 'read-only' was inherited from group 'basic'
##
authorization read-only;
}
}
## 行を使用せずに展開設定(継承ステートメントを含む設定)を表示するには、コマンドのパイプの except
後にコマンドを show
使用します。
[edit]
user@host# show | display inheritance | except ##
snmp {
location "West of Nowhere";
contact "My Engineering Group";
community BasicAccess {
authorization read-only;
}
}
このオプションを display inheritance | except ##
使用すると、すべての行 ##
が削除されます。そのため、パスワードやその他の重要なデータの使用場所 ##
に関する情報を表示できない場合があります。すべての情報を含む完全な設定の詳細を表示するには(コメントのマーク##
を付けずに)、コマンドでオプションをno-comments
display inheritance
使用します。
[edit]
user@host# show | display inheritance no-comments
snmp {
location "West of Nowhere";
contact "My Engineering Group";
community BasicAccess {
authorization read-only;
}
}
例:設定グループの junos-defaults
使用
Junos OS は、デバイスの設定に自動的に適用される、 junos-defaults
非表示で変更できない設定グループを提供します。この junos-defaults
グループには、一般的なアプリケーションの事前定義された値を含む、事前に構成されたステートメントが含まれています。一部のステートメントは、アプリケーションの定義 (FTP 設定や telnet 設定など) を有効にするために参照する必要があります。その他のステートメントは、端末設定など、自動的に適用されます。
設定グループに含まれる多くの識別子は junos-defaults
、名前 junos-
で始まります。名前 junos-
で始まる識別子はジュニパーネットワークスが使用するために予約されているため、この名前を使用して設定オブジェクトを定義することはできません。
ステートメントにapply-groups
設定グループ名として含めることはできませんjunos-defaults
。
グループから使用可能なプリセット ステートメントの全セットを junos-defaults
表示するには、設定の show groups junos-defaults
最上位レベルで設定モード コマンドを発行します。次の例では、Junos デフォルト グループの一部のリストを表示します。
user@host# show groups junos-defaults
# Make vt100 the default for the console port
system {
ports {
console type vt100;
}
}
applications {
# File Transfer Protocol
application junos-ftp {
application-protocol ftp;
protocol tcp;
destination-port 21;
}
# Trivial File Transfer Protocol
application junos-tftp {
application-protocol tftp;
protocol udp;
destination-port 69;
}
# RPC port mapper on TCP
application junos-rpc-portmap-tcp {
application-protocol rpc-portmap;
protocol tcp;
destination-port 111;
}
# RPC port mapper on UDP
}
グループから使用可能なステートメントを junos-defaults
参照するには、選択した junos-
default-name
ステートメントを該当する階層レベルに含めます。
例:設定グループでワイルドカードを使用
ワイルドカードを使用して名前を識別し、1 つのステートメントでさまざまなステートメントのデータを提供できます。
通常の設定データでワイルドカードを使用することは、従来の UNIX シェル ワイルドカードと一致するスタイルで行われます。このスタイルでは、次のメタ文字を使用できます。
-
アスタリスク (
*
)— 任意の文字列を照合します。 -
疑問符 (
?
)— 任意の 1 文字に一致します。 -
角括弧 (
[
)— 文字クラスを導入します。 -
角括弧 (
]
)— 文字クラスの末尾を示します。閉ブラケットが欠落している場合、開いているブラケットは、文字クラスを導入するのではなく、開いているブラケット[
と一致します。 -
文字クラスは、角括弧の間の任意の文字と一致します。設定グループ内では、文字クラスを含むインターフェイス名を引用符で囲む必要があります。
-
ハイフン (
-
)— 文字の範囲を指定します。 -
感嘆符 (
!
)— 感嘆符を文字クラスの最初の文字にすることで、文字クラスを補うことができます。文字クラスに閉角括弧(]
)を含める場合は、その後にリストされている最初の文字にします(該当する!
場合)。マイナス記号を含める場合は、先頭または最後の文字を指定します。
階層内で識別子を使用する groups
場合は、 以外 <
の値で識別子名を開始します。ただし、ワイルドカード ステートメントを定義する場合は、ワイルドカード ステートメントに閉じる>
必要があるため、使用<
できます。
設定グループでワイルドカードを使用する場合は、通常の設定で使用するのと同じルールに従います。ただし、 <
>
階層で使用する場合は特別な意味があります groups
。groups
階層では、設定ファイル内の他のワイルドカードと区別するには>ワイルドカード パターン<パターンを使用して角括弧で囲む必要があります。
[edit] groups { sonet-default { interfaces { <so-*> { sonet-options { payload-scrambler; rfc-2615; } } } } }
ワイルドカード式は、式に一致する設定内の既存のステートメントと一致(および設定データを提供)します。前の例では、式 <so-*>
は式に一致する任意のインターフェイスにそのステートメントを渡 sonet-options
します so-*
。
次の例では、インターフェイスの範囲を指定する方法を示しています。
[edit] groups { gigabit-ethernet-interfaces { interfaces { "<ge-1/2/[5-8]>" { description "These interfaces reserved for Customer ABC"; } } } }
角括弧を使用すると、通常のワイルドカードを変更せずに渡すことができます。ワイルドカードの有無にかかわらず、設定内の照合では、一致する設定で最初に検出された項目が使用されます。次の例では、ワイルドカード BGP グループのデータは、グループがリストされている順序で継承されます。
- のプリファレンス値が
<*a*>
、 の<*b*>
プリファレンスを上書きします。 - from
<*c*>
の値はp
、<*d*>
これらのグループのデータ値は、以下のデータ値 abcd
をオーバーライドします。
[edit] user@host#show
groups { one { protocols { bgp { group <*a*> { preference 1; } group <*b*> { preference 2; } group <*c*> { out-delay 3; } group <*d*> { out-delay 4; } group abcd { preference 10; hold-time 10; out-delay 10; } } } } } protocols { bgp { group abcd { apply-groups one; } } } [edit] user@host#show | display inheritance
protocols { bgp { group abcd { ## ## ’1’ was inherited from group ’one’ ## preference 1; ## ## ’10’ was inherited from group ’one’ ## hold-time 10; ## ## ’3’ was inherited from group ’one’ ## out-delay 3; } } }
設定グループを使用する場合のコミット時間を改善する方法
設定データを再入力することなく、他の階層に設定を適用するには、設定グループを使用します。設定グループ内のすべての設定詳細を指定できます。設定グループでワイルドカードを使用して、各設定行の詳細を示すことなく、データ範囲を設定することもできます。構成グループを使用するもう 1 つの方法は、適用する長い構成文字列を含む継承パスを作成することです。
設定グループを使用する設定がコミットされると、コミット プロセスは展開され、グループのすべての設定データをメモリに読み込み、意図したとおりに設定を適用します。多くの設定グループが適用されている場合、特に設定グループがワイルドカードを広範囲に使用している場合は、コミット パフォーマンスに悪影響を及ぼす可能性があります。
システムでワイルドカードを使用する多数の設定グループを使用している場合は、ステートメントを persist-groups-inheritance
階層レベルで [edit system commit]
設定して、コミット時間のパフォーマンスを向上させることができます。
このオプションを使用すると、システムはプロセス メモリではなく、データベース内の各構成グループの継承パスを構築できます。この変更により、コミット時間のパフォーマンスが向上する可能性があります。ただし、データベースサイズを大きくすることもできます。
例:設定グループを使用したステートメントのセットの設定
ステートメントのセットが構成グループに存在する場合、すべての値が継承されます。例えば、
[edit] user@host#show
groups { basic { snmp { interface so-1/1/1.0; } } } apply-groups basic; snmp { interface so-0/0/0.0; } [edit] user@host#show | display inheritance
snmp { ## ## ’so-1/1/1.0’ was inherited from group ’basic’ ## interface [ so-0/0/0.0 so-1/1/1.0 ]; }
ブラケット内に表示されないセットの場合、すべての値も継承されます。例えば、
[edit] user@host#show
groups { worldwide { system { name-server { 10.0.0.100; 10.0.0.200; } } } } apply-groups worldwide; system { name-server { 10.0.0.1; 10.0.0.2; } } [edit] user@host#show | display inheritance
system { name-server { ## ## ’10.0.0.100’ was inherited from group ’worldwide’ ## 10.0.0.100; ## ## ’10.0.0.200’ was inherited from group ’worldwide’ ## 10.0.0.200; 10.0.0.1; 10.0.0.2; } }
例:設定グループを使用したインターフェイスの設定
設定グループを使用して、共通インターフェイス メディア パラメータをインターフェイス固有のアドレッシング情報から分離できます。次の例では、 という名前 atm-options
のグループに ATM インターフェイスの設定データを配置します。
[edit] user@host#show
groups { atm-options { interfaces { <at-*> { atm-options { vpi 0 maximum-vcs 1024; } unit <*> { encapsulation atm-snap; point-to-point; family iso; } } } } } apply-groups atm-options; interfaces { at-0/0/0 { unit 100 { vci 0.100; family inet { address 10.0.0.100/30; } } unit 200 { vci 0.200; family inet { address 10.0.0.200/30; } } } } [edit] user@host#show | display inheritance
interfaces { at-0/0/0 { ## ## "atm-options" was inherited from group "atm-options" ## atm-options { ## ## "1024" was inherited from group "atm-options" ## vpi 0 maximum-vcs 1024; } unit 100 { ## ## "atm-snap" was inherited from group "atm-options" ## encapsulation atm-snap; ## ## "point-to-point" was inherited from group "atm-options" ## point-to-point; vci 0.100; family inet { address 10.0.0.100/30; } ## ## "iso" was inherited from group "atm-options" ## family iso; } unit 200 { ## ## "atm-snap" was inherited from group "atm-options" ## encapsulation atm-snap; ## ## "point-to-point" was inherited from group "atm-options" ## point-to-point; vci 0.200; family inet { address 10.0.0.200/30; } ## ## "iso" was inherited from group "atm-options" ## family iso; } } } [edit] user@host#show | display inheritance | except ##
interfaces { at-0/0/0 { atm-options { vpi 0 maximum-vcs 1024; } unit 100 { encapsulation atm-snap; point-to-point; vci 0.100; family inet { address 10.0.0.100/30; } family iso; } unit 200 { encapsulation atm-snap; point-to-point; vci 0.200; family inet { address 10.0.0.200/30; } family iso; } } }
関連項目
例:設定グループを使用して管理インターフェイスの一貫した IP アドレスを設定する
複数のルーティング エンジンを搭載したデバイスでは、各ルーティング エンジンは管理インターフェイス用に個別の IP アドレスで設定されます。プライマリ ルーティング エンジンにアクセスするには、アクティブなルーティング エンジンを把握し、適切な IP アドレスを使用する必要があります。
プライマリ ルーティング エンジンへの一貫したアクセスのためのもう 1 つのオプションは、追加の IP アドレスを設定することです。次に、どのルーティング エンジンがアクティブかに関係なく、管理インターフェイスにこのアドレスを使用します。この追加の IP アドレスは、プライマリ ルーティング エンジンの管理インターフェイスでのみアクティブになります。スイッチオーバー中、アドレスは新しいプライマリ ルーティング エンジンに移動します。
この例では、ルーティング エンジンの両方のアドレス 10.17.40.131
を設定し、ステートメントを master-only
含めます。この設定では、 10.17.40.131
アドレスはプライマリ ルーティング エンジンでのみアクティブになります。どのルーティング エンジンがアクティブであっても、アドレスは一貫しています。アドレス10.17.40.132
はオンにfxp0
割り当てられ、 10.17.40.133
にre0
re1
割り当てられますfxp0
。
[edit groups re0 interfaces fxp0] unit 0 { family inet { address 10.17.40.131/25 { master-only; } address 10.17.40.132/25; } } [edit groups re1 interfaces fxp0] unit 0 { family inet { address 10.17.40.131/25 { master-only; } address 10.17.40.133/25; } }
この機能は、デュアル ルーティング エンジンを含むすべてのルーターで使用できます。TX マトリクス ルーターで構成されるルーティング マトリクスでは、この機能はスイッチカード シャーシ(SCC)にのみ適用されます。同様に、TX マトリクス プラス ルーターで構成されるルーティング マトリクスでは、この機能はスイッチファブリック シャーシ(SFC)にのみ適用されます。
-
プライベート インターフェイスとパブリック インターフェイスで重複するアドレスを持つ 2 つのインターフェイスに固有の IP アドレスを割り当てる必要があります。GRES(グレースフル ルーティング エンジン スイッチオーバー)が有効になっている場合、同じアドレスが見つかると、CLI は適切なコミット エラー メッセージを表示します。このエラーは、管理インターフェイスや内部インターフェイスなどに同じ IP アドレスを設定し、次のような
fxp0
外部物理インターフェイスge-0/0/1
を設定した場合に発生する可能性があります。 -
管理イーサネット インターフェイスは
em0
、TX マトリクス プラス ルーター、ルーティング マトリクスの T1600 ルーター、PTX シリーズ パケット トランスポート ルーターに使用され、デバイスの管理イーサネット インターフェイスがem0
自動的に作成されます。 Junos OS
例:ピア エンティティの設定に設定グループを使用する
この例では、別の ISP に関連する設定データを含むグループ some-isp
を作成します。次に、 apply-group
さまざまなポイントにステートメントを挿入して、構成階層内のこれらの場所がこのデータを継承できるようにします。
[edit] user@host#show
groups { some-isp { interfaces { <xe-*> { gigether-options { flow-control; } } } protocols { bgp { group <*> { neighbor <*> { remove-private; } } } pim { interface <*> { version 1; } } } } } interfaces { xe-0/0/0 { apply-groups some-isp; unit 0 { family inet { address 10.0.0.1/24; } } } } protocols { bgp { group main { neighbor 10.254.0.1 { apply-groups some-isp; } } } pim { interface xe-0/0/0.0 { apply-groups some-isp; } } } [edit] user@host#show | display inheritance
interfaces { xe-0/0/0 { ## ## "gigether-options" was inherited from group "some-isp" ## gigether-options { ## ## "flow-control" was inherited from group "some-isp" ## flow-control; } unit 0 { family inet { address 10.0.0.1/24; } } } } protocols { bgp { group main { neighbor 10.254.0.1 { ## ## "remove-private" was inherited from group "some-isp" ## remove-private; } } } pim { interface xe-0/0/0.0 { ## ## "1" was inherited from group "some-isp" ## version 1; } } }
例:設定グループを使用して地域の設定を確立する
この例では、あるグループに全社標準の設定データを追加し、別のグループにはこの標準からの地域偏差が含まれています。
[edit] user@host#show
groups { standard { interfaces { <t3-*> { t3-options { compatibility-mode larscom subrate 10; idle-cycle-flag ones; } } } } northwest { interfaces { <t3-*> { t3-options { long-buildout; compatibility-mode kentrox; } } } } } apply-groups standard; interfaces { t3-0/0/0 { apply-groups northwest; } } [edit] user@host#show | display inheritance
interfaces { t3-0/0/0 { ## ## "t3-options" was inherited from group "northwest" ## t3-options { ## ## "long-buildout" was inherited from group "northwest" ## long-buildout; ## ## "kentrox" was inherited from group "northwest" ## compatibility-mode kentrox; ## ## "ones" was inherited from group "standard" ## idle-cycle-flag ones; } } }
例:ワイルドカード設定グループ名の設定
ワイルドカードは、特殊文字を使用して複数のステートメントに適用できるパターンを作成する設定グループ名です。ワイルドカードは、1 つの設定オプション セットをさまざまな設定グループにコピーする場合に便利です。ワイルドカード設定オプションが適切な設定グループにコピーされるように、ワイルドカード名を適切に設定する必要があります。
この例では、ステートメントの下で、ワイルドカード グループに対して<*-major>
<*-minor>
さまざまな値をlabel-switched-path
設定します。アスタリスク(*
)文字は、任意の文字列に一致するワイルドカード名のセクションを表します。たとえば、下label-switched-path <*-major>
の設定オプションは、その名前をlabel-switched-path metro-major
含む-major
他label-switched-path
の設定グループに渡されます。
[edit] user@host#show
groups { mpls-conf { protocols { mpls { label-switched-path <*-major> { retry-timer 5; bandwidth 155m; optimize-timer 60; } label-switched-path <*-minor> { retry-timer 15; bandwidth 64k; optimize-timer 120; } } } } } apply-groups mpls-conf; protocols { mpls { label-switched-path metro-major { to 10.0.0.10; } label-switched-path remote-minor { to 10.0.0.20; } } } [edit] user@host#show | display inheritance
protocols { mpls { label-switched-path metro-major { to 10.0.0.10; ## ## "5" was inherited from group "mpls-conf" ## retry-timer 5; ## "155m" was inherited from group "mpls-conf" ## bandwidth 155m; ## ## "60" was inherited from group "mpls-conf" ## optimize-timer 60; } label-switched-path remote-minor { to 10.0.0.20; ## ## "15" was inherited from group "mpls-conf" ## retry-timer 15; ## ## "64k" was inherited from group "mpls-conf" ## bandwidth 64k; ## ## "120" was inherited from group "mpls-conf" ## optimize-timer 120; } } }
例:デフォルト グループからプリセット ステートメントを参照します。
次の例は、ステートフル ファイアウォールの FTP で使用できるデフォルト グループのプリセット ステートメントです。
[edit] groups { junos-defaults { applications { application junos-ftp {# Use FTP default configuration application-protocol ftp; protocol tcp; destination-port 21; } } }
デフォルト グループからプリセットのデフォルト ステートメントを参照するには、該当する階層レベルで junos-default-name
ステートメントを含めます。たとえば、ステートフル ファイアウォールで FTP のデフォルト ステートメントを参照するには、階層レベルで junos-ftp
ステートメントを [edit services stateful-firewall rule my-rule term my-term from applications]
含めます。
[edit] services { stateful-firewall { rule my-rule { term my-term { from { applications junos-ftp; #Reference predefined statement, junos-ftp } } } } }
例:設定に適用されたデフォルト ステートメントを表示する
デバイス設定に適用されたデフォルトを表示するには、コマンドを show | display inheritance defaults
発行します。この例では、継承されたデフォルトを階層レベルで [edit system ports]
表示します。
user@host# show system ports | display inheritance defaults
## ## 'console' was inherited from group 'junos-defaults'
## 'vt100' was inherited from group 'junos-defaults'
## console type vt100;
既存のデフォルト ステートメントを使用しないことを選択した場合は、独自の設定グループを手動で作成できます。
マークが付##
いたコメントを省略して完全な設定情報を表示するには、コマンドでオプションをno-comments
display inheritance
使用します。
ルーティング エンジン設定グループの設定
2 つのルーティング エンジンを備えたデバイスでは、両方のルーティング エンジンが 1 つの設定を共有する必要があります。この設定により、両方のルーティング エンジン設定が同一になります。この設定内で、ルーティング エンジンごとに 1 つずつ、2 つのルーティング エンジン グループを作成します。これらのグループでは、ルーティング エンジン固有のパラメータを指定します。
冗長ルーティング エンジン システムおよび re0 グループの初期設定の詳細については、「 Junos OS 高可用性ユーザー ガイド」を参照してください。
ルーティング エンジン設定グループを設定するには、次の手順に従います。
条件を使用して構成グループを適用する方法
階層レベルでステートメントを when
使用して、 [edit groups group-name]
設定グループを適用する条件を定義できます。
グループを設定して、シャーシ、モデル、ルーティング エンジンのタイプ、 バーチャル シャーシ メンバー、クラスタ ノード、開始日、およびオプションの終了時刻に基づいて適用できます。
たとえば、ステートメントを when
使用して、ノードのタイプごとに汎用構成グループを作成し、シャーシやモデルなどの特定のノード プロパティに基づいて設定を適用できます。
例:設定グループの適用条件の設定
この例では、指定した設定グループを適用する条件を設定する方法を示しています。
要件
この例を設定する前に、デバイス初期化以外の特別な設定は不要です。
概要
グループ設定データは、階層レベルで [edit groups group-name]
設定できます。次に、ステートメントを when
使用して、次のような条件に基づいてグループ設定を適用できます。シャーシのタイプ、モデル、ルーティングエンジン、バーチャルシャーシメンバー、クラスタノード、および開始日およびオプションの終了時刻または日付。
単一の設定グループで複数の条件を指定する場合、設定グループが適用される前にすべての条件を満たす必要があります。
設定グループを適用する開始時間または時間を指定できます。開始時間のみを指定した場合、設定グループは指定した時刻に適用され、時間が変更されるまで有効なままです。終了時刻が指定されている場合は、毎日、適用された構成グループが開始され、指定した時刻に停止します。
この例では、 test1
次のすべての条件が満たされた場合にのみこのグループが適用される構成グループの条件を設定します。ルーターはモデル MX240 ルーターで、シャーシ タイプ LCC0 はルーティング エンジンを RE0 として動作させ、node0 のバーチャル シャーシのメンバー 0 であり、設定グループは毎日午前 9 時から午後 5 時まで有効になります。
設定
CLI クイック設定
この例を迅速に設定するには、次のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致するために必要な詳細情報を変更してから、コマンドを階層レベルで [edit]
CLI にコピーアンドペーストします。
set groups test1 when model mx240
set groups test1 when chassis lcc0
set groups test1 when routing-engine re0
set groups test1 when member member0
set groups test1 when node node0
set groups test1 when time 9 to 5
手順
手順
設定グループ test1
の条件を設定するには、以下の手順に従います。
モデル MX240 ルーターを識別する条件を設定します。
[edit groups test1 when] user@host#
set model mx240
シャーシ タイプを LCC0 として識別する条件を設定します。
[edit groups test1 when] user@host#
set chassis lcc0
として動作
RE0
するルーティング エンジンを識別する条件を設定します。[edit groups test1 when] user@host#
set routing-engine re0
バーチャル シャーシを識別する条件を設定します
member0
。[edit groups test1 when] user@host#
set member member0
クラスターを識別する条件を設定します
node0
。[edit groups test1 when] user@host#
set node node0
グループを適用する条件は、毎日午前 9 時から午後 5 時までの間にのみ設定します。
[edit groups test1 when] user@host#
set time 9 to 5
注:時刻を指定するための構文は次のとおりです。
time <start-time> [to <end-time>]
時刻形式を使用してyyyy-mm-dd.sd.sd.mm:mm、sd:mm、またはsdnsを使用します。設定をコミットします。
user@host#
commit
結果
設定モードで、コマンドを入力して設定を show groups test1
確認します。出力に意図した設定が表示されない場合は、この例の手順を繰り返して設定を修正します。
user@host# show groups test1
when {
time 9 to 5;
chassis lcc0;
model mx240;
routing-engine re0;
member member0;
node node0;
}
検証
条件付きデータによるグループ継承の確認
目的
構成グループの条件付きデータが適用されたときに継承されていることを検証します。
対処
条件付き継承を show | display inheritance
表示するデータを when
使用して、運用コマンドを発行します。この例を使用すると、次のいずれかのコマンドを発行して、条件付きデータが継承されたかどうかを判断できます。
user@host>show | display inheritance when model mx240
user@host>show | display inheritance when chassis lcc0
user@host>show | display inheritance when routing-engine re0
user@host>show | display inheritance when member member0
user@host>show | display inheritance when node node0
user@host>show | display inheritance when time 9 to 5