ルート フィルターのウォークアップを設定して運用効率を向上

複数のポリシー条件にまたがるルート フィルターを分割することでポリシーのパフォーマンスに懸念がある場合は、ウォークアップ機能を使用します。ウォークアップ機能により、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:ルートフィルターのウォークアップとポリシーステートメント

ケース:

グローバル設定

ローカル設定

結果

1

(なし)

(なし)

デバイスは、どのポリシーに対してもウォークアップを実行しません(デフォルト動作)。

2

(なし)

walkup

デバイスは、このポリシーのウォークアップを実行します。

3

(なし)

no-walkup

デバイスは、どのポリシーに対してもウォークアップを実行しません(デフォルト動作)。

4

walkup

(なし)

デバイスは、すべてのポリシーに対してウォークアップを実行します。

5

walkup

walkup

デバイスは、すべてのポリシーに対してウォークアップを実行します。

6

walkup

no-walkup

デバイスは、このポリシーに対してのみウォークアップを実行するわけではありません。

各行は、1から6までの番号が付けられた可能なユースケースを形成します。各ウォークアップケースは、次のように設定されます。

  • ケース#1:これは後方互換性のための些細な設定です。ルート フィルター ウォークアップは、グローバルにもローカルでも有効になっていません。デバイスの動作は、この機能が導入される前とまったく同じです。どのポリシーでも、ルート フィルターのウォークアップは発生しません。

  • ケース#2:ルートフィルターウォークアップはグローバルには有効ではなく、 RouteFilter-Case2という名前の特定のポリシーに対してローカルで有効になっています。ルート フィルターのウォークアップは、このポリシーで発生します。

    特定のポリシーに対してルート フィルター ウォークアップをローカルに設定するには:

    1. このポリシーステートメントのウォークアップ機能をローカルで有効にします。

    2. ポリシー条件をローカルで設定します(ウォークアップは、このポリシーのすべての条件に適用されます)。

    3. ルーティングプロトコルにポリシーステートメントを適用します。

  • ケース #3: ルート フィルター walkup はグローバルに有効になっていませんが、RouteFilter-Case3 という名前の特定のポリシーに対してno-walkupローカルで有効になっています。(このケースは、デフォルトではすべてのポリシーでウォークアップは実行されないため、特に役に立ちませんが、将来ウォークアップがグローバルに有効になった場合でも、ローカル動作が明示的になります)。

    特定のポリシーに対してルート フィルター no-walkup をローカルに設定するには:

    1. このポリシーステートメントの no-walkup 機能をローカルで有効にします。

    2. ポリシー条件をローカルで設定します(no-walkup がこのポリシーに適用されます)。

    3. ルーティングプロトコルにポリシーステートメントを適用します。

  • ケース #4: ルート フィルター walkup はグローバルに有効ですが、 RouteFilter-Case4 という名前の特定のポリシーに対してはローカルで有効になっていません。グローバル設定のため、ルートフィルター walkup はこのポリシーで発生します。

    デバイスのルート フィルター ウォークアップをグローバルに設定するには:

    1. このデバイスのウォークアップ機能をグローバルに有効にします。

      注:

      グローバル walkupは、ポリシーステートメントでローカルに設定された walkup または no-walkup ステートメントとは異なり、 [edit policy-options defaults] または [edit logical-systems logical-system-name policy-options defaults] 階層レベルで設定され、すべてのポリシーに適用されます。

    2. ポリシーステートメントの RouteFilter-Case4 と条件をローカルで設定します(ウォークアップがこのポリシーに適用されます)。

    3. ルーティングプロトコルにポリシーステートメントを適用します。

  • ケース#5:ルートフィルター walkup がグローバルに有効で、 RouteFilter-Case5という名前の特定のポリシーに対してローカルで有効になっている。この設定は冗長に見えるかもしれませんが(ウォークアップはローカルだけでなくグローバルにもグローバルに有効)、これにより、ルート フィルターのウォークアップがグローバル レベルで削除された場合でも、このポリシーでルート フィルターのウォークアップが確実に行われます。

    デバイスに対してグローバルに、特定のポリシーに対してローカルにルートフィルターウォークアップを設定するには:

    1. このデバイスの walkup 機能をグローバルに有効にします。

      注:

      グローバル ウォークアップは、 [edit policy-options defaults] または [edit logical-systems logical-system-name policy-options defaults] 階層レベルで設定され、すべてのポリシーに適用されます。

    2. ポリシーステートメント RouteFilter-Case5 を設定し、ローカルで walkup を有効にします(walkup このポリシーに適用されます)。

    3. ポリシーステートメントの RouteFilter-Case5 と条件をローカルで設定します(ウォークアップがこのポリシーに適用されます)。

    4. ルーティングプロトコルにポリシーステートメントを適用します。

  • ケース #6: ルート フィルター walkup はグローバルに有効ですが、RouteFilter-Case6 という名前の特定のポリシーの no-walkup でローカルに上書きされます。ローカル設定のため、このポリシーではルート フィルターのウォークアップは発生しません。このケースは、グローバル ウォークアップが有効になる前とまったく同じようにローカル ポリシーが機能することを確認するのに役立ちます。

    デバイスに対してグローバルにルートフィルターウォークアップを設定し、特定のポリシーに対してローカルにノーウォークアップ機能を設定するには:

    1. このデバイスのウォークアップ機能をグローバルに有効にします。

      注:

      グローバル ウォークアップは、 [edit policy-options defaults] または [edit logical-systems logical-system-name policy-options defaults] 階層レベルで設定され、すべてのポリシーに適用されます。

    2. ポリシー ステートメント RouteFilter-Case6 を設定し、 no-walkup ステートメントでローカルでウォークアップを無効にします(このポリシーではウォークアップは実行されません)。

    3. ポリシーステートメントの RouteFilter-Case6 と条件をローカルで設定します。

    4. ルーティングプロトコルにポリシーステートメントを適用します。

注:

ポリシーステートメントは、ルーティングプロトコル自体のインポートまたはエクスポートポリシーとして適用されるまで何もしないことに注意してください。BGPの場合、これはグローバル、グループ、またはネイバーレベルで実行できます。