運用効率を向上させるためのルート フィルターのウォークアップの構成
複数のポリシー条件にまたがってルート フィルターが分割されることで、ポリシーのパフォーマンスに懸念がある場合は、ウォークアップ機能を使用します。ウォークアップ機能により、1つのポリシー条件にルート フィルターを統合できます。
デフォルトのルート フィルター動作が原因でポリシー ステートメントが複数の用語に分割されている場合、ルート フィルター ウォークアップ機能を使用すると、複数のルート フィルターを 1 つのポリシー ステートメント条件に統合できます。デフォルトでは、Junos OSは、最初に最長一致プレフィックスを見つけてから、プレフィックス範囲などのルートフィルターにアタッチされた条件を評価することによって、ポリシーステートメント条件内の複数のルートフィルターを評価します。ルート フィルター条件が false の場合(例えば、プレフィックスが指定範囲内にない場合)、より短いルート フィルターのプレフィックスが真になる可能性がある場合でも、項全体が false になります。ウォークアップ機能は、このデフォルトの動作をローカルまたはグローバルに変更します。
ルート フィルター ウォークアップ機能は、ポリシー ステートメント内で複数のルート フィルターが使用される場合に使用されます。ウォークアップオプションは、 [edit policy-options]
階層レベルのメインルーティングインスタンスと、 [edit logical-systems policy-options]
階層レベルの論理システムでサポートされています。
ルート フィルター ウォークアップの構成を開始する前に、以下が完了していることを確認してください。
適切に構成されたルーティングポリシーまたはルーティングポリシーのセット
複数のルート フィルター条件を少数のルーティング ポリシー条件に統合する必要がある
ルート フィルターのウォークアップは、2 つの異なる方法で構成できます。walkup
オプションは、[edit policy-options default route-filter]
階層レベルでグローバルに設定することも、[edit logical-systems policy-options default route-filter]
階層レベルの論理システムでも設定できます。walkup
オプションをグローバルに構成すると、すべてのポリシー ステートメントでポリシー ルート フィルターの動作が変更されます。デフォルトのポリシー ステートメントの動作(最長一致ルート フィルターが false の場合、条件は false になる)の代わりに、 walkup
オプションはこの動作をグローバルに変更します(最長一致ルート フィルターからより限定的でないものに「ウォークアップ」し、いずれかが true の場合は条件が true)。
walkup
オプションをグローバルに設定した場合でも、ルーティングポリシーごとにローカルで上書きすることができます。そのため、walkup
グローバルに有効にしている場合、[edit policy-options policy-statement default route-filter]
階層レベルで no-walkup
オプションステートメントを設定することで、ルーティングポリシーで上書きすることができます。no-walkup
オプションは、このポリシーステートメントのデフォルトのルートフィルター動作をローカルに復元します。
[edit policy-options default route-filter]
グローバルレベルでは、グローバルなデフォルト動作が「ウォークアップなし」であるため、唯一のオプションはwalkup
ステートメントです。ただし、 [edit policy-options policy-statement default route-filter]
階層レベルの個々のポリシーステートメントに対しては、 walkup
オプションステートメントまたは no-walkup
オプションステートメントのいずれかを設定できます。このように、ローカルレベルで、ポリシーステートメントがウォークアップを実行する( walkup
ステートメントが設定された状態)か、ウォークアップを実行しない( no-walkup
ステートメントが設定された状態)かを制御できます。これにより、ユーザーは walkup
オプションを最大限に制御できます
ウォークアップ機能は、次のようにグローバルに設定します。
user@host> set policy-options defaults route-filter walkup
または、次のように論理システムでウォークアップ機能をグローバルに設定します。
user@host> set logical-systems logical-system-name policy-options defaults route-filter walkup
ウォークアップまたはウォークアップなし機能は、ポリシーステートメントでローカルに次のように設定します。
user@host> set policy-options policy-statement policy-statement-name defaults route-filter [ no-walkup | walkup ]
または、次のように論理システムでローカルにウォークアップ機能を設定します。
user@host> set logical-systems logical-system-name policy-options policy-statement policy-statement-name defaults route-filter [ no-walkup | walkup ]
ステートメントがグローバル レベルとローカル レベルで同時に設定されている場合、ルート フィルターのウォークアップ動作は複雑になる可能性があります。 表 1 、ポリシーステートメントをグローバルとローカルの両方で設定した場合の、ウォークアップオプションの6つの可能な組み合わせすべてで示しています。
ケース: |
グローバル構成 |
ローカル設定 |
結果 |
---|---|---|---|
1 |
(なし) |
(なし) |
デバイスは、どのポリシーに対してもウォークアップを実行しません(デフォルトの操作)。 |
2 |
(なし) |
|
デバイスは、このポリシーのウォークアップを実行します。 |
3 |
(なし) |
|
デバイスは、どのポリシーに対してもウォークアップを実行しません(デフォルトの操作)。 |
4 |
|
(なし) |
デバイスは、すべてのポリシーに対してウォークアップを実行します。 |
5 |
|
|
デバイスは、すべてのポリシーに対してウォークアップを実行します。 |
6 |
|
|
デバイスは、このポリシーに対してのみウォークアップを実行しません。 |
各行は、1 から 6 までの番号が付けられた可能なユース ケースを形成します。各ウォークアップ ケースは、次のように構成されます。
ケース#1: これは、下位互換性のための簡単な構成です。グローバルにもローカルにも、ルート フィルターのウォークアップが有効になっていません。デバイスは、機能が導入される前とまったく同じように動作します。どのポリシーでもルート フィルターのウォークアップは発生しません。
ケース #2: ルート フィルター ウォークアップはグローバルに有効ではありませんが、
RouteFilter-Case2
という名前の特定のポリシーに対してローカルで有効になります。ルート フィルターのウォークアップは、このポリシーで行われます。特定のポリシーに対してルート フィルターのウォークアップをローカルに構成するには:
このポリシーステートメントのウォークアップ機能をローカルで有効にします。
[edit policy-options] user@host# set policy-statement RouteFilter-Case2 defaults route-filter walkup
ポリシー条件をローカルで構成します (ウォークアップは、このポリシーのすべての条件に適用されます)。
[edit policy-options] user@host# set policy-statement RouteFilter-Case2 term ...
ポリシーステートメントをルーティングプロトコルに適用します。
ケース #3: ルート フィルター
walkup
はグローバルに有効ではありませんが、RouteFilter-Case3
という名前の特定のポリシーに対してローカルno-walkup
有効になります。(このケースは、デフォルトではすべてのポリシーでウォークアップが行われないため、特に役立ちませんが、将来ウォークアップがグローバルに有効になった場合でも、ローカルの動作が明示的になります)。特定のポリシーに対してルート フィルター no-walkup をローカルに設定するには:
このポリシーステートメントの
no-walkup
機能をローカルで有効にします。[edit policy-options] user@host# set policy-statement RouteFilter-Case3 defaults route-filter no-walkup
ポリシー条件をローカルで構成します (このポリシーには
no-walkup
が適用されます)。[edit policy-options] user@host# set policy-statement RouteFilter-Case3 term ...
ポリシーステートメントをルーティングプロトコルに適用します。
ケース #4: ルート フィルター
walkup
はグローバルに有効ですが、RouteFilter-Case4
という名前の特定のポリシーに対してはローカルでは有効になっていません。グローバル構成のため、このポリシーではルート フィルターwalkup
が発生します。デバイスに対してルート フィルターのウォークアップをグローバルに構成するには:
このデバイスのウォークアップ機能をグローバルに有効にします。
[edit policy-options] user@host# set defaults route-filter walkup
注:グローバル
walkup
は、ポリシーステートメントでローカルに設定されたwalkup
またはno-walkup
ステートメントとは異なり、[edit policy-options defaults]
または[edit logical-systems logical-system-name policy-options defaults]
階層レベルで設定され、すべてのポリシーに適用されます。ポリシーステートメントの
RouteFilter-Case4
と条件をローカルで設定します(ウォークアップはこのポリシーに適用されます)。[edit policy-options] user@host# set policy-statement RouteFilter-Case4 term ...
ポリシーステートメントをルーティングプロトコルに適用します。
ケース #5: ルート フィルター
walkup
はグローバルに有効になっており、RouteFilter-Case5
という名前の特定のポリシーに対してローカルで有効になります。この設定は冗長に見えるかもしれませんが(ウォークアップはグローバルにもローカルにも有効)、これにより、ルート フィルターのウォークアップがグローバル レベルで削除された場合でも、このポリシーでルート フィルターのウォークアップが発生します。ルート フィルターのウォークアップを、デバイスに対してグローバルに構成し、特定のポリシーに対してローカルに構成するには、次のようにします。
このデバイスの
walkup
機能をグローバルに有効にします。[edit policy-options] user@host# set defaults route-filter walkup
注:グローバルウォークアップは、
[edit policy-options defaults]
または[edit logical-systems logical-system-name policy-options defaults]
階層レベルで設定され、すべてのポリシーに適用されます。ポリシーステートメント
RouteFilter-Case5
を設定し、walkup
をローカルで有効にします(walkup
このポリシーに適用されます)。[edit policy-options] user@host# set policy-statement Route-Filter-Case5 defaults route-filter walkup
ポリシーステートメントの
RouteFilter-Case5
と条件をローカルで設定します(ウォークアップはこのポリシーに適用されます)。[edit policy-options] user@host# set policy-statement RouteFilter-Case5 term ...
ポリシーステートメントをルーティングプロトコルに適用します。
ケース #6: ルート フィルター
walkup
はグローバルに有効になりますが、RouteFilter-Case6
という名前の特定のポリシーのno-walkup
でローカルに上書きされます。ローカル構成のため、このポリシーではルート フィルターのウォークアップは行われません。このケースは、ローカル ポリシーがグローバル ウォークアップが有効になる前とまったく同じように機能することを確認するのに役立ちます。デバイスに対してルート フィルターのウォークアップをグローバルに設定し、特定のポリシーに対してローカルにノーウォークアップ機能を構成するには:
このデバイスのウォークアップ機能をグローバルに有効にします。
[edit policy-options] user@host# set defaults route-filter walkup
注:グローバルウォークアップは、
[edit policy-options defaults]
または[edit logical-systems logical-system-name policy-options defaults]
階層レベルで設定され、すべてのポリシーに適用されます。ポリシーステートメント
RouteFilter-Case6
を設定し、no-walkup
ステートメントを使用してローカルでウォークアップを無効にします(このポリシーではウォークアップは実行されません)。[edit policy-options] user@host# set policy-statement Route-Filter-Case6 defaults route-filter walkup
ポリシーステートメントの
RouteFilter-Case6
と条件をローカルで設定します。[edit policy-options] user@host# set policy-statement RouteFilter-Case6 term ...
ポリシーステートメントをルーティングプロトコルに適用します。
ポリシーステートメントは、ルーティングプロトコル自体のインポートまたはエクスポートポリシーとして適用されるまでは何もしないことに注意してください。BGPの場合、これはグローバル、グループ、またはネイバーレベルで実行できます。