ルート フィルターのウォークアップを設定して運用効率を向上
複数のポリシー条件にまたがるルート フィルターを分割することでポリシーのパフォーマンスに懸念がある場合は、ウォークアップ機能を使用します。ウォークアップ機能により、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の場合、これはグローバル、グループ、またはネイバーレベルで実行できます。