このページで
設定グループを使用したデバイスの迅速な設定
設定グループを使用して、同じ設定内で再利用される共通の要素を設定および適用します。
設定グループの概要
このトピックでは、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 ge-0/0/1
値 1500 ですべてのインターフェイスを設定することができます。
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 ];
複数のグループ名を指定した場合、継承優先度順に名前を一覧表示する必要があります。最初のグループの設定データは、後続のグループのデータよりも優先されます。
複数のルーティング エンジンをサポートするデバイスの場合、名前を指定 re0
して re1
グループ化できます。グループ 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 コンタクト)を設定グループに配置し、通常の設定階層から分離することで、複数のメリットが得られます。
-
コマンドを使用することで
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
ステートメントは、 および 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;
}
}
## 行を使用せずに展開された設定(継承されたステートメントを含む設定)を表示するには、 コマンドのパイプの後に コマンドをshow
使用except
します。
[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
階層では、ワイルドカード パターン <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; } } }
設定グループを使用する場合のコミット時間を改善する方法
設定グループを使用して、設定データを再入力せずに他の階層に設定を適用します。すべての設定詳細を設定グループで指定できます。また、設定グループでワイルドカードを使用して、各設定行を詳細に記述せずにデータ範囲を設定することもできます。設定グループを使用する別の方法は、適用される設定の長い文字列を含む継承パスを作成することです。
設定グループを使用する設定がコミットされると、コミットプロセスはグループのすべての設定データを拡張してメモリに読み込み、意図したとおりに設定を適用します。多くの設定グループが適用されている場合、特に設定グループがワイルドカードを広範囲に使用している場合、コミットパフォーマンスが悪影響を受ける可能性があります。
システムでワイルドカードを使用する多数の設定グループを使用している場合、 階層レベルで ステートメントを[edit system commit]
設定persist-groups-inheritance
して、コミット時間のパフォーマンスを向上させることができます。
このオプションを使用すると、システムはプロセス メモリではなく、データベース内の各構成グループの継承パスを構築できます。この変更により、コミット時間のパフォーマンスが向上します。ただし、データベースのサイズを大きくすることもできます。
例:設定グループを使用したステートメントのセットの設定
設定グループにステートメントのセットが存在する場合、すべての値が継承されます。次がその例です。
[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
は、 に、にre0
割りfxp0
当てられ、 10.17.40.133
に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 シリーズ パケット トランスポート ルーターに使用されます。 Junos OS は、em0
デバイスの管理イーサネット インターフェイスを自動的に作成します。
例:設定グループを使用してピアエンティティを設定する
この例では、別の 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 つの設定オプション セットを多数の異なる設定グループにコピーする場合に便利です。ワイルドカード設定オプションが適切な設定グループにコピーされるように、ワイルドカード名を適切に設定する必要があります。
この例では、 ステートメントの下で、 および <*-minor>
ワイルドカードグループに<*-major>
異なる値を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のデフォルトステートメントを参照するには、 階層レベルに ステートメントを[edit services stateful-firewall rule my-rule term my-term from applications]
含めますjunos-ftp
。
[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時から午後5時まで有効になります。
設定
CLI クイックコンフィギュレーション
この例を迅速に設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に合わせて必要な詳細を変更し、コマンドを 階層レベルの CLI [edit]
にコピー アンド ペーストします。
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