NETCONF を使用した受験者の設定の置換
Junos OSを実行しているデバイスとのNETCONFセッションでは、クライアントアプリケーションは、候補となる設定全体またはオープンな設定データベース内のすべてのデータを新しいデータに置き換えたり、以前の設定やレスキュー設定にロールバックしたりすることで置き換えることができます。
クライアントアプリケーションが、設定データを読み込む前に特定の設定データベースを開くためにJunos XMLプロトコル <open-configuration> 操作を発行した場合、Junos OSはオープンな設定データベースに対して要求された操作を実行します。それ以外の場合、候補構成に対して操作が実行されます。
以下のセクションでは、候補コンフィギュレーションまたはオープン・コンフィギュレーション・データベース内のコンフィギュレーション・データを置き換える方法について説明します。クライアント アプリケーションは、データを置き換えてデバイス上でアクティブな設定にした後、設定をコミットする必要があります。
<copy-config>を使用して設定を置き換える
候補構成全体またはオープン構成データベース内のすべてのデータを置換する 1 つの方法は、 という操作を <copy-config> 使用することです。タグは <target> タグを <candidate/> 囲み、新しい設定データがオープンな設定データベース内のデータ(クライアントアプリケーションが操作を実行する前にJunos XMLプロトコル <open-configuration> 操作を <copy-config> 発行した場合)、またはオープンなデータベースがない場合、候補の設定内のデータのいずれかと置き換えることを示します。
要素は <source> 、新しい設定データを <url> 含むファイル名を指定する要素を囲みます。設定データが Junos XML タグ要素としてフォーマットされている場合は、属性を <url> format に xml 設定するか、属性を省略します。設定データが CLI 設定ステートメントとしてフォーマットされている場合は、format 属性を <url> に text設定します。
<rpc> <copy-config> <target> <candidate/> </target> <source> <url format="(xml | text)"> <!-- location specifier for file containing the new configuration --> </url> </source> </copy-config> </rpc> ]]>]]>
<edit-config>を使用して設定を置き換える
候補コンフィギュレーション全体またはオープン・コンフィギュレーション・データベース内のすべてのデータを置き換えるもう1つの方法は、という操作を<edit-config>使用し、編集コンフィギュレーション・モードをreplaceグローバル変数として設定することです。NETCONF セッションで構成モードの<default-operation>編集を設定する<edit-config>の説明に従って、アプリケーションにはタグ要素の値replaceがタグ要素に含まれています。タグは<target>タグを<candidate/>囲み、新しい設定データがオープンな設定データベース内のデータ(クライアントアプリケーションが操作を実行する前にJunos XMLプロトコル<open-configuration>操作を<edit-config>発行した場合)、またはオープンなデータベースがない場合、候補の設定内のデータのいずれかと置き換えることを示します。
新しい構成データを指定するには、アプリケーションには、データを<config>含むまたは <config-text> タグ要素が含まれています。または NETCONF セッションの構成データのアップロードとフォーマットで説明したように、データを含むファイルの名前を付けるタグ要素が含まれています<url>。
<rpc>
<edit-config>
<target>
<candidate/>
</target>
<default-operation>replace</default-operation>
<!-- EITHER -->
<config>
<configuration>
<!-- Junos XML configuration data -->
</configuration>
</config>
<!-- OR -->
<config-text>
<configuration-text>
<!-- configuration data in text format -->
</configuration-text>
</config-text>
<!-- OR -->
<url>
<!-- location specifier for file containing changes -->
</url>
</edit-config>
</rpc>
]]>]]>
以前にコミットした設定へのロール バック
Junos OSを実行するデバイスは、プラットフォームに応じて、直近にコミットされた設定と最大49個の以前の設定のコピーを保存します。保存されているコンフィギュレーションにロールバックできます。これは、設定変更によって望ましくない結果が発生し、既知の正常な設定に戻したい場合に便利です。設定のロール バックは、デバイスで設定を変更するプロセスと似ていますが、設定データを読み込む代わりに、ロールバックを実行すると、候補となる設定全体が以前にコミットされた設定に置き換えられます。
Junos OS リリース 18.1R1 以降、NETCONF アプリケーションは RPC を実行<rollback-config>して、候補となる設定またはオープンな設定データベース内のすべてのデータを以前にコミットされた設定に置き換えることができます。設定をロールバックするために、アプリケーションは、読み込む前の<rollback-config><index>設定の数値インデックスを指定する子要素で要素を出力します。有効な値は、0(直近にコミットされたコンフィギュレーションではゼロ)から、保存された以前のコンフィギュレーションの数より1未満(最大49)。です。
NETCONF アプリケーションは、 属性を付けて Junos XML プロトコル <load-configuration> 操作を rollback 使用して、設定をロールバックすることもできます。
例えば、ロールバック・インデックスが1のコンフィギュレーションを読み込む場合、クライアント・アプリケーションは以下のRPCを発行します。
<rpc>
<rollback-config>
<index>1</index>
</rollback-config>
</rpc>
]]>]]>
NETCONF サーバーは、RPC 応答の and <ok/> 要素を<rollback-config-results>返すことで、ロード操作が成功したことを示します。
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http://xml.juniper.net/junos/18.1R1/junos">
<rollback-config-results>
<ok/>
</rollback-config-results>
</rpc-reply>
]]>]]>
ロード操作が成功した場合、クライアント アプリケーションは設定をコミットしてデバイス上のアクティブな設定にする必要があります。ロールバック設定の読み込み中にエラーが発生した場合、サーバーはエラーに関する情報を <rpc-error> 持つ要素を返します。
候補コンフィギュレーションをレスキューコンフィギュレーションに置き換える
レスキュー設定では、既知の機能する設定や、いつでも復元できる既知の状態の設定を定義できます。レスキュー設定は、既知の設定に戻す必要がある場合、またはデバイス設定とバックアップ設定ファイルが修理を超えて損傷した場合に最後の手段として使用します。レスキュー設定を作成すると、デバイスは最近コミットされた設定をレスキュー設定として保存します。
Junos OS リリース 18.1R1 以降、NETCONF アプリケーションは RPC を実行<rollback-config>して、候補となる設定またはオープンな設定データベース内のすべてのデータをデバイスのレスキュー設定に置き換えることができます。レスキュー設定を読み込むには、アプリケーションが要素と<rescue/>子タグを<rollback-config>発行します。レスキュー設定は、読み込む前にデバイスに存在している必要があります。
NETCONF アプリケーションは、属性を持つ Junos XML プロトコル <load-configuration> 操作を rescue 使用してレスキュー設定をロードすることもできます。
たとえば、レスキュー設定を読み込むには、クライアント アプリケーションは次の RPC を発行します。
<rpc>
<rollback-config>
<rescue/>
</rollback-config>
</rpc>
]]>]]>
NETCONF サーバーは、RPC 応答の and <ok/> 要素を<rollback-config-results>返すことで、ロード操作が成功したことを示します。
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http://xml.juniper.net/junos/18.1R1/junos">
<rollback-config-results>
<ok/>
</rollback-config-results>
</rpc-reply>
]]>]]>
ロード操作が成功した場合、クライアント アプリケーションは設定をコミットしてデバイス上のアクティブな設定にする必要があります。レスキュー設定が存在しない場合、またはサーバーが設定データの読み込み中に別のエラーを検出した場合、エラーに関する情報を <rpc-error> 含む要素が返されます。