Route Policy Manager について
Route Policy Manager は、ルート マップおよび IP プレフィックス リストをサポートしています。この機能は、ルート再配布に使用されます。プレフィックス リストには、1 つまたは複数の IPv4 または IPv6 ネットワーク プレフィックスおよび関連付けられたプレフィックス長の値を指定します。プレフィックス リストは、ボーダー ゲートウェイ プロトコル(BGP)テンプレート、ルート フィルタリング、またはルーティング ドメイン間で交換されるルートの再配布などの機能で、単独で使用できます。
ルート マップは、ルートおよび IP パケットの両方に適用できます。ルート フィルタリングおよび再配布は、ルート マップを使用してルートを渡します。
プレフィックス リスト
プレフィックス リストを使用すると、アドレスまたはアドレス範囲を許可または拒否することができます。プレフィックス リストによるフィルタリングでは、ルートまたはパケットのプレフィックスと、プレフィックス リストに指定されているプレフィックスの照合が行われます。特定のプレフィックスがプレフィックス リストのどのエントリとも一致しなかった場合、実質的に拒否されたものと見なされます。
プレフィックス リストに複数のエントリを設定し、エントリと一致したプレフィックスを許可または拒否できます。各エントリにはシーケンス番号が関連付けられています。この番号はユーザが設定できます。シーケンス番号が設定されていない場合は、Cisco NX-OS によって自動的にシーケンス番号が設定されます。Cisco NX-OS はシーケンス番号が最も小さいエントリから順番にプレフィックス リストを評価します。Cisco NX-OS は、所定のプレフィックスと最初に一致したエントリを処理します。一致すると、Cisco NX-OS は permit 文または deny 文を処理し、プレフィックス リストの残りのエントリは評価しません。
(注) |
プレフィックス リストが空の場合は、すべてのルートが許可されます。 |
ルート マップ
ルート マップは、ルートの再配布に使用できます。ルート マップ エントリは、一致基準および設定基準のリストからなります。一致基準では、着信ルートまたはパケットの一致条件を指定します。設定基準では、一致基準を満たした場合のアクションを指定します。
同じルート マップに複数のエントリを設定できます。これらのエントリには、同じルート マップ名を指定し、シーケンス番号で区別します。
一意のルート マップ名の下に 1 つまたは複数のルート マップ エントリをシーケンス番号に従って並べ、ルート マップを作成します。ルート マップ エントリのパラメータは、次のとおりです。
-
シーケンス番号
-
アクセス権:許可または拒否
-
一致基準
-
設定変更
ルート マップではデフォルトで、最小のシーケンス番号から順にルートまたは IP パケットが処理されます。continue 文を使用すると、次に処理するルート マップ エントリを決定できるので、別の順序で処理するようにルート マップを設定できます。
ルートマップのシーケンスのデフォルトアクション
ルート マップ内の任意のシーケンスのデフォルト アクションはpermit. です。許可アクションは次の状況で適用されます。
-
permit またはdeny. を明示的に指定せずにルート マップに新しいシーケンスを設定する場合
-
ルート マップで設定されたシーケンスを編集し、アクションを指定しない場合。この状況では、編集されたルートマップに元々 deny. が設定されていた場合でも、permit アクションが適用されます。たとえば、シーケンス 10 が deny で設定されていると仮定します。後ほど、deny を再度指定せずにシーケンス 10 を編集すると、そのシーケンスのアクションは permit. に設定されます。
ルートマップのシーケンスを設定または編集する場合は、常に正しいアクションを設定してください。そうしないと、デフォルトのアクションである permit が適用されます。
一致基準
さまざまな基準を使用して、ルート マップでルートや IP パケットを照合できます。BGP コミュニティ リストのように、特定のルーティング プロトコルだけに適用できる基準もありますが、IP 送信元または宛先アドレスなど、その他の基準はあらゆるルートまたは IP パケットに使用できます。
ルート マップに従ってルートまたはパケットを処理する場合、Cisco NX-OS は設定されている個々の match 文とルートまたはパケットを比較します。ルートまたはパケットが設定されている基準と一致した場合、Cisco NX-OS はルート マップ内で一致するエントリに対する許可または拒否設定、および設定されている設定基準に基づいて、このルートやパケットを処理します。
一致のカテゴリおよびパラメータは、次のとおりです。
-
BGP パラメータ:AS 番号、AS パス、コミュニティ属性、または拡張コミュニティ属性に基づく一致
-
プレフィックス リスト:アドレスまたはアドレス範囲に基づく一致
-
マルチキャスト パラメータ:ランデブー ポイント、グループ、または送信元に基づく一致
-
その他のパラメータ:IP ネクストホップ アドレスまたはパケット長に基づく一致
設定変更
ルートまたはパケットがルート マップのエントリと一致したら、設定済みの 1 つ以上の set 文に基づいて、そのルートまたはパケットを変更できます。
設定変更は次のとおりです。
-
BGP パラメータ:AS パス、タグ、コミュニティ、拡張コミュニティ、ダンプニング、ローカル プリファレンス、オリジン、または重み値属性の変更
-
メトリック:ルート メトリックまたはルート タイプの変更
-
その他のパラメータ:フォワーディング アドレスまたは IP ネクストホップ アドレスの変更
アクセス リスト
IP アクセス リストでは、次のような IP パケット フィールドとパケットを照合できます。
-
送信元または宛先 IPv4 または IPv6 アドレス
-
プロトコル
-
Precedence
-
ToS
-
ルート マップで ACL(アクセス コントロール リスト)を使用できるのは、ポリシーベース ルーティングの場合に限られます。
BGP の AS 番号
BGP ピアとの照合に使用する AS 番号のリストを設定できます。BGP ピアがリスト内の AS 番号と一致し、さらに他の BGP ピア設定と一致する場合、BGP はセッションを作成します。BGP ピアがリスト内の AS 番号と一致しない場合は、BGP はピアを無視します。AS 番号は AS 番号の範囲のリストとして設定できます。また、AS パス リストを使用して AS 番号を正規表現と比較することもできます。
BGP の AS パス リスト
AS パス リストを設定すると、着信または発信 BGP ルートのアップデートをフィルタリングできます。ルート アップデートに AS パス リストのエントリと一致する AS パス属性が含まれている場合、ルータは設定されている許可または拒否条件に基づいてルートを処理します。ルート マップの中で AS パス リストを設定できます。
同じ AS パス リスト名を使用することによって、AS パス リストで複数の AS パス エントリを設定できます。ルータは最初に一致したエントリを処理します。
BGP のコミュニティ リスト
ルート マップのコミュニティ リストを使用すると、BGP コミュニティに基づいて BGP ルート アップデートをフィルタリングできます。コミュニティ属性はコミュニティ リストに基づいて照合できます。また、コミュニティ属性はルート マップを使用して設定できます。
コミュニティ リストには、1 つまたは複数のコミュニティ属性を指定します。同じコミュニティ リスト エントリに複数のコミュニティ属性を設定した場合、BGP ルートが一致と見なされるには、指定されたすべてのコミュニティ属性と一致しなければなりません。
同じコミュニティ リスト名を使用することによって、コミュニティ リストのそれぞれ個別のエントリとして、複数のコミュニティ属性を設定することもできます。この場合、ルータは最初に BGP ルートと一致したコミュニティ属性を、そのエントリの許可または拒否設定に基づいて処理します。
コミュニティ リストのコミュニティ属性は、次の形式のいずれか 1 つで設定できます。
-
名前付きコミュニティ属性(internet 、no-export など)。
-
aa:nn 形式(最初の 2 バイトは 2 バイトの自律システム番号、最後の 2 バイトはユーザが定義するネットワーク番号を表します)。
-
正規表現。
BGP の拡張コミュニティ リスト
拡張コミュニティ リストでは 4 バイトの AS 番号がサポートされています。拡張コミュニティ リストのコミュニティ属性は、次のいずれかの形式で設定できます。
-
aa4:nn 形式(最初の 4 バイトは 4 バイトの AS 番号、最後の 2 バイトはユーザが定義するネットワーク番号を表します)。
-
正規表現。
Cisco NX-OS は汎用の特定拡張コミュニティ リストをサポートしています。このリストを使用すると、4 バイトの AS 番号に対して通常のコミュニティ リストと同様の機能を使用できます。汎用の特定拡張コミュニティ リストには次のプロパティを設定できます。
-
Transitive:BGP はコミュニティ属性を自律システム間に伝達します。
-
Nontransitive:BGP はコミュニティ属性を削除してからルートを他の自律システムに伝達します。
NX-OS BGP の大規模コミュニティの構成
NX-OS BGP の大規模コミュニティについて
NX-OS BGP は、標準および拡張コミュニティのみをサポートします。各標準コミュニティにはそれぞれ 4 バイトの制限があり、拡張コミュニティには 8 バイトの制限があるため、4 バイト ASN の使用はルートの分類方法に制限されます。8 バイトのうち、2 バイトはコミュニティ タイプの定義に使用されますが、残りの 6 バイトは使用可能です。大規模コミュニティは、IETF RFC(8092)によって標準化されています。これによりサイズが 12 バイトの大規模なコミュニティを定義でき、BGP ルートの分類が柔軟に行えます。
この機能は、コミュニティを使用してルートにタグを付けることにより、異なる ASN 内の異なるデータ センターからのルートを分類する機能を提供します。大規模コミュニティは、それぞれが 12 バイトの長さであるため、さまざまな ASN からのルートを分類する役割を果たせます。RFC8092 のサポートを追加することにより、NX-OS BGP は、標準のルート ポリシー メソッドを使用して 4 バイト ASN からルートを分類することを可能にします。また、標準の BGP コミュニティの 4 バイトの制限を取り除くことにより、ネットワークとルーティング ポリシーをより柔軟に構成できるようになります。
大規模なコミュニティ リストの構成(拡張)
大規模コミュニティ リストを展開形式で構成する手順は次のとおりです。
手順の概要
- configure terminal
- ip large-community-list expanded
- ip large-community-list expanded list-name
- ip large-community-list expanded abcd seq
- ip large-community-list expanded abcd seq 10 {deny | permit }
- ip large-community-list expanded abcd seq 10 permit XX:YY:ZZ
手順の詳細
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
configure terminal 例:
|
グローバル設定モードを開始します。 |
ステップ 2 |
ip large-community-list expanded 例:
|
このオプションは、拡張された大規模コミュニティ リスト エントリを追加します。 |
ステップ 3 |
ip large-community-list expanded list-name 例:
|
このオプションは、拡張された大規模コミュニティ リストの名前を提供します。list-名 には最大 63 文字の英数字を使用できます。大文字と小文字は区別されます。 |
ステップ 4 |
ip large-community-list expanded abcd seq 例:
|
このオプションは、エントリのシーケンス番号を提供します。 |
ステップ 5 |
ip large-community-list expanded abcd seq 10 {deny | permit } 例:
|
最初のオプションは、拒否する大規模なコミュニティを指定します。 2 番目のオプションは、受け入れる大規模なコミュニティを指定します。 |
ステップ 6 |
ip large-community-list expanded abcd seq 10 permit XX:YY:ZZ 例:
|
このオプションは、XX:YY:ZZ 形式を使用する正規表現を提供します。XX の範囲は <0 ~ 4294967294> で、ASN を表す 4 オクテットのグローバル管理者フィールドです。一方、YY と ZZ は 4 オクテットのローカル データ フィールドであり、ASN の所有者によって定義されます。 ":" は、グローバル データ フィールドとローカル データ フィールドの間の区切り文字です。 |
例
switch(config)# ip large-community-list expanded abcd seq 10 permit ”^100:200:300$"
switch(config)# sh run rpm
<<SNIP>>
ip large-community-list expanded abcd seq 10 permit ”^100:200:300$"
大規模なコミュニティ リストの構成(標準)
大規模なコミュニティ リストを標準形式で構成する手順は次のとおりです。
手順の概要
- configure terminal
- ip large-community-list standard
- ip large-community-list standard list-name
- ip large-community-list standard efgh seq
- ip large-community-list standard efgh seq 15 {deny | permit }
- ip large-community-list standard efgh seq 15 deny XX:YY:ZZ
手順の詳細
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
configure terminal 例:
|
グローバル設定モードを開始します。 |
ステップ 2 |
ip large-community-list standard 例:
|
このオプションは、標準の大規模なコミュニティ リスト エントリを追加します。 |
ステップ 3 |
ip large-community-list standard list-name 例:
|
このオプションは、標準の大規模なコミュニティ リストの名前を提供します。list-名 には最大 63 文字の英数字を使用できます。大文字と小文字は区別されます。 |
ステップ 4 |
ip large-community-list standard efgh seq 例:
|
このオプションは、エントリのシーケンス番号を提供します。 |
ステップ 5 |
ip large-community-list standard efgh seq 15 {deny | permit } 例:
|
最初のオプションは、拒否する大規模なコミュニティを指定します。 2 番目のオプションは、受け入れる大規模なコミュニティを指定します。 |
ステップ 6 |
ip large-community-list standard efgh seq 15 deny XX:YY:ZZ 例:
|
このオプションは、XX:YY:ZZ 形式を使用する正規表現を提供します。XX の範囲は <0 ~ 4294967294> で、ASN を表す 4 オクテットのグローバル管理者フィールドです。一方、YY と ZZ は 4 オクテットのローカル データ フィールドであり、ASN の所有者によって定義されます。 ":" は、グローバル データ フィールドとローカル データ フィールドの間の区切り文字です。 |
例
switch(config-route-map)# ip large-community-list standard efgh seq 15 deny 1000300:123:456
switch(config)# sh run rpm
<<SNIP>>
ip large-community-list standard efgh seq 15 deny 1000300:123:456
大規模コミュニティのルート マップ マッチの構成
大規模コミュニティのルート マップ マッチを構成する手順は次のとおりです。
手順の概要
- configure terminal
- match large-community
- match large-community list-name
- match large-community abcd exact-match
手順の詳細
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
configure terminal 例:
|
グローバル設定モードを開始します。 |
ステップ 2 |
match large-community 例:
|
このオプションは、BGP 大規模コミュニティ リストとのマッチングを行います。 |
ステップ 3 |
match large-community list-name 例:
|
このオプションは、コミュニティ リストの名前を提供します。list-名 には最大 63 文字の英数字を使用できます。大文字と小文字は区別されます。 |
ステップ 4 |
match large-community abcd exact-match 例:
|
このオプションは、コミュニティの完全一致を実行します。 |
例
switch(config-route-map)# sh run rpm
<<SNIP>>
route-map test permit 10
match large-community abcd efgh
大規模コミュニティのルート マップ セットの構成
大規模コミュニティのルート マップ セットを構成する手順は次のとおりです。
手順の概要
- configure terminal
- set large-community-list
- set large-community-list list-name
- set large-community-list list-name delete
- set large-community {none | XX:YY:ZZ [additive ] | additive }
手順の詳細
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
configure terminal 例:
|
グローバル設定モードを開始します。 |
ステップ 2 |
set large-community-list 例:
|
このオプションは、BGP 大規模コミュニティ属性を設定します。 |
ステップ 3 |
set large-community-list list-name 例:
|
このオプションは、大規模コミュニティ リストの名前を設定します。list-名 には最大 63 文字の英数字を使用できます。大文字と小文字は区別されます。 |
ステップ 4 |
set large-community-list list-name delete 例:
例:
|
このオプションは、マッチした大規模なコミュニティを削除します。 |
ステップ 5 |
set large-community {none | XX:YY:ZZ [additive ] | additive } 例:
例:
|
このコマンドは、BGP ルート更新のための大規模コミュニティ属性を設定します
|
ルートの再配布およびルート マップ
ルート マップを使用すると、ルーティング ドメイン間でのルートの再配布を制御できます。ルート マップではルートの属性を照合し、一致基準を満たすルートだけを再配布します。設定変更を使用することによって、再配布時に、ルート マップでルート属性を変更することもできます。
ルータは再配布されたルートを各ルート マップ エントリと照合します。match 文が複数ある場合は、ルートがすべての一致基準を満たしている必要があります。ルートがルート マップ エントリで定義されている一致基準を満たす場合は、エントリで定義されているアクションが実行されます。ルートが基準と一致しなかった場合、ルータは後続のルート マップ エントリとルートを比較します。ルートの処理は、ルートがルート マップのいずれかのエントリと一致するか、どのエントリとも一致せずすべてのエントリによる処理が完了するまで継続します。ルータがルート マップの全エントリとルートを比較しても一致しなかった場合、ルータはそのルートを受け付けるか(着信ルート マップ)またはルートを転送します(発信ルート マップ)。
(注) |
BGP をIGP に再配布するとき、iBGP も再配布されます。この動作を無効にするには、ルート マップに追加 deny 文を挿入します。 |