このページの目次
NETCONFセッションでの編集設定モードを設定する
設定データをNETCONFサーバに送信する場合、デバイスが設定変更を処理する方法を指定することができます。これは、コンフィギュレーションの編集モードと呼ばれます。セッション全体に対して、編集設定モードをグローバルに設定できます。また、セッション内の特定の要素に対してのみ編集モードを設定することもできます。
Junos OSを実行しているデバイスには、次の編集構成モードがあります。
merge
- デバイスは新しい設定データを既存の設定データにマージします。これがデフォルトです。replace
- デバイスは既存の設定データを新しい設定データに置き換えます。none
- 新しい構成要素に操作属性が含まれていない限り、デバイスは既存の設定を変更しません。
セッションの編集設定モードをグローバルに設定するには、目的のモードを持つ要素を の<edit-config>
子要素として含め<default-operation>
ます。
<rpc> <edit-config> <default-operation>mode</default-operation> <edit-config> </rpc>
個々の要素の編集コンフィギュレーション モードを指定するには、その要素のタグに属性と目的のモードを含め operation
ます。
<rpc> <edit-config> <config> <configuration> <protocols> <rip> <message-size operation="replace">255</message-size> </rip> </protocols> </configuration> </config> </edit-config> </rpc>
また、一連のコンフィギュレーション変更全体に対してグローバル編集コンフィギュレーション モードを設定し、異なる方法で処理したい個々の要素に異なるモードを指定することもできます。例えば:
<rpc> <edit-config> <default-operation>merge</default-operation> <config> <configuration> <protocols> <rip> <message-size operation="replace">255</message-size> </rip> </protocols> </configuration> </config> </edit-config> </rpc>
コンフィギュレーションの編集モードについては、以下のセクションで詳しく説明します。
マージデータモードの指定
デフォルトでは、NETCONFサーバーは新しい設定データを候補コンフィギュレーションまたはオープンコンフィギュレーションデータベースに マージします 。そのため、コンフィギュレーションの編集モードを指定しない場合、デバイスは新しい構成要素を既存のコンフィギュレーションにマージします。
構成のマージは、次の規則に従って実行されます。(この規則は、エフェメラル データベースなどのオープン構成データベース内の構成データを更新する場合にも適用されますが、わかりやすくするために、以下では候補の構成のみを参照します)。
候補コンフィギュレーションには存在するが、新しいコンフィギュレーションには存在しない構成要素(階層レベルまたはコンフィギュレーション オブジェクト)は変更されません。
新しいコンフィギュレーションには存在するが、候補コンフィギュレーションには存在しない構成要素が、候補コンフィギュレーションに追加されます。
両方のコンフィギュレーションに構成要素が存在する場合、次のような結果になります。
構成要素の子ステートメント(子タグ要素で表される)が候補コンフィギュレーションに存在し、新しいコンフィギュレーションには存在しない場合、そのステートメントは変更されません。
子ステートメントが新しいコンフィギュレーションに存在し、候補コンフィギュレーションには存在しない場合、候補コンフィギュレーションに追加されます。
子ステートメントが両方のコンフィギュレーションに存在する場合、候補コンフィギュレーションの値を新しいデータの値で置き換えます。
データのマージを明示的に指定するために、アプリケーションは tag 要素に値merge
を持つ tag 要素を含め<default-operation>
ます<edit-config>
。
<rpc> <edit-config> <default-operation>merge</default-operation> <!-- other child tag elements of the <edit-config> tag element --> </edit-config> </rpc> ]]>]]>
置換データモードの指定
置換編集コンフィギュレーション モードでは、候補コンフィギュレーションまたはオープンなコンフィギュレーション データベースのデータが、新しいコンフィギュレーション データで完全に置き換えられます。データを置き換えるように指定するために、アプリケーションは tag 要素に値replace
を持つ tag 要素を含め<default-operation>
ます<edit-config>
。
<rpc> <edit-config> <default-operation>replace</default-operation> </edit-config> </rpc> ]]>]]>
グローバル置換モードは、既存のコンフィギュレーションを新しいコンフィギュレーション・データで完全に上書きする予定がある場合にのみ使用することをお勧めします。さらに、コンフィギュレーションの編集モードが に設定されている場合 replace
、個々の構成要素に 属性を使用すること operation
はお勧めしません。
また、他の構成要素をマージまたは作成しながら、個々の構成要素を置き換えることもできます。 「NETCONF を使用した構成要素の置換」を参照してください。
なし(変更なし)データモードの指定
none
(変更なし)編集設定モードでは、設定の変更は無視されます。このモードは、要素を削除するときに便利で、削除する要素の親階層レベルを NETCONF サーバが作成しないようにします。詳細については、 NETCONFを使用して構成要素を削除するを参照してください。
変更なし編集設定モードをグローバルに設定するために、アプリケーションは <default-operation>
tag 要素に値 none
を持つ tag 要素を含めます <edit-config>
。
<rpc> <edit-config> <default-operation>none</default-operation> </edit-config> </rpc>
新しい設定データに既存の設定にない設定要素が含まれている場合、NETCONF サーバはエラーを返します。モード none
は、構成から構成要素を削除する場合にのみ使用することをお勧めします。要素を作成または変更する場合、アプリケーションではマージ モードを使用する必要があります。
タグを使用して <default-operation>
編集コンフィギュレーション モード none
をグローバルに設定して変更なしモードを示す場合でも、このモードをオーバーライドし、エレメントのタグに属性を含める operation
ことで、個々のエレメントに異なる編集コンフィギュレーション モードを指定できます。例えば:
<rpc> <edit-config> <default-operation>none</default-operation> <config> <configuration> <system> <services> <outbound-ssh> <client> <name>test</name> <device-id>test</device-id> <keep-alive> <retry operation="merge">4</retry> <timeout operation="merge">15</timeout> </keep-alive> </client> </outbound-ssh> </services> </system> </configuration> </config> </edit-config> </rpc>
変更履歴テーブル
機能のサポートは、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がプラットフォームでサポートされているかどうかを判断します。
<default-operation>
replace
、 に設定すると、デバイスは設定を置き換える操作ではなく
load override
操作を使用します
load update
。負荷の更新操作では、デバイスは変更されたステートメントに対応するJunosプロセスにのみ通知するため、ネットワークへの中断を最小限に抑えることができます。