IP : ボーダー ゲートウェイ プロトコル(BGP)

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

2016 年 10 月 28 日 - 機械翻訳について
その他のバージョン: PDFpdf | ライター翻訳版 (2005 年 5 月 25 日) | 英語版 (2015 年 8 月 22 日) | フィードバック


目次


概要

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

ルート マップ 機能は Cisco IOS の一般的 な メカニズムですか。 ソフトウェアコンフィギュレーション。 これは、ポリシーベース ルーティング(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

!--- Output suppressed.

!
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 のシーケンス番号が付いています。 シーケンス番号を使用することで、次のアクションが可能になります。

    • ルートマップの別の部分に影響を与えずに、特定の句だけを容易に削除する。

    • 既存の 2 つの句の間に新しい句を挿入する。

    将来的に句を挿入する必要性が生じたときの番号の間隔を確保するために、10 単位で句に番号を指定することをお勧めします。

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

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

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

    • ルートマップの permit または deny 句で ACL を使用し、ACL がルートを拒否すると、route-map 句の一致は見つからず、次の route-map 句が評価されます。

  • 個々の route-map 句には次の 2 種類のコマンドがあります。

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

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

    再配布される各ルートについて、ルータは最初にルートマップの句の match コマンドを評価します。 一致基準が満たされると、そのルートは、permit 句または deny 句の指示に従って再配布または拒否され、一部の属性を set コマンドで変更できることがあります。 一致基準が満たされないと、この句はルートに適用されず、Cisco IOS ソフトウェアはルートマップの次の句でルートを評価します。 ルートマップのスキャンは、その match コマンドがルートに一致する句が見つかるまで、またはルートマップの終わりに達するまで続行します。

  • 次のいずれかの条件が満たされる場合は、各句の match コマンドまたは set コマンドを省略したり、何回か繰り返したりできます。

    • 複数の match コマンドが句に含まれる場合に、特定のルートが句に一致するためには、そのルートですべての照合に成功しなければなりません(つまり、複数の match コマンドでは論理 AND アルゴリズムが適用される)。

    • match コマンドが 1 つのコマンドの複数のオブジェクトを指している場合は、そのいずれかが一致していなければなりません(論理 OR アルゴリズムが適用される)。 たとえば、match ip address 101 121 コマンドでは、アクセス リスト 101 またはアクセス リスト 121 により許可される場合は、そのルートは許可されます。

    • match コマンドがない場合は、すべてのルートが句に一致します。 前の例では、句 30 に達したすべてのルートが一致しているため、 ルートマップの終わりには達しません。

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

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

match コマンドまたは set コマンドがない route-map 句はアクションを実行します。 空の permit 句を使用すると、変更を加えずに残りのルートの再配布が可能になります。 空の deny 句では、他のルートの再配布はできません。これは、ルートマップがすべてスキャンされたときに、明示的な一致が見つからなかったときのデフォルト アクションです。

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

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

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

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

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

ここでは、次の内容について説明します。

サポート対象外の一致を設定し、ルートマップのコマンドを設定する

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

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

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

ルートマップで影響を与えないコマンドの使用は、それが無害のように見えてもやめてください。次のような問題があるからです。

  • 影響のないコマンドにより、ユーザが達成しようとすることが分かりにくくなってしまう可能性があります。 これにより、設定が非常にわかりにくくなります。

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

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

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

    
    !--- This redistribution route-map is very dangerous!
    
    route-map ospf-to-ospf permit 10
     set metric +2
    !

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

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

    
    !--- This redistribution route-map is even more dangerous!
    
    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 は、Connectionless Network Service(CLNS)ルートと IP ルートに関する情報を伝達します。 このセクションの表には、これらのプロトコルの再配布ルートマップに使用可能な CLNS 関連コマンドも含まれています。

Ipv6 ルートを伝達するには、OSPF、IS-IS、および BGP の各 Routing Information Protocol(RIP)を使用できます。 これらのプロトコルの再配布ルートマップには IPv6 固有のコマンドが含まれる場合があります。 match ip コマンドと set ip コマンドは、IPv4 プレフィクスの再配布だけに使用されます。 match ipv6 コマンドと set ip コマンドは、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