動的ルーティング ポリシーの理解
設定変更をコミットするために必要な検証プロセスには、多大なオーバーヘッドと時間がかかります。例えば、20,000行の長さのルーティングポリシーの1行のプレフィックスを変更すると、コミットに最大20秒かかることがあります。ルーティングポリシーの変更をより迅速にコミットできると便利です。
Junos OS リリース 9.5 以降では、ルーティング ポリシーおよび特定のルーティング ポリシー オブジェクトを動的データベースに設定できますが、このオブジェクトは標準設定データベースで必要とされるものと同じ検証の対象ではありません。その結果、動的データベースへの変更をコミットするのにかかる時間は、標準構成データベースの場合よりもはるかに短くなります。その後、標準データベースで設定したルーティングポリシーで、これらのポリシーおよびポリシーオブジェクトを参照できます。BGPは、動的データベースで設定されたポリシーおよびポリシーオブジェクトを参照するルーティングポリシーを適用できる唯一のプロトコルです。動的データベースに設定されたオブジェクトに基づいてルーティング・ポリシーを構成してコミットした後、動的データベース構成に変更を加えることによって、既存のルーティング・ポリシーを迅速に更新することができます。
Junos OSは、動的データベースの設定変更を検証しません。この機能を使用する際、コミットする前にすべての設定変更をテストおよび検証する必要があります。
動的データベースでのルーティングポリシーとポリシーオブジェクトの設定
Junos OS リリース 9.5 以降では、構成データベースである動的データベースがサポートされます。これは標準構成 データベースと同様の方法で編集できますが、構成変更をコミットするための同じ検証プロセスの対象にはなりません。その結果、設定変更のコミットにかかる時間が大幅に短縮されます。動的データベースで定義されたポリシーとポリシーオブジェクトは、標準設定で設定されたルーティングポリシーで参照できるようになります。動的データベースは、 というディレクトリに格納されます。/var/run/db/juniper.dyn
動的データベースを設定するには、 コマンドを入力して 動的データベースの設定モードを開始します。configure dynamic
user@host> configure dynamic Entering configuration mode [edit dynamic] user@host#
この動的構成データベースでは、 階層レベルで以下のステートメント を構成できます。[edit policy-options]
as-path name
as-path-group group-name
community community-name
condition condition-name
prefix-list prefix-list-name
policy-statement policy-statement-name
階層レベルでは他の設定はサポートされていません 。[edit dynamic]
ステートメントを使用して、標準設定データベースの場合と同様にルーティングポリシーを設定します。policy-statement policy-statement-name
動的データベースの設定モードを終了するには、階層内の任意のレベルから コマンドを発行するか、最上位レベルの コマンドを使用します。exit configuration-mode
[edit dynamic]
exit
動的データベース設定に基づくルーティング ポリシーの設定
標準設定モードでは、動的データベースの 階層レベルで設定された ポリシーおよびポリシー オブジェクトを参照するルーティング ポリシーを設定できます。[edit dynamic]
動的データベース構成を参照するルーティング・ポリシーを定義するには、 階層レベルで ステートメントを含め ます 。dynamic-db
[edit policy-options policy-statement policy-statement-name]
[edit policy-options] policy-statement policy-statement-name { dynamic-db; }
また、動的データベース内のこれらのオブジェクトの設定に基づいて、特定のポリシー オブジェクトを定義することもできます。動的データベースに基づいてポリシー オブジェクトを定義するには、 階層レベルで次のステートメントを含む ステートメントを含め ます 。dynamic-db
[edit policy-options]
as-path name
as-path-group group-name
community community-name
condition condition-name
prefix-list prefix-list-name
標準設定では、動的データベースで設定されたオブジェクトを参照する標準設定で設定したポリシーオブジェクトを参照するルーティングポリシーを定義することもできます。
たとえば、標準設定モードでは、動的データベースで設定されたプレフィックス リスト(別名 )を参照するプレフィックス リストを設定します。prefix-list pl2
prefix-list pl2
[edit policy-options] prefix-list pl2 { dynamic-db; # Reference a prefix list configured in the dynamic database. }
次に、以下を含む ルーティングポリシーを標準設定で設定します。prefix-list pl2
[edit policy-options] policy-statement one { term term1 { from { prefix-list pl2; # Include the prefix list configured in the standard configuration # database, but which references a prefix list configured in the dynamic database. } then accept; } then reject; }
の構成を更新する 必要がある場合は、 階層レベルを使用して 動的データベース構成で行います。prefix-list pl2
[edit dynamic]
これにより、標準構成データベースで行うよりも迅速に、プレフィックスリストに対するコミット設定の変更を行うことができます。
Junos OSをJunos OSリリース9.4以前にダウングレードする場合は、まず動的データベースを参照しているルーティング・ポリシーを削除する必要があります。つまり、 ステートメントで 設定されたルーティングポリシーまたはポリシーオブジェクトを削除する必要があります。dynamic-db
BGP への動的ルーティング ポリシーの適用
BGPは、動的データベース設定を参照するルーティングポリシーを適用できる唯一のルーティングプロトコルです。これらのポリシーは、標準構成で適用する必要があります。ダイナミックポリシーは、BGPエクスポートまたはインポートポリシーに適用できます。また、グローバル、グループ、またはネイバー階層レベルで適用することもできます。
BGP エクスポート ポリシーを適用するには、 、 、または 階層レベルでステート メントを含めます。export [ policy-names ]
[edit protocols bgp]
[edit protocols bgp group group-name]
[edit protocols bgp group group-name neighbor address]
[edit] protocols bgp { export [ policy-names ]; } }
BGPインポートポリシーを適用するには、 、 、または 階層レベルでステート メントを含めます。import [ policy-names ]
[edit protocols bgp]
[edit protocols bgp group group-name]
[edit protocols bgp group group-name neighbor address]
[edit] protocols bgp { import [ policy-names ]; } }
動的データベースで設定されたポリシーを参照する階層レベルで、 その標準設定で設定された1つ以上のポリシー名を含めます。[edit policy-options policy-statement]
NSRルーティングエンジンスイッチオーバー後のBGPピアリングセッションの再確立の防止
アクティブなノンストップルーティング(NSR)を有効にしている場合、動的データベースはバックアップルーティングエンジンと同期されません。その結果、バックアップのルーティングエンジンに切り替えた場合、スイッチオーバー時にプライマリルーティングエンジンで実行されていたインポートおよびエクスポートポリシーが利用できなくなる可能性があります。そのため、スイッチオーバーが発生した直後にBGPピアリングセッションが自動的に再確立されないようにしたい場合があります。
指定した期間、または手動でセッションを再確立するまで、アクティブなノンストップルーティングスイッチオーバー後にBGPピアリングセッションを再確立しないようにルーターを設定できます。、 、または 階層レベルで ステートメントを含めます。idle-after-switch-over (seconds | forever)
[edit protocols bgp]
[edit protocols bgp group group-name]
[edit protocols bgp group group-name neighbor address]
[edit] bgp { protocols { idle-after-switch-over (seconds | never); } }
の場合は 、1 から 4,294,967,295 (2,32, – 1) の値を指定します。seconds,
BGP ピアリング セッションは、指定された期間が経過するまで再確立されません。オプションを指定し た場合、BGPピアリングセッションは、 コマンドを発行するまで確立されません。forever
clear bgp neighbor