ポリシーベース ルーティングの設定
(注) PBR は Supervisor Engine 6-E でサポートされていません。
この章では、ルータ上でのポリシーベース ルーティング(PBR)の設定作業について説明します。主な内容は次のとおりです。
• 「PBR の概要」
• 「PBR の設定作業リスト」
• 「PBR の設定例」
(注) この章のスイッチ コマンドの構文および使用方法の詳細については、『Catalyst 4500 Series Switch Cisco IOS Command Reference』および次の URL の関連マニュアルを参照してください。
http://www.cisco.com/en/US/products/ps6350/index.html
(注) 機能に関連付けられたハードウェア プラットフォームまたはソフトウェア イメージの情報を識別するには、Cisco.com の Feature Navigator を使用して機能についての情報を検索するか、特定のリリースのソフトウェア リリースノートを参照してください。
PBR の概要
ここでは、次の内容について説明します。
• 「PBR について」
• 「PBR フロー スイッチングの概要」
• 「PBR の使用」
PBR は、トラフィック フローに定義ポリシーを設定し、ルートにおけるルーティング プロトコルへの依存度を軽くして、パケットのルーティングを柔軟に行えるようにします。この目的のために、PBR は、ルーティング プロトコルで提供される既存のメカニズムを拡張および補完することにより、ルーティングの制御を強化します。PBR により、高コスト リンクにおけるプライオリティ トラフィックなど、特定のトラフィックのパスを指定できます。
設定したポリシーに基づいてパケットをルーティングする方法として、PBR を設定できます。たとえば、特定のエンド システムの ID、アプリケーション プロトコル、またはパケット サイズに基づいてパスの permit や deny を行うルーティング ポリシーを実装できます。
PBR を使用すると、次の作業を実行できます。
• 拡張アクセス リスト基準に基づいてトラフィックを分類する。リストにアクセスし、一致基準を設定します。
• 特定のトラフィック処理が行われたパスへのパケットのルーティング
ポリシーは、IP アドレス、ポート番号、またはプロトコルをベースとします。ポリシーを単純にするには、これらの記述子のいずれか 1 つを使用します。複雑なポリシーにするには、これらをすべて使用します。
PBR について
PBR がイネーブルなインターフェイスで受信されたすべてのパケットは、ルート マップと呼ばれる拡張パケット フィルタを通過します。PBR で使用するルート マップはポリシーを要求し、パケットの転送先を判断します。
ルート マップは文で構成されています。ルート マップ文は、permit または deny としてマークでき、次の方法で解釈されます。
• 文が deny とマークされている場合、一致基準に合致したパケットは通常転送チャネルを通じて送り返され、宛先ベースのルーティングを実行します。
• 文が permit とマークされていてパケットがアクセス リストと一致している場合、最初の有効な set 句がそのパケットに適用されます。
PBR を着信インターフェイス(パケットを受信するインターフェイス)に指定できますが、発信インターフェイスには指定できません。
PBR フロー スイッチングの概要
Catalyst 4500 スイッチング エンジンは、「set next-hop」ルートマップ アクションと許可 ACL のパケットとの照合をサポートします。その他すべてのルートマップ アクション(拒否 ACL の照合を含む)は、フロー スイッチング モデルによってサポートされています。このモデルでは、ルートマップに一致するフローの最初のパケットは、転送目的でソフトウェアに配信されます。ソフトウェアは、パケットの正しい宛先を判別し、TCAM にエントリをインストールするので、そのあとのフローのパケットがハードウェアでスイッチングされるようになります。Catalyst 4500 スイッチング エンジンは、最大 4096 のフローをサポートします。
PBR の使用
PBR をイネーブルにして、特定のパケットのルーティング パスを最短と思われるパスから変更できます。たとえば、PBR を使用して、次の機能を提供できます。
• 同等アクセス
• プロトコル依存ルーティング
• 送信元依存ルーティング
• 双方向対バッチ トラフィックに基づくルーティング
• 専用リンクに基づくルーティング
アプリケーションまたはトラフィックによっては、送信元依存ルーティングが有効です。たとえば、在庫記録を本社に送信する場合は高帯域幅で高コストのリンクを短時間使用し、電子メールなどの日常的に使うアプリケーション データは低帯域幅で低コストのリンクで送信します。
PBR の設定作業リスト
ここでは、PBR を設定するために実行する作業について説明します。最初の項の作業は必須ですが、残りの項の作業は任意です。この章の末尾にある PBR の設定例を参照してください。
• PBR のイネーブル化(必須)
• ローカル PBR のイネーブル化(任意)
PBR のイネーブル化
PBR をイネーブルにするには、一致基準およびすべての match 句と一致した場合の動作を指定するルート マップを作成する必要があります。次に、特定のインターフェイスでそのルート マップ用の PBR をイネーブルにします。指定したインターフェイスに着信したパケットのうち、match 句と一致したものはすべて PBR の対象になります。
特定のインターフェイス上で PBR をイネーブルにするには、次の作業を行います。
|
|
|
ステップ 1 |
Switch(config)# route-map map-tag [ permit | deny ] [ sequence-number ] |
パケットの出力先を制御するためのルート マップを定義します。このコマンドを入力すると、ルータはルートマップ コンフィギュレーション モードになります。 |
ステップ 2 |
Switch(config-route-map)# match ip address { access-list-number | name } [ ...access-list-number | name ] |
一致基準を指定します。1 つまたは複数の標準または拡張アクセス リストで許可された送信元および宛先 IP アドレスを照合します。 |
ステップ 3、4、5、または 6 を実行します。 |
ステップ 3 |
Switch(config-route-map)# set ip next-hop ip-address [... ip-address ] または |
基準に一致したパケットに適用するアクション(1 つまたは複数)を指定します。 パケットをルーティングするネクスト ホップを指定します(ネクスト ホップは隣接している必要があります)。この動作は、通常のルーティング テーブルで指定されているネクスト ホップと同じです。 |
ステップ 4 |
Switch(config-route-map)# set interface interface-type interface-number [... type number ] または |
基準に一致したパケットに適用するアクション(1 つまたは複数)を指定します。 パケットの出力インターフェイスを設定します。この動作は、パケットがローカル インターフェイスの外に転送されるように指定します。インターフェイスは(スイッチ ポートではない)レイヤ 3 インターフェイスでなければならず、パケットの宛先アドレスはそのインターフェイスに割り当てられた IP ネットワーク内に存在している必要があります。パケットの宛先アドレスがネットワークにない場合、パケットはドロップされます。 |
ステップ 5 |
Switch(config-route-map)# set ip default next-hop ip-address [... ip-address ] または |
基準に一致したパケットに適用するアクション(1 つまたは複数)を指定します。 その宛先に明示パスがない場合にパケットをルーティングするネクスト ホップを設定します。ネクスト ホップにパケットを転送する前に、スイッチはパケットの宛先アドレスをユニキャスト ルーティング テーブル内で検索します。一致するものが見つかった場合、パケットはルーティング テーブルを経由して転送されます。一致するものが見つからなかった場合、パケットは指定されたネクスト ホップに転送されます。 |
ステップ 6 |
Switch(config-route-map)# set default interface interface-type interface-number [... type ...number ] |
基準に一致したパケットに適用するアクション(1 つまたは複数)を指定します。 その宛先に明示パスがない場合のパケットの出力インターフェイスを設定します。ネクスト ホップにパケットを転送する前に、スイッチはパケットの宛先アドレスをユニキャスト ルーティング テーブル内で検索します。一致するものが見つかった場合、パケットはルーティング テーブルを経由して転送されます。一致するものが見つからなかった場合、パケットは指定された出力インターフェイスに転送されます。パケットの宛先アドレスがネットワークにない場合、パケットはドロップされます。 |
ステップ 7 |
Switch(config-route-map)# interface interface-type interface-number |
インターフェイスを指定します。このコマンドを入力すると、ルータはインターフェイス コンフィギュレーション モードになります。 |
ステップ 8 |
Switch(config-if)# ip policy route-map map-tag |
PBR で使用するルート マップを識別します。1 つのインターフェイスに対して使用できるルート マップ タグは 1 つだけですが、異なるシーケンス番号を持つルート マップ エントリを複数設定できます。これらのエントリは、最初の一致が見つかるまで、シーケンス番号順に評価されます。一致が見つからない場合、パケットは通常どおりにルーティングされます。 |
set コマンドは、他のコマンドとともに使用できます。これらのコマンドは、上記のステップ 3 に示す順序に従って評価されます。使用可能なネクスト ホップはインターフェイスで暗黙指定されます。ローカル ルータは、ネクスト ホップと使用可能なインターフェイスを検出したら、パケットをルーティングします。
ローカル PBR のイネーブル化
ルータによって生成されるパケットは、通常、ポリシー ルーティングされません。これらのパケットのためのローカル PBR をイネーブルにするには、ルータが使用すべきルート マップを示すために、次の作業を行います。
|
|
Switch(config)# ip local policy route-map map-tag |
ローカル PBR で使用するルート マップを識別します。 |
これで、ルータから発信されたパケットはすべて、ローカル PBR の対象となります。
ローカル PBR で使用するルート マップ(ある場合)を表示するには、 show ip local policy コマンドを使用します。
サポートされていないコマンド
ルートマップ コンフィギュレーション モードの次の PBR コマンドは CLI のものですが、Catalyst 4500 シリーズ スイッチの Cisco IOS ではサポートされていません。これらのコマンドを使用しようとすると、エラー メッセージが表示されます。
• match-length
• set ip qos
• set ip tos
• set ip precedence
PBR の設定例
ここでは、PBR の設定例を示します。
• 「同等アクセス例」
• 「ネクスト ホップを変更する例」
• 「ACE の拒否例」
PBR の設定方法については、この章の「PBR の設定作業リスト」を参照してください。
同等アクセス例
次に、2 つの送信元が、異なるサービス プロバイダーに対して同等アクセスを持つ例を示します。ルータにパケットの宛先について明示パスがない場合、送信元 1.1.1.1 からインターフェイス FastEthernet 3/1 に着信したパケットは、6.6.6.6 にあるルータへ送信されます。ルータにパケットの宛先について明示パスがない場合、送信元 2.2.2.2 から着信したパケットは、7.7.7.7 にあるルータへ送信されます。宛先についての明示的なルートがルータにない他のすべてのパケットは破棄されます。
Switch (config)# access-list 1 permit ip 1.1.1.1
access-list 1 permit ip 1.1.1.1
interface fastethernet 3/1
ip policy route-map equal-access
route-map equal-access permit 10
set ip default next-hop 6.6.6.6
route-map equal-access permit 20
set ip default next-hop 7.7.7.7
route-map equal-access permit 30
set default interface null0
(注) ドロップするパケットが最初の 2 つの route-map 句と一致しない場合、set default interface null0 を set interface null0 に変更します。
ネクスト ホップを変更する例
次に、異なる送信元から異なる場所(ネクスト ホップ)へルーティングする例を示します。送信元 1.1.1.1 から着信したパケットは 3.3.3.3 にあるネクスト ホップに送信され、送信元 2.2.2.2 から着信したパケットは 3.3.3.5 にあるネクスト ホップへ送信されます。
access-list 1 permit ip 1.1.1.1
access-list 2 permit ip 2.2.2.2
interface fastethernet 3/1
ip policy route-map Texas
route-map Texas permit 10
route-map Texas permit 20
ACE の拒否例
次に、指定されたルート マップ シーケンスの処理を停止し、次のシーケンスに飛ぶ例を示します。送信元 1.1.1.1 から着信したパケットは、シーケンス 10 をスキップしてシーケンス 20 に飛びます。サブネット 1.1.1.0 から着信する他のすべてのパケットは、シーケンス 10 の set 文に従います。
access-list 1 deny ip 1.1.1.1
access-list 1 permit ip 1.1.1.0 0.0.0.255
access-list 2 permit ip 1.1.1.1
access-list 2 permit ip 2.2.2.2
interface fastethernet 3/1
ip policy route-map Texas
route-map Texas permit 10
route-map Texas permit 20