IP : IP ルーティング

IP ルーティング プロトコル再配布のためのルートマップの設定

2005 年 5 月 25 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2005 年 8 月 10 日) | フィードバック

目次

概要
前提条件
      要件
      使用するコンポーネント
      表記法
背景説明
      ルートマップについて
      ルートマップの基本
再配布に適用するルートマップで使用するコマンド
      ルートマップでのサポート対象外 match および set コマンドの設定
      ルートマップによる再配布の 2 つのプロトコルの特性
      コマンド サポート表
要約
関連するシスコ サポート コミュニティ ディスカッション
関連情報

概要

この文書では、ダイナミック ルーティング プロトコルの redistribute コマンドで適用されるルートマップの設定に使用できるコマンドについて説明します。 また、ルートマップ機能のヒントや、ルートマップ設定が最も役立つ場合のアドバイスも提供しています。

ルートマップ機能は、Cisco IOS(R) ソフトウェア設定の一般的なメカニズムです。 これは、ポリシーベース ルーティング(PBR)や Border Gateway Protocol(BGP)でのネイバー アップデートの変更など、多数の異なるタスクに適用できます。 最も一般的なルートマップの用途の 1 つが、ダイナミック ルーティング プロトコル間で再配布されるルートに適用することです。 この文書では、このタイプの再配布を設定する際のルートマップの可能性について検証します。

前提条件

要件

この文書に関する特別な要件はありません。

使用するコンポーネント

この文書の情報は、メインラインの Cisco IOS ソフトウェア リリース 12.3 に基づいています。

この文書の情報は、特定のラボ環境にあるデバイスに基づいて作成されています。この文書内で使用されているデバイスはすべて、クリアな状態(デフォルト)から設定作業を始めています。対象のネットワークが実稼動中である場合には、すべてのコマンドによる潜在的な影響について確実に理解しておく必要があります。

表記法

文書表記の詳細については、『シスコ テクニカル ティップスの表記法』を参照してください。

背景説明

このセクションでは、Cisco IOS ソフトウェアでのルートマップの概要を説明します。

ルートマップについて

ルートマップには、広く知られている Access Control List(ACL; アクセス コントロール リスト)と共通する機能が多数備わっています。 両者のメカニズムには共通の特性があります。

  • ルートマップとは適切な順序で並んだ個々の文の連続であり、それぞれ、許可または拒否の結果が付随しています。 ACL またはルートマップの評価は、事前定義された順序によるリスト スキャン、および、照合する各文の条件に対する評価によって構成されています。 リスト スキャンは、最初の一致文が見つかると中断され、一致した文に関連付けられている処理が実行されます。

  • これらは、一般的なメカニズムです。条件の一致と一致の解釈は、それらが適用される方法に規定されます。 同一のルートマップでも、異なったタスクに適用されると異なる解釈になる場合があります。

ルートマップと ACL のメカニズムの相違点を次に示します。

  • ルートマップでは、一致条件として頻繁に ACL が使用されます。

  • アクセス リストの評価による主要な結果は、yes または no での応答になります。ACL では、入力データを許可または拒否します。 再配布に適用した場合、ACL では特定のルートを再配布できる(ACL の permit 文にルートが一致する)か、または再配布できない(deny 文に一致する)かが決定されます。 通常のルートマップでは再配布されたルート(の一部)が許可されるだけでなく、別のプロトコルに再配布された場合にはルートに関連付けられた情報も変更されます。 ルートマップの変更例については、この文書の「ルートマップの基本」のセクションを参照してください。

  • ルートマップは ACL より柔軟で、ACL では検証できない条件に基づいたルートの検証ができます。 たとえば、ルートマップではルートのタイプが内部であるかどうかということや、特定のタグが付けられているかどうかが検証できます。

  • 各 ACL は、設計上の標準により、暗黙的な deny 文で締めくくられますが、ルートマップには同様の規則はありません。 照合中にルートマップの最後に到達した場合、結果はルートマップが何に適用されるかによって異なります。 好都合なことに、再配布に適用されたルートマップは、ACL と同様の動作をします。 ルートがルートマップのすべての句と一致しない場合は、ルートマップの最後に deny 文が含まれているかのように、経路再配布は拒否されます。

ダイナミック プロトコルの redistribute 設定コマンドを使用すると、ACL またはルートマップのいずれかを適用できます。 このセクションで説明した相違点により、再配布を行う際にルートマップを使用するかどうかが判別できます。 再配布中にルート情報を変更する場合や、ACL よりも高度な照合機能が必要な場合は、ルートマップを使用した方が便利です。 これとは反対に、プレフィクスまたはマスクに基づいてルートを選択的に許可することだけが必要な場合は、redistribute コマンドで直接 ACL(または同等のプレフィクス リスト)を使用することを推奨します。 プレフィクスまたはマスクに基づいて選択的にルートを許可するためにルートマップを使用する場合は、通常、同じ目的を達成するのに設定コマンドをより多く使用することになります。

ルートマップの基本

次に、一般的な Open Shortest Path First to Enhanced Interior Gateway Routing Protocol(OSPF-to-EIGRP)のルートマップが redistribute コマンドで適用された例を示します。

!
router eigrp 1
 redistribute ospf 1 route-map ospf-to-eigrp
 default-metric 20000 2000 255 1 1500

!--- 出力を省略

!
route-map ospf-to-eigrp deny 10
 match tag 6
 match route-type external type-2
!
route-map ospf-to-eigrp permit 20
 match ip address prefix-list pfx
 set metric 40000 1000 255 1 1500
!
route-map ospf-to-eigrp permit 30
 set tag 8
!

この例では、次の点に注意します。

  • ルートマップの句には番号が付けられています。 この例では、句にはシーケンス番号の 10、20、および 30 が付けられています。シーケンス番号を利用して次の処理が実行できます。

    • ルートマップの他の部分には影響を与えずに、簡単に特定の句を 1 つ削除できます。

    • 2 つの既存の句の間に、新しい句を挿入できます。

    Cisco では、後で句を挿入する必要が生じたときに使用できる番号付けの領域を確保しておくために、句に付ける番号を 10 間隔にすることを推奨しています。

  • ルートマップには permit 句と deny 句が使用できます。 route-map ospf-to-eigrp には、deny 句が 1 つ(シーケンス番号 10)と、permit 句が 2 つあります。 deny 句は、一致したルートを再配布から除外します。 したがって、次の規則が適用されます。

    • ルートマップの permit 句で ACL を使用すると、その ACL によって許可されたルートが再配布されます。

    • ルートマップの deny 句で ACL を使用すると、その ACL によって許可されたルートは再配布されません。

    • ルートマップの permit や deny 句で ACL が使用されていて、その ACL でルートが拒否されていると、ルートマップ句の一致は検出されないことになるため、次のルートマップ句の評価が行われます。

  • 各ルートマップ句には、次の 2 種類のコマンドがあります。

    • match:この句を適用するルートを選択します。

    • set:対象プロトコルに再配布する情報を変更します。.

    ルータでは、再配布されている各ルートについて、まずルートマップ中の句の match コマンドを評価します。 条件に一致するものがある場合、そのルートは permit または deny 句による指定に従って再配布や拒否がされますが、一部の属性は set コマンドによって変更される場合があります。 一致条件を満たすものがない場合、その句はルートに適用されず、Cisco IOS ソフトウェアはルートマップ内の次の句でルートを評価します。 ルートマップのスキャンは、ルートに一致する match コマンドを持つ句が見つかるか、またはルートマップの末尾に到達するまで継続されます。

  • 次のいずれかの条件では、各句の matchset コマンドが適用除外されたり、あるいは数回繰り返されたりする場合があります。

    • 句に複数の match コマンドがある場合、ルートがそれらすべてに一致しないと、ルートがその句に一致したことにはなりません(つまり、複数の match コマンドには論理 AND アルゴリズムが適用されます)。

    • match コマンドが単一のコマンド内で複数のオブジェクトを参照している場合は、それらのオブジェクトのいずれかが一致することが必要です(論理 OR アルゴリズムが適用されます)。 たとえば、match ip address 101 121 コマンドでは、アクセス リスト 101 またはアクセス リスト 121 のいずれかで許可されていると、ルートが許可されます。

    • match コマンドがない場合は、すべてのルートがその句に一致することになります。 前述の例では、句 30 に到達したところですべてのルートが一致するため、ルートマップの最後まで到達することはありません。

    • ルートマップの permit 句に set コマンドがない場合、現在の属性は変更されずにルートが再配布されます。

ルートマップの deny 句には set コマンドを設定しないでください。これは、deny 句が経路再配布を禁止していることにより、変更する情報がないからです。

match コマンドや set コマンドがないルートマップ句では、処理が実行されます。 空の permit 句では、変更なしで残りのルートの再配布が許可されます。 空の deny 句では他のルートの再配布が許可されません(これは、ルートマップを最後までスキャンしても明示的な一致がない場合のデフォルトの処理です)。

このセクションの情報に基づくと、前述の OSPF-to-EIGRP ルートマップの例では次のことが実行されます。

  • タグ 6 が設定されたすべての Type-2 外部 OSPF ルートの再配布を禁止します。

  • 5 つのメトリック値、40000、1000、255、1、および 1500 を持つ pfx プレフィクス リストに一致するすべてのルートを EIGRP に再配布します。

  • 他のすべてのルートのタグを 8(デフォルト)に設定して再配布します。

再配布に適用するルートマップで使用するコマンド

このセクションには、次の項目があります。

ルートマップでのサポート対象外 match および set コマンドの設定

ルートマップは、前述の redistribute コマンドを含めた多数の構成で使用できる一般的なメカニズムです。 たとえば、PBR のルートマップに match length コマンドを設定して、特定の長さのパケットが転送されたときに所定の処理が実行されるように指定できます。 ただし、再配布に適用されるルートマップには、match length コマンドは使用できません。

ルートマップが適用されているか、後の段階で適用されるような状況では、サポート対象外の(または効力のない)ルートマップに match コマンドと set コマンドを設定できます。 この状況の例としては、再配布に適用されたルートマップで使用される match length コマンドなどがあります。 再配布では、redistribute コマンドで指定されたプロトコルで、ルーティング テーブルにインストールされた各ルートにルートマップが適用されます。 このため、ルータがルートマップを実行する際に解釈するのは、ルートマップが適用されている状況で意味を持つコマンドだけです。 この例では、再配布ルートマップで指定されている match length コマンドは、再配布には影響しません。 これはルートマップの設定には残っており、ルータの実行コンフィギュレーションでは表示されます。 ところが、このコマンドがルートマップに存在するかどうかにかかわらず、経路再配布への影響はありません。

つまり、ルータではすべての種類の match コマンドと set コマンドの設定が許可されますが、これらは状況に対して論理的に適用されます。 そうでないと、設定が非常に複雑になるか、または誤ったタスクが実行される可能性があります。

ルートマップの状況で無効なコマンドは、無害のように見えても次の問題が発生することがあるので、使用しないでください。

  • 無効なコマンドは、目的を不明瞭にする可能性があります。 これにより、設定が非常にわかりにくくなります。

  • 現在サポート対象外のコマンドも、Cisco IOS ソフトウェアの将来のリリースでサポートされる可能性があります。 したがって、将来ソフトウェア アップグレードが行われると、ルートマップの動作に望ましくない変化が生じる可能性があります。

  • すべてのコマンドが無害であるというわけではありません。たとえば、set metric +/- コマンドはメトリックの相対的な変更を指定し、BGP ルートのアドバタイズメントに使用されます。 これはルートの現在のメトリックを取得し、指定された値でそのメトリックを増加または減少させてから伝搬します。

    このコマンドの +/- 形式は、現在は再配布ルートマップではサポート対象外で、実際には記号が削除されて set metric コマンドと解釈されます。 たとえば、次のルートマップについて考えてみます。

    
    !--- この再配布ルートマップは、非常に危険です。
    
    route-map ospf-to-ospf permit 10
     set metric +2
    !

    この設定では、1 つの OSPF プロセスから別の OSPF プロセスへすべてのルートを再配布して、すべてのルートのメトリックが 2 増分されるように見えます。 しかし、実際にはすべてのルートのメトリックが一律に 2 に設定されます。ルータ設定を調べると、意図していない結果になっている可能性があります。

    このルートマップは、さらにわかりにくい結果になります。

    
    !--- この再配布ルートマップは、さらに危険です。
    
    route-map ospf-to-ospf permit 10
     set metric -367
    !

    この設定では、再配布ルートのメトリックは減少されるのではなく、実際にはメトリックが 367 に設定されます(記号なしで set metric が解釈されると、負のメトリックは不可能なので、正の値になります)。

ルートマップによる再配布の 2 つのプロトコルの特性

再配布に適用されるルートマップは、次の 2 つのルーティング プロトコルで動作します。

  • オリジナルのルーティング情報を提供するプロトコル

  • ルーティング情報が再配布されるプロトコル

各ルーティング プロトコルは、独自のルート属性のセットをサポートします。

再配布ルートマップ設定では、次のようになります。

  • ルートマップの match コマンドでは、再配布のためのオリジナル ルートを提供するプロトコルでサポートされるルートの属性が検証されます。

  • ルートマップの set コマンドでは、ルートの再配布先のプロトコルでサポートされるルートの属性が変更されます。

この文書の「コマンド サポート表」セクションに、コマンドのリストがあります。 これらは、再配布ルートマップの 2 つのプロトコルの特性を強調するために、match コマンドと set コマンドに分類されています。

コマンド サポート表

このセクションでは、redistribute コマンドに添付されるルートマップでサポートされているコマンドを説明します。 これらは、ルートの再配布が可能な 7 つのルーティング プロトコルですが、実際に再配布が行われるのは 5 つだけです。 接続されたルートおよびスタティック ルートはダイナミック ルーティング プロトコルではないので、他のプロトコルへの再配布対象情報の提供だけができます。

このセクションでは、IOS ソフトウェア リリース 12.3 のルートマップでサポートされている match コマンドと set コマンドは取り上げませんが、これらは再配布の状況では適用されません。

Intermediate System-to-Intermediate System(IS-IS)と BGP では、IP ルートとともに Connectionless Network Service(CLNS)ルートに関する情報が伝搬できます。 このセクションの表には、これらのプロトコルの再配布ルートマップに使用可能な CLNS 関連コマンドも含まれています。

IPv6 ルートの伝搬に、Routing Information Protocol(RIP)、OSPF、IS-IS、および BGP を使用できます。これらのプロトコルの再配布ルートマップには、IPv6 固有のコマンドが含まれています。 match ip コマンドと set ip コマンドは、IPv4 プレフィクスの再配布だけに使用されます。 match ipv6 コマンドと set ipv6 コマンドは、IPv6 プレフィクスの再配布だけに使用されます。 match clns コマンドと set clns コマンドを使用できるのは、ルートマップを使用してルーティング プロトコルと相互に CLNS ルートを再配布する場合だけです。

表 1 および表 2 では、次の表記法を使用しています。

  • サポート対象コマンドには、というマークが付けられています。

  • サポート対象外コマンドには、ダッシュ(-)というマークが付けられています。

  • 処理(おそらくは望まれない処理)が実行されることが判明しているサポート対象外コマンドには、不可というマークが付けられています。

表 1 - プロトコルによってルーティング テーブルにインストールされたルートを照合するルートマップ コマンド

コマンド

再配布のサポート

接続済み

スタティック

RIP

EIGRP

OSPF

IS-IS

BGP

match clns address

-

-

-

-

match clns next-hop

-

-

-

-

-

match interface

-

match ip address

match ip address prefix-list

match ip next-hop

-

match ip next-hop prefix-list

-

不可

不可

不可

不可

不可

不可

match ip route-source

-

-

-

match ip route-source prefix-list

-

-

不可

不可

不可

-

不可

match ipv6 address [prefix-list]

-

match ipv6 next-hop [prefix-list]

-

-

-

-

match ipv6 route-source [prefix-list]

-

-

-

-

-

match metric

-

-

match policy-list

match route-type external

-

-

-

match route-type internal

-

-

-

-

match route-type local

-

-

-

-

-

-

match route-type nssa-external

-

-

-

-

-

-

match route-type {level-1|level-2}

-

-

-

-

-

-

match tag

-

表 2 - ターゲット プロトコルへの再配布中にルート属性を変更するコマンド

コマンド

再配布のサポート

RIP

EIGRP

OSPF

IS-IS

BGP

set as-path tag

-

-

-

-

set community

-

-

-

-

set ip next-hop

-

-

-

-

set ip next-hop peer-address

-

-

-

-

不可

set ipv6 next-hop

-

-

-

-

set level {backbone|stub-area}

-

-

不可

-

-

set level {level-1|level-2|level-1-2}

-

-

-

-

set local-preference

-

-

-

-

set metric

-

set metric +/-

不可

-

不可

不可

不可

set metric eigrp-metric

-

-

-

-

set metric +/- eigrp-metric

-

不可

-

-

-

set metric-type internal

-

-

-

-

set metric-type external

-

-

-

-

set metric-type {type-1|type-2}

-

-

-

-

set nlri

-

-

-

-

set origin

-

-

-

-

set tag

-

-

set weight

-

-

-

-

要約

ルートマップは、ルートの再配布を行う強力なツールですが、同時に複雑なツールでもあります。 これらは、プロトコル間で再配布を行う場合には、非常に詳細にルーティング情報を操作できます。 ただし、危険性もあり、ネットワークに「ブラックホール」や不適切なトラフィック フローを発生させる可能性があります。 複数のルーティング プロトコル間で複雑な再配布機能を使用する場合は、慎重にネットワークを設計する必要があります。


関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 49111