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