Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

デバイスの設定の変更

CLIにより、既存の Junos OS Evolved の設定を変更することができます。このセクションでは、ステートメントの追加、ステートメントの削除、ステートメントのコピー、新しい識別子の挿入の詳細について、例を挙げながら説明します。

現在のコンフィグレーションを編集しているユーザーを表示する

現在コンフィグレーションを編集しているユーザを表示するには、 status コンフィグレーション モード コマンドを使用します。

システムは、誰が設定を編集しているか(rchen)、ユーザーがどこにログインしているか(terminal p0)、ユーザーがログインした日時(2018-03-01 13:17:25 PST)、ユーザーがどの階層を編集しているか([edit interfaces])などを表示します。

status 設定モード コマンドを発行し、ユーザーが将来の時刻にアクティブになる候補設定をスケジュールしている場合、システムはコミットをスケジュールしたユーザー(root)、ユーザーがログインしている場所(terminal d0)、ユーザーがログインした日付と時刻(2018-10-31 14:55:15 PST)、およびコミットが を保留していることを表示します(commit at).

status 設定モード コマンドを発行したとき、ユーザがコンフィギュレーション排他モードでコンフィグレーションの編集を行っている場合、システムは、誰がコンフィギュレーションを編集しているか(root)、ユーザーがログインしている場所(terminal d0)、ユーザーがログインした日付と時間(2018-11-01 13:05:11 PST)、およびユーザーがコンフィギュレーション排他モード(exclusive [edit])でコンフィギュレーションを編集していることを表示します。

ジュニパーネットワークスの機器設定を変更する方法

ジュニパーネットワークスのデバイスを設定したり、既存の設定を変更したりするには、 edit コマンドと set コマンドを使用して、設定にステートメントを追加します。各ステートメント階層に対して、最上位レベルのステートメントで始まる階層を作成します。その後、徐々に下の階層に移動するステートメントで、階層を作り続けます。

階層を変更するには、2つの設定モードコマンドを使用します。目的に応じて適切なコマンドを選択してください。

  • edit- 指定された階層レベルに移動します。その階層レベルが存在しない場合は、 edit コマンドで作成されます。 edit コマンドの構文は次のとおりです。

  • set- 設定ステートメントを作成し、識別子の値を設定します。 set コマンドを発行した後は、階層内の同じレベルに留まります。 set コマンドの構文は次のとおりです。

    設定ステートメントへの階層とステートメント自体は statement-pathです。すでにステートメントの階層レベルに移動している場合は、ステートメントパスを省略することができます。設定ステートメント自体は statement です。identifier 文字列は、ステートメントのインスタンスを識別します。

ステートメントには、コンテナーステートメントまたはリーフステートメントのいずれかが可能です。コンテナステートメントには、その内部に、追加のコンテナステートメントやリーフステートメントを含めることができます。しかし、リーフステートメントは単独で成立します。コマンド edit? ではコンテナステートメントを、 set? ではコンテナステートメントとリーフステートメントの両方を、 > を使用して区別して表示します。

手記:

edit コマンドを使用して、ID の値を変更することはできません。set コマンドを使用する必要があります。

コンフィギュレーション・ステートメントと識別子を追加する方法

ジュニパー・ネットワーク・デバイスのすべてのプロパティは、コンフィギュレーションにステートメントを含めるように設定します。ステートメントは、固定テキストであるキーワードで構成されています。ステートメント中に識別子を含めることもできます。識別子とは、インターフェイス名やユーザー名など、自分で定義した識別名で、これによって自分やCLIがステートメントの集合体を識別することができます。

例えば、次のリストは、コンフィギュレーション・モードのトップ・レベルで利用可能なステートメントを示しています:

ステートメント名の前にある山括弧(>)は、それがコンテナ・ステートメントであることを示すとともに、その下のレベルの他のステートメントを定義できることを示しています。ステートメント名の前に山括弧(>)がない場合、そのステートメントはリーフ・ステートメントであり、その下の階層レベルの他のステートメントを定義することはできません。

ステートメント名の前にあるプラス記号(+)は、ステートメントが一連の値を含むことができることを示します。セットを指定する場合は、値を括弧で囲んでください。例えば:

一部のステートメントでは、識別子を含めることができます。インターフェイス名など一部の識別子については、正確なフォーマットで指定する必要があります。例えば、インターフェース名so-0/0/0は、Flexible PIC Concentrator(FPC)上のスロット0、最初のPICの位置、物理インターフェースカード(PIC)の最初のポートにあるSONET/SDHインターフェースを指します。

一部のステートメントでは、識別子を含めることができます。インターフェイス名など一部の識別子については、正確なフォーマットで指定する必要があります。例えば、インターフェース名et-0/0/0は、Flexible PIC Concentrator(FPC)上のスロット0、最初のPICの位置、物理インターフェースカード(PIC)の最初のポートにあるSONET/SDHインターフェースを指します。

インターフェイスの説明テキスト、ポリシーとファイアウォール用語の名前など、その他の識別子については、特殊文字、スペース、およびタブを含む任意の名前を指定できます。

識別子は引用符(ダブル・クォート)で囲む必要があります。また、識別子や、スペース、タブ文字、あるいは以下のいずれかの文字を含む文字列は、引用符で囲む必要があります:

オプションが必要なステートメントに対してオプションを入力しない場合、必要な情報の種類を示すメッセージが表示されます。この例では、コマンドを完了するためにエリア番号を入力する必要があります。

デバイス・コンフィギュレーションからステートメントを削除する方法

delete コンフィギュレーション モード コマンドを使用して、デバイス コンフィギ ュレーションからステートメントまたは識別子を削除します。ステートメントや識別子を削除すると、そのステートメントや識別子に関連する機能が「アンコンフィギュレーション」され、その機能はデフォルトの状態に戻されます。

ステートメントを削除すると、そのステートメントとそのすべての下位ステートメントおよび識別子がコンフィギュレーションから削除されます。

複数の識別子を持つことができるステートメントでは、1つの識別子を削除すると、その識別子だけが除かれます。ステートメント内の他の識別子はそのままです。

現在の階層レベルから始まる階層全体を削除する場合は、ステートメントや識別子を指定せずに delete コマンドを使用します。ステートメントや識別子を省略すると、削除の確認画面が表示されます:

手記:

1つの delete コマンドを使用して、階層内の複数のステートメントや識別子を削除することはできません。複数の delete コマンドを使用して、各ステートメントまたは識別子を個別に削除する必要があります。例えば、 [edit system] 階層レベルで次のようなコンフィギュレーションを考えてみましょう。

コンフィギュレーションから domain-namehost-name、および backup-router を削除するには、各ステートメントを個別に削除する必要があります。

deleteコマンドを 1 つ発行することはできません。例えば、以下のようなコマンドでは動作しません。

チャネル化されたインタフェースやスタティック・ルートなど、関連するコンフィギュレーションの項目を1つのコマンドと正規表現で同時に削除することができます。ステートメントや識別子を削除すると、そのステートメントや識別子に関連する機能が「アンコンフィギュレーション」され、その機能はデフォルトの状態に戻されます。

インターフェースなど、通常複数の項目を配置するコンフィギュレーションの特定の部分のみを削除することができます。ただし、この例のように、異なる項目の「グループ」を削除することはできません。

ステートメントを削除すると、そのステートメントとそのすべての下位ステートメントおよび識別子がコンフィギュレーションから削除されます。

関連する設定項目を削除するには,deleteオプションを付けて wildcard 設定モードコマンドを発行し,次のようにステートメントパス,正規表現でまとめる項目,および正規表現を指定します:

手記:

wildcard コマンドを使用して関連するコンフィギュレーション項目を削除する場合、正規表現は最後のステートメントにする必要があります。

Junos OS Evolvedが8つ以上の関連項目に一致する場合、CLIは最初の8つの項目のみを表示します。

コンフィギュレーションからインターフェイスを削除する方法

この構文を使用すると、 t1-0/0/0:0t1-0/0/0:23 の範囲で複数のT1インターフェイスを削除できます。

コンフィギュレーションからルートを削除する方法

この構文を使用することで、 172.0.0.0 から 172.255.0.0 の範囲のスタティック・ルートを削除することができます:

例:機器コンフィギュレーションからステートメントを削除する

次に、 ospf ステートメントを削除して、ルーターで OSPF を効果的にアンコンフィグレー ションする例を示します。

現在のレベルから下のすべてのステートメントを削除します。

特定のプロパティの構成を解除します。この例では、インターフェイス記述の設定を削除します。

コンフィギュレーション内のステートメントをコピーする

機器構成上、類似したステートメントが多数ある場合、1 つのステートメントを追加し、そのステートメントのコピーを作成することができます。ステートメントをコピーすると、そのステートメントと、そのステートメントの下に設定されたステートメントの階層全体が複製されます。ステートメントをコピーすることは、同じタイプの多くの物理的または論理的インターフェイスを設定する場合に便利です。

コンフィギュレーション内の既存のステートメントのコピーを作成する場合。

  1. コンフィグレーションモード copy コマンドを使用します。
  2. コンフィギュレーションの一部をコピーした直後に、新しいコンフィギュレーションの有効性を確認します。
  3. コンフィギュレーションが無効な場合は、コピーした部分と元の部分のどちらかを修正して、有効なコンフィギュレーションを作成します。

例:コンフィギュレーション内のステートメントのコピー

この例では、既存の VC をコピーしてインターフェイス上に1つの仮想接続(VC)を作成する方法を示しています。

必要条件

この例を設定する前に、デバイス初期化以外の特別な設定を行う必要はありません。

この例を始める前に、以下の初期設定を行ってください。

この例の初期設定を素早く行うには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク構成に合わせて必要な内容を変更した後、このコマンドを CLI に [edit] 階層レベルでコピー&ペーストし、コンフィグレーションモードで commit を入力します。

概要

この例では、ステートメントをコピーする方法を説明するために、すでに設定されている仮想接続と非常によく似た仮想接続を追加しています。

構成

CLIクイック構成

[edit interfaces at-1/0/0]階層レベルから開始します。

コピーで構成する

手順

コンフィギュレーションをコピーして構成する場合。

  1. [edit interfaces at-1/0/0]階層レベルに移動し、ユニット 61 をコピーする。

  2. 新しいコンフィギュレーションを見て、コンフィギュレーションを有効にするために変更する必要があるものを確認します。

  3. 有効な設定に変更する。

    この例では、仮想回路識別子(VCI)と仮想パス識別子(VPI)を再設定したいと思います。

    また、新しいインターフェイスの IP アドレスは、それ自身の IP アドレスに置き換えたいと思います。

業績

[edit]
show interfaces
at-1/0/0 {
    description "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.62;
        family inet {
            address 10.0.2.1/24;
        }
    }
}

例: 設定の置換

デバイスの設定を変更する必要がある場合は、いつでも delete コマンドを使用して元の構成設定を削除し、 set コマンドを使用して新しい構成設定を追加できます。しかし、より効率的で使いやすい設定の変更方法は他にも存在します。

この例では、以下の設定モードコマンドを使用して既存の設定を更新する方法を示しています。

  • rename- インターフェイス名などの既存の構成設定の名前を変更します。このコマンドは、デバイスに新しいインターフェイスを追加する場合に便利です。

  • copy- 構成設定と、その設定の下で構成されたステートメントの階層全体をコピーします。設定ステートメントのコピーは、同じタイプの物理または論理インターフェイスを設定する場合に便利です。

  • replace- 設定のテキストパターンにグローバル変更を加えます。例えば、デバイス上のすべてのインターフェイスの説明ステートメントに共通の単語のスペルミスがある場合、単一のコマンドでこれを修正できます。

必要条件

この例を設定する前に、デバイス初期化以外の特別な設定を行う必要はありません。

概要

このトピックの最初の例では、以下の設定を変更します。

  • 入力エラーを含む説明付きの新しいインターフェイスを作成します。

  • 作成したインターフェイスから設定をコピーして、新しいインターフェイスを作成します。

  • 作成したインターフェイスの1つの名前を変更します。

  • 作成したインターフェイスの説明の入力エラーを修正します。

2 番目の短い例では、わずかに異なる状況で同じコマンドのいくつかを試します。

構成

コピー、名前変更、および置換コマンドを使用したループバックインターフェイス設定の変更

手順
注意:

既存の設定がこの例で使用されたループバックインターフェイスユニット番号のいずれかを使用している場合、異なる未使用のループバックインターフェイスユニット番号を代わりに使用する必要があります。そうしないと、以下のステップの実行によってデバイスの既存の運用ステータスが損なわれる可能性があります。

copyrename、およびreplaceコマンドを使用してループバックインターフェイスの設定を作成および変更するには

  1. 新しいループバックインターフェイスユニット番号を作成し、説明を含めます。

    説明におけるループバックのミススペルは意図的です。

  2. 先ほど追加したループバックインターフェイスの設定を表示します。

  3. ユニット100からユニット101に作成したループバックインターフェイス(エラー)を複製します。

  4. ループバックインターフェイスlo0ユニット100およびlo0ユニット101の設定を表示します。

    copyコマンドは、descriptionなどの子ステートメントを含むインターフェイスを複製します。

  5. ループバックインターフェイスlo0ユニット100の名前をループバックインターフェイスlo0ユニット102に変更します。

  6. ループバックインターフェイスlo0ユニット100の設定を表示します。

    このコマンドの結果は表示されないはずです。ループバックインターフェイスlo0ユニット100がなくなりました。 rename コマンドは、指定された設定ステートメントを新しい設定に置き換えます。

  7. ループバックインターフェイスlo0ユニット101および102の説明中の loopback という単語のミススペルを修正します。

  8. ループバックインターフェイスlo0ユニット101およびlo0 102の設定を表示し、 loopback という単語のスペルが正しくなっていることを確認します。

    replace コマンドは、何かしらの制限がない限り、コマンドで指定されたパターンのすべてのインスタンスを置き換えます。このトピックの次の例は、replace コマンドの効果を制限する方法の 1 つです。

  9. 設定モードでは、 rollback コマンドを使用して、デバイス設定を以前のステップを実行する前の状態に戻すことができます。

業績

設定モードでは、 show interfaces lo0 unit 101 コマンドと show interfaces lo0 unit 102 コマンドを使用して、デバイスの設定がこの例のステップを実行する前の状態になっていることを確認します。

このコマンドの結果は表示されないはずです。

このコマンドの結果は表示されないはずです。

トップレベル設定階層レベルのコピーコマンドの比較

手順

前の例は、[edit interfaces interface-name unit logical-interface-number]階層レベルでの copyrename、および replace コマンドを示しています。この例では、CLI設定モード階層のトップレベルでこれらのコマンドの一部がどのように機能するかを示しています。

次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLI のナビゲーションについては、 設定モードでの CLI エディタの使用 を参照してください。

  1. イーサネットインターフェイスを作成します。

  2. 作成したインターフェイスを別のインターフェイスにコピーします。

    この copy コマンドを、前の例のものと比較します。この copy コマンドは、コピーされる値の前にキーワード unit を取ります。

    キーワード interfaces は、前置詞 to の後、コピーされる値の前に繰り返されないことに注意してください。これは、 copy コマンドを使用した一部のトップレベルステートメントで発生します。

    先端:

    同様に、 rename コマンドでは、一部のトップレベル ステートメントの新しい識別子の前にステートメントのキーワード部分を繰り返しません。

  3. 今までの設定を表示します。

  4. et-2/1/0のアドレスを別のIPアドレスに置き換えます。

    すべての発生ではなく、パターンの特定の発生のみを変更する場合、 replace コマンドを使用する前に、その特定の階層レベルに移動する必要があります。

  5. インターフェイスを再表示します。

  6. 設定モードでは、 rollback コマンドを使用して、デバイス設定を前のステップを実行する以前の状態に戻すことができます。

業績

設定モードでは、 show interfaces et-2/0/0 コマンドと show interfaces et-2/1/0 コマンドを使用して、デバイスの設定がこの例のステップを実行する前の状態になっていることを確認します。

このコマンドの結果は表示されないはずです。

このコマンドの結果は表示されないはずです。

機器構成に新しい識別子を挿入する

Juniper Networks のデバイスを設定する場合、ほとんどのステートメントと識別子を任意の順序で入力することができます。設定文を入力する順序に関係なく、CLI は常に厳密な順序で設定を表示します。しかし、いくつかのケースでは、設定ステートメントが順番に分析されるシーケンスを作成するため、ステートメントの順序が重要になります。

例えば、ルーティング ポリシーやファイア ウォール フィルターでは、順次分析される用語を定義します。また、ダイナミック MPLS で名前付きパスを作成する場合、パス内のトランジット ルーターの順序リストを、最初のトランジット ルーターから始まり、最後のトランジット ルーターで終わるように定義します。

ステートメントの順序が重要である設定の一部を変更するには、 insert コンフィグレーション モード コマンドを使用します。

insert コマンドを使用せず、識別子を設定した場合、その識別子は類似した識別子のリストの最後に配置されます。

例:機器構成に新しい識別子を挿入する

この例では、 insert コマンドの使用方法を示します。

setコマンドを使用して追加された用語は、既存の用語リストの最後に配置されますが、insertコマンドを使用して指定した順序で用語を追加します。ステートメントの順序を指定することは、設定ステートメントが順番に分析されるシーケンスを作成するため、順序が重要なケースでは重要です。

この例で示すように、 insert コマンドで使用する前に、用語を作成する(または既に作成されている)必要があります。用語を配置するための参照ポイントも存在する必要があります。たとえば、用語T1を用語T2の前に配置するには、T1とT2の両方が既に存在し、データが登録されている必要があります。 Junos OS Evolved は、空の用語を自動的に削除します。

必要条件

用語を挿入する前に、初期ポリシーを設定する必要があります。この例の初期ポリシーを迅速に設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除してネットワーク構成に合わせて必要な詳細を変更し、コマンドを [edit policy-options] 階層レベルでCLIにコピー&ペーストして、設定モードから commit を入力します。

次に、階層が正しく設定されていることを確認します。

概要

ステートメントの順序が重要である設定の一部を変更するには、 insert 設定モード コマンドを使用する必要があります。代わりに set コマンドを使用すると、追加ステートメントまたは識別子は順次間違った位置に表示されます。コマンドの用語を正しい順序で取得する唯一の方法は、設定を解除し、最初からやり直すことです。

構成

CLIクイック構成

この例を迅速に設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを[edit policy-options]階層レベルでCLIにコピー&ペーストし、 commitin設定モードに入ります。

用語を挿入して設定

手順
  1. 設定条件を実行する必要がある順序を決定します。最初の用語と追加する新しい用語の両方を検討してください。

    元の設定では、ポリシーの名前は statics で、4 語です。最初の3語はそれぞれ異なる一致基準で一致し、結果の一致は拒否されます。最後の用語は、トラフィックの残りすべてを受け入れます。

    この例では、他のタイプのトラフィックを排除する2つの用語を追加する必要があります。これらの用語は、元の設定の最後の用語よりも前に実行する必要があります。

  2. 元の用語4から用語6に名前を変更します。

    このステップでは、用語6に名前が変更された元の最後の用語が保持されます。

  3. 新しい用語4を作成します。

    ローカルシステムアドレスからのトラフィックに一致する新しい用語が追加され、それを拒否します。

  4. 新しい用語5を作成します。

    集約ルートからのトラフィックに一致する新しい用語が追加され、それを拒否します。

  5. 用語3の後に用語4を挿入します。

  6. 用語4の後に用語5を挿入します。

業績

[edit]
user@host# show policy-options policy-statement statics
term term1 {
        from {
                route-filter 192.168.0.0/16 orlonger;
                route-filter 224.0.0.0/3 orlonger;
    }
        then reject;
}
term term2 {
        from protocol direct;
        then reject;
}
term term3 {
        from protocol static;
        then accept;
}
term term4 {
        from protocol local;
        then reject;
}
term term5 {
        from protocol aggregate;
        then reject;
}
term term6 {
        then accept;
}

機器構成におけるステートメントと識別子の無効化および再活性化

Junos OS Evolvedの設定では、ステートメントと識別子を無効にすることで、commitコマンドを発行したときにそれらが有効にならないようにすることができます。無効化された文や識別子には、inactiveタグが付けられます。これらはコンフィグレーションには残りますが、commit コマンドを発行しても有効になりません。

ステートメントまたは識別子を無効にするには、 deactivate コンフィグレーション モード コマンドを使用します。

ステートメントまたは識別子を再活性化するには、 activate コンフィグレーション モード コマンドを使用します。

どちらのコマンドでも、指定する statementidentifier は現在の階層レベルにある必要があります。ステートメントを無効化すると、その特定のステートメントは無視され、 commit コマンドを発行しても全く適用されません。

ステートメントを無効にするには、 disable コンフィグレーションモードコマンドを使用します。

コンフィギュレーション階層の一部では、disable ステートメントを含めることで機能を無効化することができます。一例として、[edit interface interface-name]階層レベルで disable ステートメントを含めることで、インターフェイスを無効化することができる。機能を無効にした場合、commit コマンドを発行すると再活性化されますが、ダウンまたは管理上無効であるかのように扱われます。

例:機器構成でのステートメントと識別子の無効化および再活性化

この例では、 deactivate および activate 設定モードコマンドを使用する一般的な使用例を示しています。これには、グレースフルルーティングエンジンスイッチオーバー(GRES)が設定された、プライマリとバックアップのデュアルルーティングエンジンが含まれます。両方のルーティングエンジンのソフトウェアは、アップグレードする必要があります。これは、GRES を停止し、ルーティングエンジンを更新した後、GRES を再起動することで簡単に行うことができます。

手記:

また、GRES の代わりにノンストップ アクティブ ルーティング(NSR)を設定する以外は、同じ設定を使用して、同様のアップグレードを行うことができます。NSR を停止し、ルーティングエンジンをアップグレードしてから NSR を再起動する必要があります。

必要条件

この例では、アップグレード可能なデュアルルーティングエンジンを搭載したデバイスを使用する必要があります。

この例を始める前に、GRES が設定されていることを確認します。

概要

この例では、2 つのルーティングエンジンがあります。GRES が設定されていて、ルーティングエンジンのアップグレードが必要です。アップグレードを行うためには、GRES 機能を無効化し、各ルーティングエンジンをアップグレードした後、再度 GRES を有効化する必要があります。

構成

GRES の無効化および再有効化の設定

手順

ルーティングエンジンのアップグレードのために GRES を無効化し、再有効化するには、次の手順に従います。

  1. ルーターで GRES が有効になっていることを示します。

  2. GRES を無効化します。

  3. GRES が無効化であることを示します。

  4. ルーティングエンジンを 1 つずつアップグレードしていきます。

  5. GRES を再有効化します。

業績

GRES 機能が再度有効化されていることを確認します。

機器構成をグローバルに変更する方法

replace 設定モードコマンドを使用して、機器構成内の変数や識別子にグローバルに変更することができます。このコマンドは、設定内のパターンを別のパターンで置き換えます。例えば、PIC がルーター内の別のスロットに移動したときに、このコマンドを使用して、インターフェイス名のすべての出現箇所を検索し、置換することができます。

pattern pattern1 オプションは、設定で置き換えたい識別子や値を定義するテキスト文字列または正規表現です。

pattern2 オプションは、pattern1 内にある識別子と値を置換するテキスト文字列または正規表現です。

CLI では、(POSIX 1003.2 に定義されたとおりに)標準的な UNIX スタイルの正規表現構文を使用します。正規表現にスペース、演算子、またはワイルドカード文字が含まれる場合は、表現を引用符で囲みます。最長マッチを行う修飾子(できるだけ一致させる)をサポートします。遅延修飾子(できるだけ一致しないようにする)はサポートされていません。

upto n オプションは、置換されたオブジェクトの数を指定します。nの値は、設定で置き換えられるオブジェクトの総数を制御します(パターンの発生回数の総数ではありません)。同じ階層レベルのオブジェクト(兄弟)が最初に置換されます。特定のオブジェクト内でパターンが複数出現した場合は、単一の置換とみなされます。例えば、設定に010101 text文字列が含まれている場合、コマンド replace pattern 01 with pattern 02 upto 2010101を(020201ではなく)020202に置き換えます。010101020202に置き換えることは、3つの別々の置換(n = 3)ではなく、単一の置き換え(n = 1)と見なされます。

upto オプションを指定しない場合は、pattern1に一致する設定内のすべての識別子と値が置き換えられます。

replaceコマンドは、どの階層レベルの設定モードでも使用できます。すべての一致は、大文字と小文字を区別します。

replaceコマンドで使用する一般的な正規表現

表 1: replace で使用する一般的な正規表現命令

演算子

機能

|

パイプの両側にある2つの用語のいずれかに一致する可能性があることを示します。

^

式の先頭で使用され、一致を開始させる場所を示します。

$

式の末尾で使用し、 $ 文字目まで正確に一致させる必要があることを示します。

[ ]

一致させる文字または数字の範囲を指定します。範囲の開始と終了を区切るには、ハイフン ()を使用します。

( )

一致させる語句のグループを指定します。番号付き変数として格納されます。 \1 \2 .... \9としてバックリファレンスに使用します。

*

0項以上を示します。

+

1つ以上の項を示します。

.

スペース(" ")以外の任意の文字を示します。

\

バックスラッシュは特殊文字をエスケープし、その特殊な意味を抑制します。例えば\。 . (ピリオド記号) に一致します。

\n

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 後方参照

この例では、後方参照を使用してパターンを置換する方法を示しています。

必要条件

この例を設定する前に、デバイスの開始以降の特別な設定は必要ありません。

開始する前に、以下の設定を行います。

この初期設定をすばやく設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク構成に合わせて必要な詳細を変更した後、 [edit] 階層レベルのCLIにコマンドをコピー&ペーストしてください:

概要

正規表現の最も便利な機能の 1 つに、後方参照があります。後方参照は、文字列内で繰り返される文字や部分文字列を特定する便利な方法です。一度パターンを検索すると、再び入力しなくても繰り返すことができます。前に取得したパターンを \# だけで参照します ( # は、パターンを一致させる回数を示す数字です)。

後方参照を使用して、データを呼び出したり、検索したり、別のものに置換したりできます。このようにして、大規模なデータセットを 1 つの置換コマンドで再フォーマットすることができるので、手動でパターンを探して置換する時間を節約できます。

構成

コマンドの後方参照を使用した置換の設定

手順

後方参照を使用して Junos OS Evolved 設定のパターンを置換するには、次の手順に従います:

  • replaceコマンドを使用します。

    この場合、 :1bf51bf5に置き換えます。

    後方参照(\1)に注目してください。これは、パターンを検索して一度だけ置換する必要があることを示しています。

業績

その結果、以下のような設定になります。

この例では、パターン 2000::c0a8::1bf5 を一旦 2000::c0a8:1bf5 に置換しています。

例:デバイス設定でのグローバルな置換—インターフェイス名の置換

この例では、 replace コマンドを使用して、設定でインターフェイス名をグローバルに置換する方法を示しています。

replace コマンドを使った方が、より早く、より良い方法で設定を変更することができます。例えば、PIC をルーター内の別のスロットに移動して、インターフェース名を変更する可能性があります。1 つのコマンドで、設定全体を更新できます。または、他の類似の設定、例えば、同様のインターフェイスで設定を迅速に拡張することができます。

copy コマンドと replace コマンドを組み合わせて使用することで、設定を追加した後、新しくコピーした設定の一部を置換できます。replace コマンドは、正規表現で動作します。正規表現は、迅速で、柔軟性が高く、広く使用されています。まさに検索する必要のあるあらゆるパターンを作り出すことができ、ほとんどのプログラミング言語が正規表現に対応しています。

必要条件

この例を設定する前に、デバイス初期化以外の特別な設定を行う必要はありません。

開始する前に、ルーターに以下の階層を設定してください。この階層を迅速に設定するには、 CLIクイックコンフィギュレーション を参照してください。

概要

この例では、 replace コマンドを使用して、設定でインターフェイス名をグローバルに置換する方法を示しています。簡単な例です。

前回の設定が、今回の設定更新の出発点となります。この例では、1 つのコマンドで設定全体の初期インターフェース名を変更しています。

構成

CLIクイック構成

この例の初期設定を素早く行うには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク構成に合わせて必要な内容を変更した後、これらのコマンドを [edit] 階層レベルの CLI にコピー&ペーストし、設定モードから commit を入力します。

インターフェース名変更の設定

手順

インターフェース名を変更するには:

  1. 設定モードの階層の最上部にいることを確認します。

  2. xe-0/0/0 キーワードを使用した replace コマンドを使用して、patternxe-1/1/0 に置き換えます。

業績

必要な変更を行った後、 show interfaces および show protocols 設定モードコマンドを使用して、設定を確認します。

設定が正しいことを確認したら、 commit コマンドを入力します。

デバイス・コンフィギュレーションにコメントを追加

デバイスのコンフィギュレーションには、コンフィギュレーション内の任意のステートメントを記述するためのコメントを含めることができます。CLIで対話的にコメントを追加したり、ASCIIコンフィギュレーション・ファイルを編集してコメントを追加することができます。

インターフェイスを設定する際、[edit interfaces interface-name]階層レベルに description ステートメントを含めることで、インターフェイスに関するコメントを追加することができます。含めたコメントは、show interfaces コマンドの出力に表示されます。

CLIでコメントを追加

コンフィギュレーション・モードでコメントを追加すると、そのコメントは現在のレベルのステートメントに関連付けられます。各ステートメントには、1行のコメントを関連付けることができます。コメントをステートメントに関連付ける前に、ステートメントが存在する必要があります。コメントは、ステートメントの前の行に配置されます。

コンフィギュレーションにコメントを追加するには、 annotate コンフィギュレーション モード コマンドを使用します。

statement は、コメントを付けるコンフィギュレーション・ステートメントです。現在の階層レベルになければなりません。指定した statement のコメントが既に存在する場合は、削除され、新しいコメントに置き換えられます。

comment-string 121はコメント本文です。コメント・ステートメントは任意の長さで、1行で入力する必要があります。コメントにスペースが含まれている場合は、引用符で囲む必要があります。コメント文字列には、 /* */ または #のコメント区切り文字を含めることができます。何も指定しない場合、コメント文字列は /* */ コメント・デリミタで囲まれます。

既存のコメントを削除する場合は、空白のコメント文字列を指定します。

annotate コマンドでコメントを追加した場合、show configuration mode コマンドまたは show configuration operational mode コマンドを入力すると、コンフィギュレーション内でコメントを表示できます。

手記:

Junos OS Evolved は、onelinerを含む、コンフィギュレーション階層の最終レベルまでのアノテーションをサポートしています。ただし、onelinerの部分(oneliner内の子ステートメントあるいは識別子)に対するアノテーションはサポートされていません。例えば、以下のコンフィギュレーション階層例では、 level 1 親階層まではアノテーションがサポートされていますが、 metric 子階層まではサポートされていません。

ファイルへのコメントの追加

ASCII設定ファイルを編集してコメントを追加するときは、1つ以上の行を追加することができ、関連付けられたステートメントの前に追加する必要があります。ステートメントに続く同じ行やステートメントに続く別の行など、ファイル内の他の場所にコメントを配置した場合、 load コマンドを使用して CLI でコンフィギュレーションを開くときにコメントが削除されます。

次のコンフィギュレーション例の抜粋は、コンフィギュレーション・ファイルにコメントを配置する方法と配置しない方法を示しています。

コンフィギュレーション・ファイルに直接コメントを記述する場合、以下の方法でコメントの書式を設定することができます:

  • コメントを /* で開始し、 */ で終了します。コメント・テキストは1行でも、複数行でも構いません。

  • コメントを # で開始し、改行(キャリッジ・リターン)で終了します。

例:CLIを使用してデバイスのコンフィギュレーションにコメントを含める

デバイスのコンフィギュレーションにコメントを加えることで、コンフィギュレーション・ファイルが読みやすくなり、ユーザーが理解しやすくなります。 annotate ステートメントを使用すれば、設定通りにコメントを入れることができます。この例では、すでに存在するコンフィギュレーションに対してCLIを使用してコメントを追加しています:

必要条件

この例を設定する前に、デバイス初期化以外の特別な設定を行う必要はありません。

コメントを追加する前に、ルーターで次の階層を設定する必要があります。

この例の初期設定をすばやく設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除してネットワーク構成に合わせて必要な詳細を変更し、このコマンドを [edit] 階層レベルのCLIにコピー&ペーストして、設定モードから commit を入力します。

ここで、この階層が設定されていることを確認してください。

概要

CLIを使用してコメントを追加する場合、コンフィギュレーション・モードで annotate ステートメントを使用して行います。追加した各コメントは、現在のレベルのステートメントに関連付けられます。各ステートメントには、1行のコメントを関連付けることができます。

annotate ステートメントを設定するには、コメントを関連付けたいステートメントのレベルに移動します。コメントを表示するには、コンフィギュレーション階層の最上位に移動して、show コマンドを使用します。

構成

CLIクイック構成

この例のコメントを素早く設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除してネットワーク・コンフィギュレーションに合わせて必要な詳細を変更し、コマンドを [edit] 階層レベルからCLIにコピー&ペーストして、コンフィギュレーション・モードから commit を入力します。

コマンドは、階層のさまざまなセクションに注釈を付けるときに、階層を下に移動することに注意してください。

CLI設定モードでのコメントの挿入

手順

この手順は、すでに初期設定を行っていることを前提にしています。

コンフィギュレーションにコメントを追加するには:

  1. コメントを追加する必要がある最初の階層に移動します。

  2. annotate ステートメントを使用して、area 設定ステートメントにコメントを追加します。

  3. interface設定ステートメントにレベルを下げます。

  4. annotate ステートメントを使用して、インターフェイス et-0/0/0.0にコメントを追加します。

業績

階層の一番上に移動し、 show コマンドを使用して、追加したコメントを確認します。コメントは、関連するステートメントの前に表示されます。

設定が正しいことを確認した後、 commit コマンドを入力します。

例: 範囲オプションを指定したワイルドカード コマンドの使用

デバイスの設定を変更する必要がある場合は、いつでも delete コマンドを使用して元の構成設定を削除し、 set コマンドを使用して新しい構成設定を追加できます。しかし、より効率的で使いやすい設定の変更方法は他にも存在します。

この例では、activate、非アクティブ化、削除、保護、設定、表示、および保護解除の設定コマンドで、範囲とともにワイルドカード コマンドを使用する方法を示します。

手記:

ワイルドカード コマンドでは、構成階層を作成できません。これを使用して、既存のステートメントを変更します。空の階層で非アクティブ化などのパラメーターを設定しようとすると、フォーム warning: statement not found の CLI エラーが発生することが予想されます。

必要条件

デバイスで実行されている Junos OS リリース 12.1 以降。

概要

ワイルドカード コマンドの range オプションを使用すると、アクティブ化、非アクティブ化、削除、保護、設定、表示、および保護解除コマンドで範囲を指定できます。範囲を使用して、インターフェイス、論理ユニット、VLAN、およびその他の番号付き要素の範囲を指定できます。ワイルドカード範囲オプションは、入力したコマンドを複数のコマンドに展開し、それぞれが範囲内の 1 つの項目に対応します。

ワイルドカード範囲オプションを使用すると、複数の設定ステートメントを個別に設定するのではなく、1つのsetコマンドで設定できます。例えば、異なるポート番号を持つ24のギガビットイーサネットインターフェイスを設定する場合、24の個別のセットインターフェイスコマンドの代わりに、単一のワイルドカード範囲設定コマンドを使用することができます。

同様に、30個の論理インターフェイスのグループを非アクティブ化するには、各論理インターフェイスを個別に非アクティブ化する代わりに、ワイルドカード範囲のdeactivateコマンドを使用できます。

構成

rangeステートメントとともにワイルドカードコマンドを様々な設定タスクに使用します。

手順
  1. ワイルドカード範囲は、アクティブ、非アクティブ化、削除、保護、設定、表示、および保護解除の設定コマンドで使用できます。
  2. wildcard ステートメントは、完全なコンフィギュレーション階層で修飾できます。設定階層にパークされている場合、ワイルドカード コマンドは、その階層でサポートされているオプションに対する相対パスになります。

    前者の場合、インターフェイス階層へのフルパスはワイルドカードステートメントで指定されます。2 番目に、ユーザーはインターフェイス階層にパークされます。サポートされるオプションは、どちらの方法でも同じです。

範囲オプションを使用した設定ステートメントの一連の名前付き識別子の設定

手順

ポート番号(0〜23)の異なる同じタイプのインターフェイスシリーズを設定する場合は、ポート番号の範囲を以下の形式で指定します。

  1. 結果を表示します。範囲ワイルドカードの範囲が24の異なるsetコマンドに拡張され、0〜23の範囲のポート番号を持つインターフェイスを設定できます。この場合、 vpls プロトコルファミリーを追加するためにインターフェイスが作成されます。インターフェイスがすでに定義されている場合は、 ファミリーのみが追加されます。

構文での複数範囲の指定

手順

ワイルドカードの範囲コマンドで複数の範囲を指定できます。各範囲はコンマで区切る必要があります。範囲を重複させることもできます。

手記:

残りの例では、10個のポリシーステートメントを含む設定の一時コピーを作成します。これらのステートメントを使用することで、階層のヌル部分の属性を操作しようとしたときに報告されるCLIエラーを回避できます。

  1. 構文に複数の範囲を指定するには、各範囲の最小値と最大値をコンマで区切って含めます。
  2. 結果を表示します。ワイルドカードの範囲が拡張され、指定した範囲に一致する名前を持つポリシーに deactivate ステートメントが追加されます。注目すべきは、候補となるコンフィギュレーションに対する変更のリストに p4p10 がないことです。

    手記:

    指定されたポリシー名が構成にまだ存在しない場合は、エラーが返されます。これは、設定階層の空の部分に deactivate ステートメントを追加できないためです。

構文での範囲と一意の数値を指定する

手順

ワイルドカード範囲コマンドの構文で、範囲と一意の番号の組み合わせを指定できます。

  1. 一時的な設定を再読み込みします。

  1. 範囲と一意の番号を指定するには、コンマで区切ります。この例では、10 が一連の範囲に一意の番号として追加されます。
  2. 結果を表示します。ワイルドカードの範囲が拡張され、指定された範囲に一致する名前を持つポリシーと一意の番号に deactivate ステートメントが追加されます。その結果、この例では p10 ポリシーも無効化されます。

    手記:

    指定されたポリシー名が構成にまだ存在しない場合は、エラーが返されます。これは、空のコンフィギュレーション階層に deactivate ステートメントを追加できないためです。

範囲から一部の値を除外する

手順

感嘆符を使用して除外する数値または数値の範囲をマークすることにより、範囲から特定の値を除外できます。

  1. 一時的な設定を再読み込みします。

  2. 範囲から特定の値を除外するには、除外する部分を !構文で。
  3. 結果を表示します。ワイルドカードの範囲が拡張され、指定された範囲に一致する名前を持つポリシーに deactivate ステートメントが追加されます。ポリシー p3 および p4 は、候補の構成に加えられた変更のリストに含まれていないことに注意してください。ワイルドカードの範囲から除外されています。

    手記:

    指定されたポリシー名が構成にまだ存在しない場合は、エラーが返されます。これは、空のコンフィギュレーション階層に deactivate ステートメントを追加できないためです。

ステップ番号による範囲の指定

手順

ステップ番号を指定して、範囲内の間隔を一定にすることができます。step 値は、最初の一致をカウントし、指定されたステップ値まで後続の一致をスキップします。

  1. 一時的な設定を再読み込みします。

  2. ステップを指定するには、構文の前にスラッシュ (/) を付けた step 値を含めます。ここでは、1〜10の範囲を指定し、ステップ値2を使用して各一致の間に1つの数値をスキップします。その効果は、奇数(1)の一致から始めるときに、すべての偶数の一致をスキップすることです。
  3. 結果を表示します。ワイルドカードの範囲が拡張され、最初の一致から始めて、他のすべての一致ステートメントに deactivate ステートメントが追加されます。

    手記:

    指定されたポリシー名が構成にまだ存在しない場合は、エラーが返されます。これは、空のコンフィギュレーション階層に deactivate ステートメントを追加できないためです。

    ステップ関数をわかりやすく説明するために、一時的な構成を復元し、ワイルドカード コマンドをステップ値 4 で繰り返します。これで、最初の一致ごとに3つのエントリがスキップされます。

  4. 結果を表示します。ワイルドカードの範囲が拡大され、最初の一致から始めて、4 つおきに一致するステートメントに deactivate ステートメントが追加されます。

ワイルドカードを使用したポリシーの削除 p1-p10

手順

ワイルドカード関数をテストするために追加した一時ポリシーを削除します。

  1. deleteステートメントとワイルドカードの範囲ステートメントを使用して、p1からp10までのポリシーを削除します。
  2. 結果を表示します。私たちの policy-options スタンザには、 p1 から p10までのポリシーのみが含まれていました。これにより、空の policy-options設定階層になります。