ON THIS PAGE
デバイスの設定の変更
Junos CLI を使用すると、既存の Junos OS 構成を変更できます。このセクションでは、明細書の追加、明細書の削除、明細書のコピー、新しい識別子 (例を含む) の挿入の詳細についても説明します。
現在 Junos OS の構成を編集しているユーザーを表示する
現在設定を編集しているユーザーを表示するstatusには、configuration mode コマンドを使用します。
システムには、設定の編集者 (rchen)、terminal p0ユーザーがログインした日時 ()、ユーザーがログイン2018-03-01 13:17:25 PSTした日付と時刻 ()、ユーザーが編集している階層のレベル ([edit interfaces]) が表示されます。
設定モードコマンドを発行し、そのユーザーが将来の設定を有効にするようスケジュールされている場合は、commit (root) をスケジュールした人、ユーザーがログインterminal d0している場所 ()、ユーザーがログインした日時2018-10-31 14:55:15 PST()、コミットが保留中であることを示します。 status(commit at).
設定モードコマンドをstatus実行し、ユーザーがエクスクルーシブモード設定で構成を編集している場合、システムは、設定の編集者root()、ログインterminal d0しているユーザー、ユーザー2018-11-01 13:05:11 PSTがログインした日付と時刻 ()、ユーザーが排他モード (exclusive [edit]configure) の設定を編集しているユーザーを表示します。
Junos OS 構成の変更
Junos OS を実行しているデバイスを構成したり、既存の Junos OS 構成を変更したりするには、構成にステートメントを追加します。各明細階層について、最上位のステートメントから開始してステートメントを続けて階層を作成します。 これにより、階層の段階的な移動が可能になります。
階層を変更するには、次の2つの構成モードコマンドを使用します。
edit—指定された階層レベルに移動します。その階層レベルが存在しない場合はedit 、コマンドによって作成されます。こちらの editコマンドの構文は次のとおりです。
edit <statement-path>set—構成ステートメントを作成し、識別子の値を設定します。コマンドをset発行した後、階層内で同じレベルに維持されます。このsetコマンドの構文は次のとおりです。
set <statement-path> statement <identifier>statement-pathは、構成ステートメントとステートメント自体の階層を示しています。明細書’の階層レベルにすでに移動している場合は、ステートメントパスを省略できます。statement構成文自体です。identifierステートメントのインスタンスを識別する文字列です。
このeditコマンドを使用して、識別子の値を変更することはできません。このsetコマンドを使用する必要があります。
Junos OS 構成ステートメントと識別子の追加
Junos OS を実行しているデバイスのすべてのプロパティは、構成にステートメントを含めることによって設定されます。文は、キーワード (固定テキスト) と、必要に応じて識別子で構成されています。識別子とは、インターフェイスやユーザー名の名前など、定義する識別名のことです。また、ユーザーと CLI がステートメントのコレクションを区別することを可能にします。
たとえば、次のリストは、設定モードのトップレベルで利用可能な文を示しています。
user@host# set ?
Possible completions: > accounting-options Accounting data configuration + apply-groups Groups from which to inherit configuration data > chassis Chassis configuration > class-of-service Class-of-service configuration > firewall Define a firewall configuration > forwarding-options Configure options to control packet sampling > groups Configuration groups > interfaces Interface configuration > policy-options Routing policy option configuration > protocols Routing protocol configuration > routing-instances Routing instance configuration > routing-options Protocol-independent routing option configuration > snmp Simple Network Management Protocol > system System parameters
ステートメント名の前 > に山かっこ () が付いていると、それがコンテナステートメントであり、その下のレベルで他のステートメントを定義できることを示します。ステートメント名の前に山かっこ > () がない場合、ステートメントはリーフステートメントになります。その下の階層レベルで他の明細書を定義することはできません。
文名の前にプラス記号 (+) を付けると、そのステートメントのセットを含むことができることを示します。 指定. セットを指定するには、値を角かっこで囲みます。たとえば、以下のように記述します。
ステートメントによっては、識別子を含めることができます。インターフェイス名などのいくつかの識別子では、正確な形式で識別子を指定する必要があります。たとえば、-0/0/0 のインターフェイス名は、スロット0、1番目の PIC 位置、物理インターフェイスカード (PIC) の最初のポートの、フレキシブル PIC コンセントレーター (FPC) 上にある SONET/SDH インターフェイスを意味します。
インターフェイスの説明的なテキストやポリシー、ファイアウォールの用語名などのその他の識別子では、特殊文字、スペース、タブなど、任意の名前を指定できます。
引用符 (二重引用符) 識別子と、スペースまたはタブ文字または以下の文字を含む任意の文字列を囲む必要があります。
1つの文を必要とするオプションを入力しないと、必要な情報のタイプを示すメッセージが表示されます。この例では、コマンドを完了するには、エリア番号を入力する必要があります。
Junos OS 構成から文を削除する
Junos OS の構成からステートメントまたは識別子を削除するにはdelete 、configuration mode コマンドを使用します。ステートメントまたは識別子を削除すると、そのステートメントまたは識別子に関連付けられている機能が "未構成" になり、その機能がデフォルトの条件に戻ります。
明細書を削除すると、そのステートメントと、その従属ステートメントと識別子がすべて構成から削除されます。
1つの識別子を削除すると、その識別子だけが削除されるステートメントには、複数の識別子があります。ステートメント内の他の識別子はそのまま残ります。
現在の階層レベルから開始して階層全体を削除するには、 deleteコマンドでステートメントまたは識別子を指定しないでください。ステートメントまたは識別子を省略すると、削除するかどうかを確認するメッセージが表示されます。
[edit]
user@host# delete
Delete everything under this level? [yes, no] (no) Possible completions: no Don't delete everything under this level yes Delete everything under this level Delete everything under this level? [yes, no] (no)
単一deleteのコマンドを使用して、階層内の複数のステートメントまたは識別子を削除することはできません。複数deleteのコマンドを使用して各ステートメントまたは識別子を個別に削除する必要があります。たとえば、次のような[edit system]階層レベルの構成について考えてみましょう。
構成から、 domain-name、 host-name、およびbackup-routerを削除する場合、1つdeleteのコマンドを発行することはできません。たとえば、次のコマンドは機能しません。
user@host> delete system hostname host-211 domain-name domain-122 backup-router 192.168.71.254
代わりに、各ステートメントを個別に削除する必要があります。
user@host delete system host-name host-211
user@host delete system domain-name domain-122
user@host delete system backup-router 192.168.71.254
例:Junos OS 構成から文を削除する
以下の例では、 ospfステートメントを削除して、ルーター上の OSPF を事実上解除する方法を示します。
現在のレベル以下のすべてのステートメントを削除します。
特定のプロパティの構成を解除します。この場合は、インターフェイス速度の設定を削除します。
構成における Junos OS ステートメントのコピー
Junos 構成に類似したステートメントが多数ある場合は、1つのステートメントを追加してから、そのステートメントのコピーを作成できます。文をコピーする文と、その文の下で構成された文の階層全体を複製します。コピーステートメントは、同じタイプの複数の物理または論理インターフェイスを設定する場合に便利です。
構成内の既存のステートメントのコピーを作成するには、次のcopyように設定モードコマンドを使用します。
構成の一部をコピーした直後に、構成が有効になっていない可能性があります。新しい構成の有効性をチェックし、必要に応じて構成のコピーされた部分または元の部分のどちらかを有効にする必要があります。
例:Junos 構成でステートメントをコピーする
この例では、既存の VC をコピーすることで、インターフェイス上で1つのバーチャル接続 (VC) を作成する方法を示します。
要件
この例を設定する前に、デバイス初期化以外に特別な設定を行う必要はありません。
この例を開始する前に、次の初期構成を構成します。
この例の初期構成を迅速に構成するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に一致するために必要な詳細情報を変更し、 [edit]このコマンドを階層レベルでcommit CLI にコピー & ペーストしてから、設定モードから入力します。
概要
コピーステートメントは、同じタイプの複数の物理または論理インターフェイスを設定する場合に便利です。1つの明細書を追加してから、そのステートメントのコピーを作成できます。文をコピーする文と、その文の下で構成された文の階層全体を複製します。この例では、すでに構成されている仮想接続と非常によく似た仮想接続を追加しています。
構成
CLI 簡単構成
[edit interfaces at-1/0/0]階層レベルから開始します。
構成 (コピーによる)
ステップごとの手順
構成をコピーして構成するには、次のようにします。
- [edit interfaces at-1/0/0]階層レベルに移動し、ユニット61をコピーします。[edit interfaces at-1/0/0]user@host# copy unit 61 to unit 62
- 新しい構成を確認し、設定を有効にするために変更が必要なことを確認します。.user@host# show interfaces at-1/0/0description "PAIX to MAE West"encapsulation atm-pvc;unit 61 {point-to-point;vci 0.61;family inet {address 10.0.1.1/24;}}unit 62 {point-to-point;vci 0.61;family inet {address 10.0.1.1/24;}}
- 有効になるように構成を変更してください。
この例では、仮想回線識別子 (VCI) および仮想パス識別子 (VPI) を再構成します。
[edit interfaces at-1/0/0]user@host# set unit 62 vci 0.62また、新しいインターフェイスの IP アドレスを独自の IP アドレスに置き換える必要もあります。
[edit interfaces at-1/0/0]user@host# edit unit 62user@host# replace pattern 10.0.1.1 with 10.0.2.1
結果
例:構成の再利用
デバイスの設定を変更する必要がある場合は、いつでもdeleteコマンドを使用して元の構成設定を削除し、 setコマンドを使用して新しい設定を追加することができます。ただし、より効率的で使いやすい構成を変更する方法は他にもあります。
この例では、次の構成モードコマンドを使用して、既存の構成を更新する方法を示します。
rename—既存の構成設定 (インターフェイス名など) の名前を変更します。これは、デバイスに新しいインターフェイスを追加する場合に便利です。
copy—構成設定とその設定で構成されたステートメントの階層全体をコピーします。構成文のコピーは、同じタイプの多くの物理/論理インタフェースを設定する場合に便利です。
replace—構成のテキストパターンに対するグローバルな変更を行います。たとえば、デバイス上のすべてのインターフェイスの description ステートメントに共通のスペルミスがある場合は、1つのコマンドでこの誤りを修正することができます。
要件
この例を設定する前に、デバイス初期化以外に特別な設定を行う必要はありません。
概要
このトピックの最初の例では、以下の設定変更を行います。
入力エラーが含まれている説明で新しいインターフェイスを作成します。
作成したインターフェイスから構成をコピーして、新しいインターフェイスを作成します。
作成した1つのインターフェイスの名前を変更します。
作成したインターフェイスの説明にある入力エラーを修正します。
2つ目の短い例では、少し異なる環境で、同じコマンドのいくつかを試してみることができます。
構成
CLI 簡単構成
この例では、このセクションに適したコマンドは使用していません。
Copy、Rename、Replace の各コマンドを使用してループバックインターフェイスの設定を変更します。
ステップごとの手順
既存の構成で、この例で使用されているループバックインターフェイスユニット番号を使用している場合は、未使用のループバックインターフェイスユニット番号を別のものに置き換える必要があります。そうでない場合は、以下の手順を実行することで、デバイスの既存の動作ステータスが損なわれる可能性があります。
、、、およびcopyrenamereplaceの各コマンドを使用して、ループバックインターフェイスの設定を作成および変更するには、次の操作を行います。
- 新しいループバックインターフェイスユニット番号を作成し、説明を記載します。
説明のループバックのスペルミスは、意図的に誤りです。
[edit]user@host# set interfaces lo0 unit 100 description "this is a lopbck interface" - 直前に追加したループバックインターフェイスの設定を表示します。 [edit]user@host# show interfaces lo0 unit 100description "this is a lopbck interface";
- ユニット100からユニット101に、直前に作成したループバックインターフェイスを複製します。 [edit]user@host# copy interfaces lo0 unit 100 to unit 101
- ループバックインターフェイスの構成 (lo0 unit 100 および lo0 unit 101) を表示します。[edit]user@host# show interfaces lo0 unit 100description "this is a lopbck interface";[edit]user@host# show interfaces lo0 unit 101description "this is a lopbck interface";
このcopyコマンドは、などの子ステートメントを含むインターフェイスdescriptionを複製します。
- ループバックインターフェイス lo0 unit 100 の名前を loopback interface lo0 unit 102 に変更します。[edit]user@host# rename interfaces lo0 unit 100 to unit 102
- ループバックインターフェイス lo0 unit 100 の設定を表示します。[edit]user@host# show interfaces lo0 unit 100[edit]user@host#
このコマンドの結果は表示されません。ループバックインターフェイス lo0 unit 100 がなくなりました。このrenameコマンドは、新しい構成で指定された設定文に代わるものです。
- ループバックインターフェイス lo0 unit 101 および lo0 unit 102 の説明で、ワードループバックのスペルミスを修正します。[edit]user@host# replace pattern lopbck with loopback
- ループバックインターフェイスの設定を表示します。 lo0 unit 101 および lo0 102 は、ワードループバックが正しいスペルであることを確認してください。[edit]user@host# show interfaces lo0 unit 101description "this is a loopback interface";[edit]user@host# show interfaces lo0 unit 102description "this is a loopback interface";
コマンドreplaceは、何らかの方法で制限されない限り、コマンドで指定したパターンのすべてのインスタンスを置き換えます。このトピックの次の例は、 replaceコマンドの効果を制限する方法の1つを示しています。
- 設定モードから、 rollbackコマンドを使用してデバイス’の構成を前のステップを実行する前の状態に戻します。 [edit]user@host# rollback
結果
設定モードでは、 show interfaces lo0 unit 101show interfaces lo0 unit 102コマンドを使用して、デバイス’の設定が、この例のステップを実行する前の状態に戻っていることを確認します。
このコマンドの結果は表示されません。
このコマンドの結果は表示されません。
最上位レベルの構成階層レベルでの Copy コマンドの比較
ステップごとの手順
前述の例は、 copy階層renameレベルのreplace[edit interfaces interface-name unit logical-interface-number] 、、およびの各コマンドを示しています。この例では、これらのコマンドの一部が CLI 設定モード階層の最上位で機能する方法を示しています。
次の例では、構成階層のさまざまなレベルに移動する必要があります。CLI のナビゲートの詳細については、「 Using the CLI Editor in Configuration Mode」を参照してください。
- イーサネットインターフェイスを作成します。[edit]user@host# set interfaces et-2/0/0 unit 0 family inet address 192.0.2.2
- 別のインターフェイスに作成したインターフェイスをコピーします。[edit]user@host# copy interfaces et-2/0/0 to et-2/1/0
このコマンドcopyを前述の例と比較して、このコマンドcopy は、コピーするunit値の前にキーワードを取ります。
[edit]user@host# copy interfaces lo0 unit 100 to unit 101キーワードinterfacesが preposition toよりも先に繰り返されることはなく、その値がコピーされる前であることに注意してください。これは、 copyこのコマンドを使用したいくつかのトップレベルのステートメントで行われます。
ヒント 同様に、このrenameコマンドでは、いくつかのトップレベルステートメントで新しい識別子の前にステートメントのキーワード部分を繰り返すわけではありません。
- これまでの設定を示しています。[edit]user@host# show interfaceset-2/0/0 {unit 0 {family inet {address 192.0.2.2/32;}}}et-2/1/0 {unit 0 {family inet {address 192.0.2.2/32;}}}
- Et-2/1/0 のアドレスを別の IP アドレスに交換します。[edit interfaces et-2/1/0 unit 0 family inet]user@host# replace pattern 192.0.2.2 with 192.0.2.40
すべてではなく、特定のパターンのみを変更する場合は、 replaceコマンドを使用する前に、その特定の階層レベルに移動する必要があることに注意してください。
- インターフェイスをもう一度表示します。[edit]user@host# show interfaceset-2/0/0 {unit 0 {family inet {address 192.0.2.2/32;}}}et-2/1/0 {unit 0 {family inet {address 192.0.2.40/32;}}}
- 設定モードから、 rollbackコマンドを使用してデバイス’の構成を前のステップを実行する前の状態に戻します。 [edit]user@host# rollback
結果
設定モードでは、 show interfaces et-2/0/0show interfaces et-2/1/0コマンドを使用して、デバイス’の設定が、この例のステップを実行する前の状態に戻っていることを確認します。
このコマンドの結果は表示されません。
このコマンドの結果は表示されません。
Junos OS 構成での新しい識別子の挿入
Junos OS を実行しているデバイスを設定する場合、ほとんどのステートメントと識別子を任意の順序で入力できます。設定文を入力した順序に関係なく、CLI では常に設定が徹底した順序で表示されます。ただし、文の順序が重要なのは、設定文が順番に分析されるシーケンスを作成するからです。
たとえば、ルーティングポリシーまたはファイアウォールフィルターで、順番に分析される用語を定義します。また、動的な MPLS で名前付きパスを作成する場合は、パス内の通過ルーターの順序付きリストを定義します。これは、最初の通過ルーターから始まり最後に終わるもので終わります。
明細書順序が重要となる構成の一部を変更するには、 insert configuration mode コマンドを使用します。
このinsertコマンドを使用せずに、単に識別子を構成するだけでは、類似する識別子のリストの最後に追加されます。
例:Junos 構成での新しい識別子の挿入
この例では、このinsertコマンドの使用方法を示しています。
このsetコマンドを使用して追加された用語を既存の用語リストの末尾に配置する場合insertは、このコマンドを使用して、指定した順序で用語を追加します。文の順序を指定することは、構成文が順番に分析されるシーケンスを作成することから、文の順序が重要であることに注意してください。
この例が示すように、 insertコマンドを使用して配置する前に、その用語を作成する必要があります (またはそのことがすでに存在する必要があります)。また、term を配置するための参照点も存在しなければなりません。たとえば、T2 の前に T1 という用語を置く場合、T1 と T2 の両方が既に存在している必要があります (Junos は、空の条件を自動的に削除します)。
要件
用語を挿入する前に、初期ポリシーを設定する必要があります。この例の初期ポリシーを迅速に設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に一致する必要がある詳細情報を変更し、コマンド[edit policy-options]を階層レベルで CLI にcommitコピー & ペーストしてから、設定モードから入力します。
ここで、階層が正しく構成されていることを確認します。
概要
Junos OS を実行しているデバイスを設定する場合、ほとんどのステートメントと識別子を任意の順序で入力できます。ただし、ルーティングポリシーやファイアウォールフィルターなどがある場合は、構成ステートメントが順番に分析されるシーケンスを作成するため、文の順序が重要になることがあります。
明細書順序が重要となる構成の一部を変更するには、 insert設定モードコマンドを使用する必要があります。代わりにsetコマンドを使用すると、追加されたステートメントまたは識別子が順番に間違った位置に表示されるようになります。コマンドの条件を正しい順序で取得する唯一の方法は、設定を分解して最初からやり直すことです。
構成
CLI 簡単構成
この例を簡単に構成するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク構成に一致する必要がある詳細情報をすべて変更します。 [policy-オプション] 階層でコマンドを CLI にコピーして貼り付けます。レベルを選択し、[設定モードからコミットする] と入力します。
用語を挿入するための設定
ステップごとの手順
- お客様の構成の条件をどのような順序で進める必要があるかを決定します。これは、元の用語と、追加する予定の新しい条件の両方についてです。
元の構成では、ポリシーにはstatics名前が付けられており、4つの条件があります。最初の3つの条件はそれぞれ異なる一致条件に一致し、その結果は拒否されます。最後の用語は、残りのトラフィックすべてを受け入れます。
この例では、他のタイプのトラフィックを排除する2つの用語を追加する必要があります。この2つの条件は、元の構成の最後の用語よりも先に行う必要があります。
- 元の term4 の名前を term6 に変更します。[edit]user@host# rename policy-options policy-statement statics term term4 to term term6
このステップでは、term6 に名前が変更された最後の用語が保持されます。
- 新しい term4 を作成します。[edit]user@host# set policy-options policy-statement statics term term4 from protocol localuser@host# set policy-options policy-statement statics term term4 then reject
ローカルシステムアドレスからのトラフィックに一致させる新しい条件を追加し、それを拒否します。
- 新しい term5 を作成します。[edit]user@host# set policy-options policy-statement statics term term5 from protocol aggregateuser@host# set policy-options policy-statement statics term term5 then reject
集約ルートからのトラフィックに一致する新しい用語を追加し、それを拒否します。
- Term3 の後に term4 を挿入します。[edit]user@host# insert policy-options policy-statement statics term term4 after term term3
- Term4 の後に term5 を挿入します。[edit]user@host# insert policy-options policy-statement statics term term5 after term term4
結果
Junos OS 構成で識別子の名前を変更する
Junos の構成を変更する場合、すでに構成に含まれている識別子の名前を変更することができます。そのためには、識別子を削除delete (コマンドを使用) してから、名前を変更した識別子set ( edit and コマンドを使用) を追加するか、またrenameは configuration mode コマンドを使用して識別子の名前を変更します。
Junos OS 構成でのステートメントおよび識別子の非アクティブ化と再アクティブ化
Junos OS の構成では、 commitコマンドを発行しても有効にならないように、ステートメントと識別子を非アクティブ化できます。非アクティブ化された文と識別子inactiveは、タグでマークが付いています。これらは設定に残りますが、コマンドをcommit発行してもアクティブ化されません。
ステートメントまたは識別子を非アクティブ化するdeactivateには、次のように設定モードコマンドを使用します。
ステートメントまたは識別子を再アクティブ化するactivateには、次のように設定モードコマンドを使用します。
どちらのコマンドでもstatement 、 identifier現在の階層レベルに指定する必要があります。ステートメントを非アクティブ化すると、その特定のステートメントは無視され、コマンドをcommit発行しても一切適用されません。
文を無効にするにはdisable 、次のように設定モードコマンドを使用します。
構成階層の一部では、以下のものを含めることができます。disableステートメントを使用して、機能を無効にします。1つの例として、 disable[edit interface interface-name]階層レベルにステートメントを含めることで、インターフェイスを無効にすることが挙げられます。機能を無効にすると、コマンドをcommit発行したときにアクティブになりますが、停止しているか、管理上無効になっているものとして扱われます。
例:Junos OS 構成でのステートメントおよび識別子の非アクティブ化と再アクティブ化
この例は、 deactivate and activate設定モードコマンドが使用される一般的なユースケースを示しています。これには、マスターとバックアップのデュアルルーティングエンジンが含まれています。これには、グレースフルルーティングエンジンスイッチオーバー (GRES) が設定されています。両方のルーティングエンジンのソフトウェアをアップグレードする必要があります。このことは、GRES を非アクティブ化し、ルーティングエンジンを更新してから、GRES を再アクティブ化すれば、簡単に達成できます。
また、NSR (無停止のアクティブルーティング) が GRES ではなく構成されている場合を除き、同じ設定を使用して同様のアップグレードを実行することもできます。Nsr を再有効化する前に、NSR を非アクティブ化してからルーティングエンジンをアップグレードする必要があります。
要件
この例では、アップグレード可能なデュアルルーティングエンジンを備えたデバイスを使用する必要があります。
この例を始める前に、GRES が設定されていることを確認してください。
概要
この例では、2つのルーティングエンジンがあります。GRES が設定されており、ルーティングエンジンをアップグレードする必要があります。アップグレードを実行するには、GRES 機能を非アクティブ化し、各ルーティングエンジンをアップグレードしてから、GRES を再びアクティブ化する必要があります。
構成
GRES の非アクティブ化と再アクティブ化の構成
ステップごとの手順
GRES を非アクティブ化して再アクティブ化するにはルーティングエンジンアップグレードします。
- ルーターに対して GRES が有効になっていることを示します。
[edit]
user@host# show chassis
redundancy { graceful-switchover; } fpc 2 { pic 0 { tunnel-services { bandwidth 1g; } } }
- GRES を無効にします。[edit]user@host# deactivate chassis redundancy graceful-switchoveruser@host# commit
- GRES が非アクティブになっていることを示します。
[edit]
user@host# show chassis
redundancy { inactive: graceful-switchover; } fpc 2 { pic 0 { tunnel-services { bandwidth 1g; } } }
- ルーティングエンジンを1つずつアップグレードします。
デュアルルーティングエンジンで Junos OS をアップグレードする方法については、冗長化されInstalling the Software Package on a Device with Redundant Routing Enginesを参照してください。
- GRES を再アクティブ化します。[edit]user@host# activate chassis redundancy graceful-switchoveruser@host# commit
結果
GRES 機能が再アクティブ化されていることを確認します。
[edit]
user@host# show chassis
redundancy { graceful-switchover; } fpc 2 { pic 0 { tunnel-services { bandwidth 1g; } } }
Junos OS 構成でのグローバルな置換の使用
replace Configuration mode コマンドを使用して、Junos OS 構成の変数と識別子にグローバルな変更を加えることができます。このコマンドは、構成のパターンを別のパターンに置き換えます。たとえば、このコマンドを使用して、PIC がルーターの別のスロットに移動したときに、すべてのインターフェイス名を検索して置換することができます。
pattern pattern1は、構成内で置換する識別子と値を定義するテキスト文字列または正規表現です。
pattern2は、にpattern1ある識別子と値を置き換えるテキスト文字列または正規表現です。
ジュニパーネットワークスは、標準の UNIX スタイル正規表現構文を使用します (POSIX 1003.2 で定義されています)。正規表現にスペース、演算子、またはワイルドカード文字が含まれている場合、式を引用符で囲みます。最長一致の修飾子 (可能な限り対応) がサポートされています。遅延修飾子はできるだけ少なくしてください。
このupto nオプションは、置き換えられるオブジェクトの数を指定します。制御のn価値は、構成内で置き換えられるオブジェクト (パターンが発生する合計回数ではなく) の総数を示します。同じ階層レベル (兄弟) のオブジェクトが最初に置き換えられます。特定のオブジェクト内で複数のパターンが出現する場合は、1回の置換であると見なされます。たとえば、構成に010101 テキスト文字列が含まれている場合、 replace pattern 01 with pattern 02 upto 2コマンド010101は020202 ( 020201) に置き換えられます。010101 With 020202の置換は、1つの置換n ( 1=) ではなく、3nつ3の置換 (=) ではないと見なされます。
uptoオプションを指定しない場合は、一致pattern1した構成のすべての識別子と値が置き換えられます。
このreplaceコマンドは、任意の階層レベルで設定モードで使用できます。すべての対戦で大文字小文字が区別されます。
Replace コマンドで使用する一般的な正規表現
表 1: Replace コマンドで使用する一般的な正規表現
オペレーター | 機能 |
---|---|
| | パイプの両側の2つの条件のいずれかを満たすことができることを示します。 |
^ | 式の先頭に使用され、一致が開始する位置を示します。 |
$ | 式の末尾に使用され、 $文字のポイントと完全に一致する必要があるという条件を示しています。 |
[ ] | 一致する文字または数字の範囲を指定します。範囲の開始と終了を区切るには、ハイフン ( - ) を使用します。 |
( ) | 一致する用語のグループを指定します。番号付き変数として格納されます。後方参照に使用\1 \2 .... \9します。 |
* | 0またはそれ以上の条件。 |
+ | 1つ以上の用語 |
. | スペース以外の任意の文字 ("")。 |
\ | バックスラッシュは特殊文字をエスケープして特殊な意味を抑制します。たとえば、\.( .ピリオドシンボル) を検索します。 |
\n | バックリファレンスと一致し wireless-n番目のグループです。 |
& | バックリファレンスはすべての対戦に一致します。 |
次の表に、置換の例を示します。
表 2: 置換の例
コマンド | 生じる |
---|---|
replace pattern myrouter with router1 | 照会 myrouter 結果: router1 |
replace pattern "192\.168\.(.*)/24" with "10.2.\1/28" | 照会 192.168.3.4/24 結果: 10.2.3.4/28 |
replace pattern "1.\1" with "abc&def" | 照会 1.1 結果: abc1.1def |
replace pattern 1.1 with " abc\&def" | 照会 1#1 結果: abc&def |
例:\N バックリファレンスを使用した—、Junos OS 構成でのグローバルな置き換えの使用
この例では、前方参照を使用してパターンを置き換える方法を示します。
要件
この例を設定する前に、デバイスの初期化以外に特別な設定を行う必要はありません。
開始する前に、以下のことを設定します。
この初期構成を迅速に構成するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク構成に一致する必要がある詳細を変更してから、コマンドを[edit]階層レベルで CLI にコピー & ペーストします。
概要
正規表現の最も有用な機能の1つとして、前方参照があります。前方参照は、文字列内の繰り返し出現する文字または部分文字列を識別するための便利な方法を提供します。パターンが見つかったら、それを二度と記述せずに繰り返すことができます。以前に収集したパターンを参照し\#ます ( #ここでは、パターンを一致させる回数を示す数字を示しています)。
前方参照を使用して、データを取り消したり、検索したり、その他の方法で置き換えることができます。このようにして、単一の replace コマンドで大量のデータセットを再フォーマットすることで、手動でパターンを検索して置き換えるために必要な時間を節約できます。
構成
コマンドでの前方参照を使用した置換の構成
ステップごとの手順
前方参照を使用して Junos OS 構成のパターンを置き換えるには、次のようにします。
- replaceコマンドを使用します。[edit]user@host# replace pattern pattern1 with pattern2
この例では、と置換:1bf5したい1bf5と考えています。
[edit]user@host# replace pattern "(.*):1bf5" with "\11bf5"後方参照 (\ 1) があることに注意してください。この場合、このパターンを検索して置換するのは1回だけにする必要があることを示します。
結果
その結果の構成は以下のとおりです。
この例では、パターン2000::c0a8::1bf5が1回2000::c0a8:1bf5で置き換えられます。
例:Junos OS 構成—でのグローバルな置換を使用して、インターフェイス名を置き換えます。
この例では、 replaceコマンドを使用して、インターフェイス名を構成でグローバルに置き換える方法を示します。
このreplaceコマンドを使用すると、構成を変更するための速度と効率が向上します。たとえば、PIC はルーター内の別のスロットに移動して、インターフェイス名が変わります。1つのコマンドで、構成全体を更新できます。または、同様のインターフェイスなど、他の類似の構成で設定をすばやく拡張することもできます。
copyとreplaceコマンドを組み合わせて使用することで、設定を追加し、新しくコピーされた構成の特定の部分を置き換えることができます。このreplaceコマンドは正規表現で機能します。正規表現は、迅速かつ柔軟に、そしてユビキタスに普及しています。検索する必要があるすべてのパターンを考慮し、ほとんどのプログラミング言語で正規表現をサポートすることができます。
要件
この例を設定する前に、デバイス初期化以外に特別な設定を行う必要はありません。
開始する前に、ルーターに以下の階層を設定します。この階層を迅速に構成する CLI 簡単構成方法については、を参照してください。
概要
この例では、 replaceコマンドを使用して、インターフェイス名を構成でグローバルに置き換える方法を示します。これはシンプルな例です。
以前の構成が、この設定の更新の開始点です。この例では、1つのコマンドで構成全体を通して、初期インターフェイスの名前を変更します。
構成
CLI 簡単構成
この例の初期構成を迅速に構成するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク構成に一致するために必要な詳細情報を変更して、 [edit]これらのコマンドを階層レベルcommitで CLI にコピー & ペーストしてから設定モードを開始します。
set interfaces so-0/0/0 dce set protocols ospf area 0.0.0.0 interface so-0/0/0.0 hello-interval 5
インターフェイス名の変更を構成する
ステップごとの手順
インターフェイス名を変更するには、次のようにします。
- 設定モード階層の最上位にいることを確認します。user@host# top
- キーワードをso-0/0/0使用するso-1/1/0コマンドを使用して置き換えreplaceます。 patternuser@host# replace pattern so-0/0/0 with so-1/1/0
結果
必要な変更を行った後、 show interfacesおよびshow protocols設定モードコマンドを使用して構成を確認します。
構成が正しいことを確認した後、 commitコマンドを入力します。
例:最大のオプションを使用した—Junos OS 構成におけるグローバルな置き換えの使用
で図 1示されている階層について考えてみましょう。テキスト文字列010101は、次の3つの場所に表示されます。「」、「」、「 fe-0/0/1」を説明しています。 ge-0/0/0.0ge-0/0/0 この3つのインスタンスは3つのオブジェクトです。次の例は、JUNOS 構成で置換uptoを実行するためのオプションの使用方法を示しています。

コマンドのオプションupto 2によって、 replace 2 つのオブジェクトインスタンスに変換01されます。 02 メインインターフェイスge-0/0/0の下にあるオブジェクトfe-0/0/1が最初に置き換えられます (これは階層レベルの兄弟であるためです)。このupto 2制限により、階層replace (兄弟) の最初と2つ目のインスタンスのパターンが置換されますが、3つ目のインスタンス (最初のインスタンスの子) は置き換えられるわけではありません。
正規表現を使用して Junos OS の構成から関連アイテムを削除する
CLI (Junos OS コマンドラインインターフェイス) では、1つのコマンドと正規表現を使用して、チャネライズドインターフェイスや静的ルートなど、関連する構成項目を同時に削除することができます。ステートメントまたは識別子を削除する“と、”そのステートメントまたは識別子に関連付けられている機能が効果的に設定されず、その機能がデフォルトの条件に戻されるようになります。
通常、インターフェイスなど複数の項目を挿入する場合にのみ、構成の一部を削除できます。ただし、さまざまな項目の「グループ」を削除することはできません。例えば:
明細書を削除すると、そのステートメントと、その従属ステートメントと識別子がすべて構成から削除されます。
関連する構成項目を削除するにwildcardは、 deleteオプションを使用して設定モードコマンドを発行し、ステートメントパス、正規表現を使用して要約する項目、正規表現を指定します。
このコマンドを使用wildcardして関連する構成項目を削除する場合は、正規表現を最終ステートメントにする必要があります。
Junos OS が8個以上の関連項目を検索すると、CLI は最初の8項目のみを表示します。
構成からのインターフェイスの削除
t1-0/0/0:0次の範囲t1-0/0/0:23の複数の T1 インターフェイスを削除します。
構成からルートを削除する
次の範囲の静的ルート172.0.0.0 を172.255.0.0削除:
Junos OS 構成でのコメントの追加
Junos 構成にコメントを含めて、構成内のステートメントを説明することができます。注釈を CLI で対話的に追加したり、ASCII 設定ファイルを編集したりすることができます。
インターフェイスを設定するdescription場合は、 [edit interfaces interface-name]階層レベルにステートメントを含めることで、インターフェイスに関するコメントを追加できます。コメントは、 show interfacesコマンドの出力に表示されます。明細書のdescription詳細については、 Junos OS Network Interfaces Library for Routing Devicesを参照してください。
CLI へのコメントの追加
設定モードでコメントを追加すると、現在のレベルのステートメントに関連付けられます。各文には、1行のコメントを関連付けることができます。コメントをステートメントに関連付けるには、その前にステートメントが存在している必要があります。コメントはステートメントの前の行に配置されます。
構成にコメントを追加するには、 annotate次のように設定モードコマンドを使用します。
statementコメントの添付先となる構成文です。現在の階層レベルである必要があります。指定statementしたコメントがすでに存在している場合は、削除して新しいコメントに置き換えます。
comment-string コメントのテキストです。コメントテキストは任意の長さにすることができ、1行に入力する必要があります。コメントにスペースが含まれている場合は、引用符で囲む必要があります。コメント文字列には、コメントデリミター /* */ または#を含めることができます。何も指定しない場合、コメントのデリミターとして/* */ comment 文字列が囲まれます。
既存のコメントを削除するには、空のコメント文字列を指定します。
annotateコマンドとともにコメントを追加した場合は、[設定モードの表示] コマンドまたは [ show configurationオペレーションモード] コマンドを入力することで、設定内のコメントを表示できます。
Junos OS では、oneliners 含む、構成階層の最終レベルまでの注釈をサポートしています。ただし、oneliner の部品の注釈 (oneliner 内の子ステートメントまたは識別子) はサポートされていません。たとえば、次のような構成階層では、 level 1親階層までに注釈がサポートされていますがmetric 、子ステートメントではサポートしていません。
ファイルへのコメントの追加
ASCII 設定ファイルを編集してコメントを追加するときは、1つ以上の行を指定して、関連付けられたステートメントの前に記述することができます。このコメントをファイル内の他の場所に配置する場合は、たとえば、ステートメントの後に同じ行やステートメントの後に行を記述するなど、そのloadコマンドを使用して設定を CLI に開くと削除されます。
設定例からの以下の抜粋は、設定ファイルにコメントを配置する方法を示しています。
構成ファイルに直接コメントを記載する場合は、以下の方法でコメントを書式設定できます。
コメントを a /* で開始し、a */として終了します。コメントテキストは、1つの行に入力することも、複数の行にわたって使用することもできます。
コメントをで開始#し、改行 (キャリッジリターン) で終了します。
例:CLI を使用した Junos OS 構成へのコメントの組み込み
Junos OS の構成にコメントを追加すると、設定ファイルが読みやすくなり、ユーザーにとっても理解しやすいようになります。Junos OS CLI を使用して、 annotate文を使用して設定したコメントを含めることができます。この例では、すでに既存の構成のために CLI を使用してコメントを追加しています。
要件
この例を設定する前に、デバイス初期化以外に特別な設定を行う必要はありません。
コメントを追加する前に、ルーターに次の階層を設定する必要があります。
この例の初期構成を迅速に構成するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に一致するために必要な詳細情報を変更し、 [edit]このコマンドを階層レベルでcommit CLI にコピー & ペーストしてから、設定モードから入力します。
次に、この階層が設定されていることを確認します。
概要
CLI を使用して注釈を追加する場合は、 annotate文を使用して設定モードで実行する必要があります。追加する各コメントは、現在のレベルのステートメントに関連付けられています。各文には、1行のコメントを関連付けることができます。
annotateステートメントを設定するには、コメントを関連付けるステートメントのレベルに移動します。コメントを表示するには、構成階層の最上位に移動し、 showこのコマンドを使用します。
構成
CLI 簡単構成
この例のコメントを簡単に設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク構成に一致する必要がある詳細情報をすべて変更し、CLI にコマンド[edit]をコピー & ペーストしてcommitから、設定モードから開始します。
階層のさまざまなセクションに注釈を付けると、コマンドが階層の下を移動していることに注意してください。
CLI 設定モードでのコメントの挿入
ステップごとの手順
この手順では、初期構成がすでに設定されていることを前提としています。
構成にコメントを追加するには、次のようにします。
- コメントを追加する必要がある最初の階層レベルに移動します。[edit]user@host# edit protocols ospf
- 文を使用してarea 、設定文にコメントを追加します。 annotate[edit protocols ospf]user@host# annotate area 0.0.0.0 "Backbone area configuration added June 15, 1998"
- 1つ下のレベルをinterface設定文に移動します。 [edit protocols ospf]user@host# edit area 0.0.0.0
- ステートメントを使用してso-0/0/0.0 、インターフェイスにコメントを追加します。 annotate[edit protocols ospf area 0.0.0.0]user@host# annotate interface so-0/0/0.0 "Interface from router sj1 to router sj2"
結果
階層の最上位に移動し、このshowコマンドを使用して、追加したコメントを表示します。コメントは、関連付けられているステートメントの前に配置されます。
構成が正しいことを確認した後、 commitコマンドを入力します。