ルーティングポリシー一致条件で使用するプレフィックスリストについて
プレフィックスリストは、IPアドレスの名前付きリストです。受信ルートとの完全一致を指定し、(オプションで)リスト内のすべての一致するプレフィックスに共通のアクションを適用できます。
例えば、以下のプレフィックスリストを設定するとします。
prefix-list bgp179 { apply-path "protocols bgp group <*> neighbor <*>"; }
これは、デバイス上のすべてのネイバーが同じアドレスファミリーに属している場合に適しています。
IPv4 と IPv6 の両方のネイバーが設定されている場合など、ネイバーが異なるアドレスファミリーに属している場合、以下のようにプレフィックスリストを使用できます。
prefix-list IPV4-BGP-NEIGHBORS { apply-path "protocols bgp group <*> neighbor <*.*.*.*>"; } prefix-list IPV6-BGP-NEIGHBORS { apply-path "protocols bgp group <*> neighbor <*:*:*>"; }
1 つのプレフィックス リストが IPv4 アドレスに一致します。もう一方はIPv6アドレスに一致します。コマンドを実行して 、構成を確認できます。show configuration policy-options prefix-list prefix-list name | display inheritance
プレフィックス リストは、一致タイプの複数のインスタンス のみを含むルート リストのように機能します。exact
これら 2 つの拡張一致条件の違いについては、を参照してください 。表 1
機能 |
プレフィックスリスト |
ルート リスト |
---|---|---|
アクション |
アクションはステートメント でのみ指定できます。 |
ステートメントの一致条件の特定のプレフィックスに適用するアクション、または ステートメントを使用してリスト内のすべてのプレフィックスに適用するアクションを指定できます。 |
ルート リストの設定については、「」を参照してください 。ルーティング ポリシー一致条件で使用するルート フィルターについて
ここでは、次の情報について説明します。
プレフィックスリストの設定
名前付きプレフィックスリストを作成し、 一致条件を使って ルーティングポリシーに含めることができます(で 説明)。prefix-list
ルーティングポリシー一致条件
プレフィックスリストを定義するには、 ステートメントを使用します 。prefix-list
[edit policy-options] prefix-list prefix-list-name { apply-path path; ip-addresses; }
ステートメントを使用して 、定義されたパスが指すすべてのプレフィックス(および関連するネットワークマスク)を含めるか、1つ以上のアドレス、またはその両方を指定できます。apply-path
ルーティングポリシーにプレフィックスリストを含めるには、 階層レベルの ステートメントで一致条件を指定します。prefix-list
from
[edit policy-options policy-statement policy-name term term-name]
[edit policy-options policy-statement policy-name term term-name] from { prefix-list prefix-list-name; } then actions;
name
は、プレフィックス リストを識別します。文字、数字、ハイフン(-)を含めることができ、最大127バイトまで使用可能です。名前にスペースを含めるには、名前全体を引用符(“ ”)で囲みます。
は、 で指定された IPv4 または IP バージョン 6(IPv6)プレフィックス です。ip-addresses
prefix/prefix-length
IPv4 のプレフィックスで prefix-length
を省略した場合、デフォルトは /32prefix-length
になります。IPv6 のプレフィックスで prefix-length
を省略した場合、デフォルトは /128 となります。from
ステートメントで指定されたプレフィックスは、すべての IPv4 アドレスまたはすべての IPv6 アドレスのいずれかである必要があります。リスト内の個々のプレフィックスにアクションを適用することはできません。
複数のルーティングポリシーまたはファイアウォールフィルターの ステートメントに同じプレフィックスリストを指定できます。from
ファイアウォール フィルターの詳細については、 と を参照してください。ファイアウォールフィルターの設定に関するガイドライン標準ファイアウォールフィルターの適用に関するガイドライン
ステートメント を使用して、定義されたパスが指すすべてのIPプレフィックスで構成されるプレフィックスリストを設定します。apply-path
これにより、グループプレフィックスリストを維持するために必要な労力のほとんどが不要になります。
パスは、スペースで区切られた要素で構成されます。各エレメントはコンフィグレーション キーワードまたは識別子と一致し、ワイルドカードを使用して複数の識別子と照合できます。ワイルドカードは山かっこで囲む必要があります (例: <*>)。
ワイルドカードを含むパス要素を、ステートメント内の リーフステートメントの後に追加することはできません。apply-path
ワイルドカードを含むパス要素は、コンテナステートメントの後にのみ使用できます。
を使用して プレフィックスリストを定義する場合、ポリシーステートメントで同じプレフィックスリストを使用することもできます。apply-path
プレフィックス リストの設定例については、「」を参照してください 。例:ルーティングポリシープレフィックスリストの設定
ルーティングポリシー一致条件でプレフィックスリストが評価される方法
プレフィックス リストの評価中に、ポリシー フレームワーク ソフトウェアは 最長一致ルックアップを行い、リストの中で最長のプレフィックスを検索します。プレフィックスを指定する上から下への順序は重要ではありません。次に、ソフトウェアはルートの送信元アドレスと最長のプレフィックスを比較します。
プレフィックスリストフィルターを設定することで、プレフィックスリストに含まれるプレフィックスにプレフィックスリスト修飾子を使用できます。詳細については、 ルーティングポリシー一致条件で使用するプレフィックスリストの設定を参照してください。
一致が発生した場合、現在の用語の評価が続行されます。一致が発生しない場合、現在の用語の評価は終了します。
プレフィックスリストに複数のプレフィックスを指定した場合、1つのプレフィックスのみが一致すれば一致します。プレフィックスリストのマッチングは、事実上、論理OR演算です。
プレフィックスリストフィルターの設定
プレフィックスリストフィルターを使用すると、プレフィックスリスト内のプレフィックスリストにプレフィックスリスト修飾子を適用できます。リスト内のプレフィックスは、指定された修飾子を使用して評価されます。同じポリシー条件で、複数のプレフィックスリストフィルターを設定できます。
プレフィックスリストフィルターを設定するには、 階層レベルで ステートメントを含め ます 。prefix-list-filter
[edit policy-options policy-statement policy-name from]
[edit policy-options policy-statement policy-name] from { prefix-list-filter prefix-list-name match-type actions; }
オプションは 、評価に使用するプレフィックスリストの名前です。prefix-list-name
指定できるプレフィックス リストは 1 つだけです。
オプションは 、プレフィックスリスト内のプレフィックスに適用する一致タイプです。match-type
これは、表 2 に記載されている一致タイプのいずれかにできます。
オプションは 、プレフィックスリストが一致した場合に実行するアクションです。actions
これは、 フロー制御 アクションの設定および ルート特性を操作するアクションの設定にリストされている1つ以上のアクションにすることができます。フロー制御アクションの設定ルート特性を操作するアクションの設定
照合タイプ |
一致条件 |
---|---|
|
ルートは、同じ最上位ビット(で記述 )を共有し、 ルートのプレフィックス長と等しくなります。 |
|
ルートは、同じ最上位ビット(で記述 )を共有し、 ルートのプレフィックス長よりも長くなっています。 |
|
ルートは、同じ最上位ビット(で記述 )を共有し、 ルートのプレフィックス長以上です。 |