このページで
構成グループを使用してデバイスを迅速に構成する
設定グループを使用して、同じ設定内で再利用される共通の要素を設定して適用します。
設定グループの概要
このトピックでは、CLIの設定 グループと継承モデルの概要について説明します。Junos OS
設定グループの仕組み
設定グループを使用すると、設定ステートメントを含むグループを作成し、そのグループのステートメントを残りの設定に継承させることができます。同じグループを設定の異なるセクションに適用できます。1 つのグループの設定ステートメントの異なるセクションは、設定内の異なる場所に継承できます。
コンフィギュレーショングループを使用すると、より小規模で論理的に構築されたコンフィギュレーションファイルを作成できるため、ジュニパーネットワークスデバイスの設定やメンテナンスが容易になります。例えば、インターフェイスを設定する場合など、設定の多くの場所で繰り返されるステートメントをグループ化できます。ステートメントをグループ化することで、設定の更新をグループのみに制限できます。
設定グループでワイルドカードを使用することもできます。ワイルドカード式に一致するオブジェクトはすべて、グループ設定データを継承します。
設定グループのメカニズムは、BGP グループなど、設定の他の場所で使用されるグループ化メカニズムとは別のものです。コンフィギュレーション・グループは、コンフィギュレーション全体で使用できるが、CLIのみが知っている一般的なメカニズムを提供します。構成によって指示されたアクションを実行する個々のソフトウェアプロセスは、構成の拡張形式を受け取ります。構成グループに関する知識はありません。
継承モデル
構成グループは、構成データのソースとそのデータのターゲットの間に動的で継続的な関係がある真の継承を使用します。ターゲットは、設定グループで変更したデータ値を自動的に継承します。ターゲットには、継承された情報を含める必要はありません。ただし、継承された値は、継承元のソースに影響を与えることなく、ターゲットでオーバーライドできます。
この継承モデルでは、継承された詳細を表示せずに、インスタンス固有の情報のみを表示できます。コンフィギュレーション モードのコマンド パイプを使用すると、継承されたデータを表示できます。
設定グループの設定
設定のエリアで設定ステートメントを継承するには、まずステートメントを設定グループに入れる必要があります。次に、そのグループを、 ステートメントを必要とする設定階層のレベルに適用します。
設定ステートメントを継承する設定領域の場合:
-
ステートメントをコンフィギュレーション・グループにコンフィギュレーションします。設定グループと継承を設定するには、[edit]階層レベルで groups ステートメントを記述します。
[edit] groups {
group-name
{configuration-data
; } } -
ステップ 1 の設定グループを、 ステートメントを必要とする設定階層のレベルに適用します。
設定グループに含まれる設定ステートメントが必要な設定内の任意の場所に ステートメントを含めます。
apply-groups [ group-names ]
設定グループの作成
CLI では、 Junos OS 設定ステートメントを含む再利用可能なグループを作成できます。これらのグループは、同じ設定ステートメントが複数回繰り返される設定の異なるセクションに適用できます。
設定の異なるセクションにグループを適用すると、設定のその部分はグループで設定されたステートメントを継承します。構成グループは、構成データのソースとそのデータのターゲットの間に動的で継続的な関係が設定される継承のルールに従います。設定グループのデータ値を変更すると、継承されたターゲットに変更が自動的に反映されます。
必要に応じてターゲット構成の値を上書きできますが、グループ内のソースには影響しません。
この継承モデルでは、継承された詳細を表示せずに、インスタンス固有の情報のみを表示できます。コンフィギュレーション モードのコマンド パイプを使用すると、継承されたデータを表示できます。例えば、すべての インターフェースを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; } }
設定の異なる部分でインターフェイス のMTU値を設定する場合は、 オプションを使用して group ステートメントを適用できます。ge-0/0/1
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 ];
複数のグループ名を指定する場合は、継承する優先度順に名前を列挙する必要があります。最初のグループの設定データは、以降のグループのデータよりも優先されます。
複数のルーティング エンジンをサポートするデバイスでは、 および グループ名を指定できます。re0
re1
group で指定された設定は、現在のルーティング エンジンがスロット 0 にある場合にのみ適用されます。同様に、group で指定された設定は、現在のルーティング エンジンがスロット 1 にある場合にのみ適用されます。そのため、両方のルーティング エンジンで、それぞれに適用されるコンフィギュレーション ステートメントのみを使用して、同じコンフィギュレーション ファイルを使用することができます。re0
re1
各 または グループには、少なくともホスト名と管理インターフェイス()の設定が含まれています。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 連絡先)を設定グループに配置し、通常の設定階層から分離することで、複数の利点が得られます。
-
コマンドを使用すると 、もう一方のセクションのデータを破棄せずに、どちらかのセクションを置き換えることができます。
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
so-1/1/0
hold-time
link-mode
[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-
ステート メントに設定グループ名として含めることはできません。junos-defaults
apply-groups
グループから 利用可能なプリセットステートメントの完全なセットを表示するには、設定の最上位レベルで 設定モードコマンドを発行 します。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
グループのアプリケーション のリストを表示するには、 .junos-defaults
show configuration groups junos-defaults applications
で始まる アプリケーションは、デフォルトでジュニパーネットワークスによって設定されます。junos-
次の例は、Junos default グループのアプリケーションの一覧の一部を示しています。
user@host>show configuration groups junos-defaults applications
## protect: groups junos-defaults
##
#
# File Transfer Protocol
#
application junos-ftp {
application-protocol ftp;
protocol tcp;
destination-port 21;
}
#
# Trivial File Transfer Protocol
#
application junos-ftp-data {
application-protocol ftp-data;
protocol tcp;
destination-port 20;
}
application junos-tftp {
application-protocol tftp;
protocol udp;
destination-port 69;
}
#
# Two-Way Active Measurement Protocol
#
application junos-twamp {
application-protocol twamp;
protocol tcp;
destination-port 862;
}
#
# Real Time Streaming Protocol
#
application junos-rtsp {
application-protocol rtsp;
protocol tcp;
destination-port 554;
}
#
# Network Basic Input Output System - networking protocol used on
# Windows networks session service port
#
application junos-netbios-session {
protocol tcp;
destination-port 139;
}
application junos-smb-session {
protocol tcp;
destination-port 445;
}
application junos-ssh {
protocol tcp;
destination-port 22;
}
application junos-telnet {
protocol tcp;
destination-port 23;
}
例:設定グループでのワイルドカードの使用
ワイルドカードを使用して名前を識別し、1 つのステートメントでさまざまなステートメントのデータを提供できます。
通常の構成データでのワイルドカードの使用は、従来の UNIX シェル・ワイルドカードで使用されるスタイルと一致するスタイルで行われます。このスタイルでは、次のメタ文字を使用できます。
-
アスタリスク( )—任意の文字列に一致します。
*
-
疑問符( )—任意の1文字に一致します。
?
-
左角括弧 ( ) — 文字クラスを導入します。
[
-
閉じ括弧( )—文字クラスの末尾を示します。
]
閉じ括弧がない場合は、文字クラスを導入するのではなく、左括弧が左括弧 と一致します。[
-
文字クラスは、角括弧で囲まれた任意の文字に一致します。設定グループ内では、文字クラスを含むインターフェイス名を引用符で囲む必要があります。
-
ハイフン( )—文字の範囲を指定します。
-
-
感嘆符( )—感嘆符を文字クラスの最初の文字にすることで、文字クラスを補完できます。
!
文字クラスに閉じ括弧 () を含めるには、リストされている最初の文字にします (存在する場合は、 の後)。]
!
マイナス記号を含めるには、リストされている最初または最後の文字にします。
階層内で 識別子を使用する場合は、識別子名の先頭に 以外の名前を付け ます。groups
<
ただし、ワイルドカード ステートメントを定義する場合は、ワイルドカード ステートメントに 終了 が必要であるため、 を使用できます。<
>
設定グループでのワイルドカードの使用は、通常の設定でワイルドカードを使用する場合と同じルールに従います。ただし、 階層の下で使用されると特別な意味を持ちます。<
>
groups
階層では、ワイルドカード パターン <> を使用して任意の用語を山括弧で囲み、構成ファイル内の他のワイルドカードと区別する必要があります。groups
pattern
[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*>
- からの値は、 からの値を上書きします
p
<*c*>
<*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; } } }
設定グループ使用時のコミット時間を短縮する方法
コンフィギュレーション・グループを使用すると、コンフィギュレーション・データを再入力することなく、他の階層にコンフィギュレーションを適用できます。設定グループ内のすべての設定詳細を指定できます。また、設定グループでワイルドカードを使用して、各設定行を詳しく説明せずに、データの範囲を設定することもできます。設定グループを使用する別の方法は、適用する設定の長い文字列を含む継承パスを作成することです。
コンフィギュレーション グループを使用するコンフィギュレーションがコミットされると、コミット プロセスでは、グループのすべてのコンフィギュレーション データが拡張されてメモリに読み込まれ、意図したとおりに設定が適用されます。多くの設定グループが適用されている場合、特に設定グループがワイルドカードを多用している場合、コミットのパフォーマンスに悪影響を及ぼす可能性があります。
ワイルドカードを使用する多くの設定グループをシステムで使用する場合は、 階層レベルで ステートメントを設定して、コミット時間のパフォーマンスを向上させることができます。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 インターフェイスの設定データを という グループにまとめる例を示します。atm-options
[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
re0
10.17.40.133
fxp0
re1
[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 Matrix Plusルーターで構成されたルーティングマトリクスでは、この機能はスイッチファブリックシャーシ(SFC)にのみ適用されます。
-
プライベートインターフェイスとパブリックインターフェイスでアドレスが重複している2つのインターフェイスには、一意のIPアドレスを割り当てる必要があります。グレースフル ルーティング エンジン スイッチオーバー(GRES)が有効になっている場合、同一のアドレスが見つかると、CLI は適切なコミット エラー メッセージを表示します。このエラーは、 などの管理インターフェイスまたは内部インターフェイスと、 などの外部物理インターフェイスに同じIPアドレスを設定した場合に発生する可能性があります。
fxp0
ge-0/0/1
-
管理イーサネットインターフェイスは、TX Matrix Plusルーター、ルーティングマトリックス内のT1600ルーター、PTXシリーズパケットトランスポートルーターに使用されます。 デバイスの管理イーサネットインターフェイス、を自動作成します。
em0
Junos OSem0
例:設定グループを使用してピアエンティティを設定する
この例では、別の 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
label-switched-path
-major
[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に使用できるdefaultsグループのプリセットステートメントです。
[edit] groups { junos-defaults { applications { application junos-ftp {# Use FTP default configuration application-protocol ftp; protocol tcp; destination-port 21; } } }
defaultsグループから事前設定されたデフォルトステートメントを参照するには、該当する階層レベルにステート メントを含め ます。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
シャーシのタイプ、モデル、ルーティング エンジン、バーチャル シャーシ メンバー、クラスタ ノード、および開始時刻とオプションの終了時刻(オプション)。
1 つの設定グループに複数の条件を指定する場合、設定グループを適用する前にすべての条件を満たす必要があります。
設定グループを適用する開始時刻または期間を指定できます。開始時刻のみを指定した場合、構成グループは指定された時刻に適用され、時刻が変更されるまで有効です。終了時刻を指定すると、毎日、適用された設定グループが指定した時刻に開始および停止されます。
この例では、次の条件をすべて満たす場合にのみこのグループが適用されるように、 設定グループ に条件を設定します。test1
ルーターは、シャーシ タイプ LCC0 のモデル MX240 ルーターで、ルーティング エンジンは RE0 として動作しており、ノード 0 のバーチャル シャーシのメンバー 0 であり、設定グループは毎日午前 9:00 から午後 5:00 まで有効になります。
設定
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:00 から午後 5:00 の間のみグループを適用する条件を設定します。
[edit groups test1 when] user@host#
set time 9 to 5
注:時刻を指定する構文は次のとおりです。
time <start-time> [to <end-time>]
時刻形式 yyyy-mm-dd.hh:mm、hh:mm、または hh を使用します。設定をコミットします。
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