ポリシーベース ルーティング
ポリシーベース ルーティングの概要
PBR を使用すると、トラフィック フローに定義済みポリシーを設定できます。PBR を使用してルーティングをより細かく制御するには、ルーティング プロトコルから取得したルートの信頼度を小さくします。PBR は、次の基準に基づいて、パスを許可または拒否するルーティング ポリシーを設定したり、実装したりできます。
-
特定のエンド システムの ID
-
アプリケーション
-
プロトコル
PBR を使用すると、等価アクセスや送信元依存ルーティング、インタラクティブ対バッチ トラフィックに基づくルーティング、専用リンクに基づくルーティングを実現できます。たとえば、在庫記録を本社に送信する場合は高帯域で高コストのリンクを短時間使用し、電子メールなど日常的に使用するアプリケーション データは低帯域で低コストのリンクで送信できます。
PBR がイネーブルの場合は、アクセス コントロール リスト(ACL)を使用してトラフィックを分類し、各トラフィックがそれぞれ異なるパスを経由するようにします。PBR は着信パケットに適用されます。PBR がイネーブルのインターフェイスで受信されたすべてのパケットは、ルート マップを通過します。ルート マップで定義された基準に基づいて、パケットは適切なネクスト ホップに転送(ルーティング)されます。
- 許可とマークされているルート マップ文は次のように処理されます。
- match コマンドは長さまたは複数の ACL で照合できます。ルート マップ文には複数の match コマンドを含めることができます。論理関数またはアルゴリズム関数は、許可または拒否の決定がされるまで、すべての match コマンドで実行されます。
次に例を示します。
match length A B
match ip address acl1 acl2
match ip address acl3
パケットは、match length A B または acl1 または acl2 または acl3 により許可される場合に許可されます。
- 決定が許可の場合は、set コマンドで指定されたアクションがパケットで適用されます。
- 下された決定が拒否の場合は、PBR アクション(set コマンドで指定された)が適用されません。代わりに、処理ロジックが、シーケンス内の次のルート マップ文(シーケンス番号が次に高い文)に移動します。次の文が存在しない場合は、PBR 処理が終了し、パケットがデフォルトの IP ルーティング テーブルを使用してルーティングされます。
- match コマンドは長さまたは複数の ACL で照合できます。ルート マップ文には複数の match コマンドを含めることができます。論理関数またはアルゴリズム関数は、許可または拒否の決定がされるまで、すべての match コマンドで実行されます。
- PBR では、拒否としてマークされているルートマップ ステートメントはサポートされません。
標準 IP ACL を使用すると、アプリケーション、プロトコル タイプ、またはエンド ステーションに基づいて一致基準を指定するように、送信元アドレスまたは拡張 IP ACL の一致基準を指定できます。一致が見つかるまで、ルート マップにこのプロセスが行われます。一致が見つからない場合、通常の宛先ベース ルーティングが行われます。match ステートメント リストの末尾には、暗黙の拒否ステートメントがあります。
match 句が満たされた場合は、set 句を使用して、パス内のネクスト ホップ ルータを識別する IP アドレスを指定できます。
オブジェクト トラッキングを使用したポリシーベース ルーティング
ポリシーベース ルーティング(PBR)を設定すると、パケットの転送が最も可能なネクストホップ IP アドレスをオブジェクト トラッキングを使用して確認できます。これには、Internet Control Message Protocol(ICMP)ping を検証方式として使用します。
オブジェクト トラッキングを使用した PBR は、ネクスト ホップとして複数のイーサネット接続があるデバイスに最適です。通常、イーサネット インターフェイスは DSL モデムまたはケーブル モデムに接続し、ISP ブロードバンド ネットワーク内の上流側の障害は検出しません。イーサネット インターフェイスはアップ状態を継続し、いずれかの形式のスタティック ルーティングがそのインターフェイスをポイントします。オブジェクト トラッキングを使用した PBR では、最大 2 つのイーサネット インターフェイスをバックアップし、到達可能性を確認するために ICMP ping を送信することで使用可能なインターフェイスを判断し、そのインターフェイスにトラフィクをルーティングすることができます。
(注) |
オブジェクト トラッキングを使用した PBR では VRF をサポートしていません。 |
PBR の設定方法
-
PBR を使用するには、スイッチまたはスタック マスター上で フィーチャ セットを有効にしておく必要があります。
-
マルチキャスト トラフィックには、ポリシーによるルーティングが行われません。PBR が適用されるのはユニキャスト トラフィックだけです。
-
ルーテッド ポートまたは SVI 上で、PBR を有効にできます。
-
スイッチは一致長に基づき PBR をサポートします。
-
レイヤ 3 モードの EtherChannel ポート チャネルにはポリシー ルート マップを適用できますが、EtherChannel のメンバーである物理インターフェイスには適用できません。適用しようとすると、コマンドが拒否されます。ポリシー ルート マップが適用されている物理インターフェイスは、EtherChannel のメンバーになることができません。
-
スイッチまたはスイッチ スタックには最大 128 個の IP ポリシー ルート マップを定義できます。
-
スイッチまたはスイッチ スタックには、PBR 用として最大 512 個のアクセス コントロール エントリ(ACE)を定義できます。
-
ルート マップに一致基準を設定する場合は、次の注意事項に従ってください。
-
ローカル アドレス宛てのパケットを許可する ACL と照合させないでください。PBR がこれらのパケットを転送するため、ping または Telnet の失敗やルート プロトコルのフラッピングを発生させる可能性があります。
-
-
VRF と PBR は、スイッチ インターフェイス上で相互に排他的です。PBR がインターフェイスで有効になっているときは、VRF を有効にはできません。その反対の場合も同じで、VRF がインターフェイスで有効になっているときは、PBR を有効にできません。
-
PBR で使用されるハードウェア エントリ数は、ルート マップ自体、使用される ACL、ACL およびルート マップ エントリの順序によって異なります。
-
TOS、DSCP、および IP Precedence に基づく PBR はサポートされません。
-
set interface、set default next-hop、および set default interface はサポートされません。
-
ip next-hop recursive および ip next-hop verify availability 機能は使用できません。next-hop は、直接接続される必要があります。
-
set アクションのないポリシー マップはサポートされます。一致パケットは通常どおりにルーティングされます。
-
match 句のないポリシー マップはサポートされます。set アクションはすべてのパケットに適用されます。
デフォルトでは、PBR はスイッチ上で無効です。PBR を有効にするには、一致基準および結果アクションを指定するルート マップを作成する必要があります。次に、特定のインターフェイスでそのルート マップ用の PBR を有効にします。指定したインターフェイスに着信したパケットのうち、match 句と一致したものはすべて PBR の対象になります。
スイッチで生成されたパケットまたはローカル パケットは、通常どおりにポリシー ルーティングされません。スイッチ上でローカル PBR をグローバルに有効にすると、そのスイッチから送信されたすべてのパケットがローカル PBR の影響を受けます。ローカル PBR は、デフォルトで無効に設定されています。
手順
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
||
ステップ 2 |
route-map map-tag [permit] [sequence number] 例:
|
|
||
ステップ 3 |
match ip address {access-list-number | access-list-name} [ access-list-number | ...access-list-name] 例:
|
1 つ以上の標準または拡張アクセス リストで許可されている送信元および宛先 IP アドレスを照合します。ACL は、複数の送信元および宛先 IP アドレスでも照合できます。 match コマンドを指定しない場合、ルートマップはすべてのパケットに適用されます。 |
||
ステップ 4 |
match length min max 例:
|
パケット長と照合します。 |
||
ステップ 5 |
set ip next-hop ip-address [ ...ip-address] 例:
|
|
||
ステップ 6 |
set ip next-hop verify-availability [next-hop-address sequence track object] 例:
|
ルート マップを設定し、トラッキング対象オブジェクトの到達可能性を確認します。
|
||
ステップ 7 |
exit 例:
|
グローバル コンフィギュレーション モードに戻ります。 |
||
ステップ 8 |
interface interface-id 例:
|
|
||
ステップ 9 |
ip policy route-map map-tag 例:
|
レイヤ 3 インターフェイス上で PBR をイネーブルにし、使用するルート マップを識別します。1 つのインターフェイスに設定できるルート マップは、1 つだけです。ただし、異なるシーケンス番号を持つ複数のルート マップ エントリを設定できます。これらのエントリは、最初の一致が見つかるまで、シーケンス番号順に評価されます。一致が見つからない場合、パケットは通常どおりにルーティングされます。 |
||
ステップ 10 |
ip route-cache policy 例:
|
|
||
ステップ 11 |
exit 例:
|
|
||
ステップ 12 |
ip local policy route-map map-tag 例:
|
(任意)ローカル PBR を有効にして、スイッチから送信されるパケットに PBR を実行します。ローカル PBR は、スイッチによって生成されるパケットに適用されます。着信パケットには適用されません。 |
||
ステップ 13 |
end 例:
|
特権 EXEC モードに戻ります。 |
||
ステップ 14 |
show route-map [map-name] 例:
|
(任意)設定を確認するため、設定されたすべてのルート マップ、または指定されたルート マップだけを表示します。 |
||
ステップ 15 |
show ip policy 例:
|
(任意)インターフェイスに付加されたポリシー ルート マップを表示します。 |
||
ステップ 16 |
show ip local policy 例:
|
(任意)ローカル PBR が有効であるかどうか、および有効である場合は使用されているルート マップを表示します。 |
オブジェクト トラッキングを使用したネクストホップ IP の確認
PBR を使用し、オブジェクト トラッキングでネクストホップ IP アドレスを確認するには、次のタスクを実行します。
手順
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
track object-number ip sla entry-number 例:
|
IP SLA オブジェクトの状態を追跡します。 |
ステップ 3 |
ip sla operation-number 例:
|
Cisco IOS IP サービス レベル契約(SLA)の動作設定を開始し、IP SLA コンフィギュレーション モードを開始します。 |
ステップ 4 |
icmp-echo ip-address source-ip ip-address 例:
|
IP SLA Internet Control Message Protocol(ICMP)エコー プローブ動作を設定し、エコー コンフィギュレーション モードを開始します。 |
ステップ 5 |
frequency seconds 例:
|
(任意)指定した IP SLA 動作を繰り返す間隔を秒単位で設定します。 |
ステップ 6 |
threshold milliseconds 例:
|
(任意)上昇しきい値イベントの宣言に必要な時間をミリ秒単位で設定します。 |
ステップ 7 |
timeout milliseconds 例:
|
(任意)IP SLA 動作の完了に必要な最大時間をミリ秒単位で設定します。 |
ステップ 8 |
ip sla schedule operation-number [life {forever | seconds}] [start-time {hh : mm[:ss] [month day | day month] | pending | now | after hh : mm : ss}] [ ageout seconds] 例:
|
単一の Cisco IOS IP SLA 動作のスケジューリング パラメータを設定します。 |
ステップ 9 |
route-map map-tag [permit | deny] [sequence-number] 例:
|
ルート マップを指定し、ルート マップ コンフィギュレーション モードを開始します。 |
ステップ 10 |
match ip address [access-list-name] 例:
|
標準アクセス リストで許可された宛先 IPv4 ネットワーク番号アドレスを含むルートを配布します。 |
ステップ 11 |
set ip next-hop verify-availability [next-hop-address sequence track object] 例:
|
ルート マップを設定し、トラッキング対象オブジェクトの到達可能性を確認します。 |
PBR を設定するための機能情報
機能名 |
リリース |
機能情報 |
---|---|---|
ポリシーベース ルーティング |
Cisco IOS リリース 15.2(6)E2 |
ポリシーベースのルーティングを使用して、トラフィックフローに定義済みポリシーを設定します。 |