内容

はじめに

前提条件

要件

使用するコンポーネント

背景説明

ルートマップの基本

Open Shortest Path First(OSPF)

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

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

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

コマンド サポート表

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

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

結論

関連情報

はじめに

このドキュメントでは、ダイナミック ルーティング プロトコルの redistribute コマンドで適用されるルートマップの設定方法について説明します。

前提条件

要件

このドキュメントに関する固有の要件はありません。

使用するコンポーネント

このドキュメントの情報は、Cisco IOS® ソフトウェア リリース 12.3 に基づくものです。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな（デフォルト）設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。

背景説明

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

ルートマップの基本

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

- これらは個々の文の順序付けられたシーケンスであり、それぞれが許可または拒否の結果を持ちます。ACL またはルートマップの評価は、事前に定義された順序でのリストのスキャンと、一致する各文の基準の評価で構成されています。最初に一致したステートメントが見つかると、リストスキャンは中止され、一致したステートメントに関連するアクションが実行されます。

- これらは一般的なメカニズムです。基準の一致と一致の解釈は、適用される方法によって決定されます。同じルートマップを異なるタスクに適用すると、解釈が異なる場合があります。

ルートマップとACLの間には、次のような違いがあります。

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

- アクセスリストの評価の主な結果は、「はい」または「いいえ」の回答です。ACLは、入力データを許可または拒否します。ACLを再配布に適用すると、特定のルートを再配布できる（route matches ACLs permit文）か、再配布できない（matches deny文）かがACLによって判断されます。一般的なルートマップは、再配布されたルートを（一部は）許可するだけでなく、ルートが別のプロトコルに再配布されるときにルートに関連付けられている情報も変更します。

- ルートマップはACLよりも柔軟性が高く、ACLが検証できない基準に基づいてルートを検証できます。たとえば、ルートマップはルートのタイプが内部であるかどうか、特定のタグがあるかどうかを確認できます。

- 各ACLは、設計上の規則により、暗黙のdenyステートメントで終わります。ルートマップに関する同様の規則はありません。一致の試みが行われたときにルートマップの終わりに達した場合、結果はルートマップの特定のアプリケーションによって異なります。幸い、再配布に適用されるルートマップはACLと同じように動作します。ルートがルートマップ内のどの句とも一致しない場合、ルートマップの最後にdeny文が含まれているかのように、ルートの再配布が拒否されます。

ダイナミック プロトコルの redistribute 設定コマンドを使用すると、ACL またはルートマップのいずれかを適用できます。このセクションで説明した違いによって、再配布プロセスでルートマップを使用するタイミングが決まります。再配布の際にルート情報を変更する場合、またはACLよりも強力な機能を照合する必要がある場合は、ルートマップの使用が推奨されます。反対に、プレフィックスまたはマスクに基づいて一部のルートを選択的に許可することだけが必要な場合は、redistribute コマンドで直接 ACL（または等価のプレフィックス リスト）を使用することをお勧めします。ルートマップを使用して、プレフィックスまたはマスクに基づいて一部のルートを選択的に許可する場合は、通常はこれよりも多くのコンフィギュレーション コマンドを使用して同じ目標を達成します。ルートマップは常に着信トラフィックに適用され、発信トラフィックには何の影響もありません。

Open Shortest Path First(OSPF)

次に、一般的な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 句には次の 2 種類のコマンドがあります。

- match：この句を適用する必要があるルートを選択します。

- set：ターゲットプロトコルに再配布する情報を変更します。

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

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

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

- matchコマンドが1つのコマンド内の複数のオブジェクトを参照する場合は、match（論理ORアルゴリズムが適用される）のいずれかです。 たとえば、match ip address 101 121コマンドでは、アクセスリスト101またはアクセスリスト121によって許可される場合は、そのルートは許可されます。

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

- ルートマップのpermit句にsetコマンドがない場合は、現在のアトリビュートを変更せずにルートが再配布されます。

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

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

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

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

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

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

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

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

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

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

- コマンド サポート表

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

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

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

そのため、ルータではすべての種類のmatchコマンドとsetコマンドの設定が可能ですが、状況に応じて論理的に適用する必要があります。そうしないと、設定が非常に混乱したり、誤ったタスクを実行したりする可能性があります。

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

- 影響のないコマンドにより、ユーザが達成しようとすることが分かりにくくなってしまう可能性があります。その結果、錯乱が起こることがあります。

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

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

このコマンドの +/- 形式は、一部のプロトコルではサポートされていません。「EIGRPルートマップのサポート」を参照してください。また、他のシナリオでは、実際には記号が削除された 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 very dangerous!

route-map ospf-to-ospf permit 10

set metric +2

!

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

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

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

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

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

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

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

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

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

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

コマンド サポート表

このセクションでは、redistribute コマンドに添付されるルートマップでサポートされているコマンドを説明します。ルートを再配布できるルーティングプロトコルは7つありますが、再配布を実行できるルーティングプロトコルは5つだけです。接続済みのスタティック ルートはダイナミック ルーティング プロトコルではなく、他のプロトコルに再配布される情報しか提供できません。

このセクションには、Cisco IOSソフトウェアリリース12.3ルートマップでサポートされている、再配布のコンテキストには適用されない matchコマンドと setコマンドは含まれていません。

Intermediate System-to-Intermediate System（IS-IS）および BGP は、Connectionless Network Service（CLNS）ルートと IP ルートに関する情報を伝達します。このセクションの表には、これらのプロトコルの再配布ルートマップに使用可能な CLNS 関連コマンドも含まれています。

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

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

- サポート対象コマンドには、Yesとマークが付いています。

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

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

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

コマンド

再配布のサポート

connected

static

RIP

EIGRP

OSPF

IS-IS

BGP

match clns address

—

Yes

—

—

—

Yes

Yes

match clns next-hop

—

Yes

—

—

—

Yes

—

match interface

Yes

Yes

Yes

Yes

Yes

Yes

—

match ip address

Yes

Yes

Yes

Yes

Yes

Yes

Yes

match ip address prefix-list

Yes

Yes

Yes

Yes

Yes

Yes

Yes

match ip next-hop

—

Yes

Yes

Yes

Yes

Yes

Yes

match ip next-hop prefix-list

—

いいえ

いいえ

いいえ

いいえ

いいえ

いいえ

match ip route-source

—

—

Yes

Yes

Yes

—

Yes

match ip route-source prefix-list

—

—

いいえ

いいえ

いいえ

—

いいえ

match ipv6 address [prefix-list]

Yes

Yes

Yes

—

Yes

Yes

Yes

match ipv6 next-hop [prefix-list]

—

Yes

Yes

—

—

—

Yes

match ipv6 route-source [prefix-list]

—

—

Yes

—

—

—

Yes

match metric

—

—

Yes

Yes

Yes

Yes

Yes

match policy-list

Yes

Yes

Yes

Yes

Yes

Yes

Yes

match route-type external

—

—

—

Yes

Yes

Yes

Yes

match route-type internal

—

—

—

Yes

Yes

—

Yes

match route-type local

—

—

—

—

—

—

Yes

match route-type nssa-external

—

—

—

—

Yes

—

—

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

—

—

—

—

—

Yes

—

match tag

—

Yes

Yes

Yes

Yes

Yes

Yes

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

コマンド

再配布のサポート

RIP

EIGRP

OSPF

IS-IS

BGP

set as-path tag

—

—

—

—

Yes

set community

—

—

—

—

Yes

set ip next-hop

—

—

—

—

Yes

set ip next-hop peer-address

—

—

—

—

いいえ

set ipv6 next-hop

—

—

—

—

Yes

set level {バックボーン|スタブエリア}

—

—

いいえ

—

—

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

—

—

—

Yes

—

set local-preference

—

—

—

—

Yes

set metric

Yes

—

Yes

Yes

Yes

set metric +/-

いいえ

—

いいえ

いいえ

いいえ

set metric eigrp-metric

—

Yes

—

—

—

set metric +/- eigrp-metric

—

いいえ

—

—

—

set metric-type internal

—

—

—

Yes

—

set metric-type external

—

—

—

Yes

—

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

—

—

Yes

—

—

set nlri

—

—

—

—

Yes

set origin

—

—

—

—

Yes

set tag

Yes

Yes

Yes

—

—

set weight

—

—

—

—

Yes

結論

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

関連情報

- ルーティングプロトコルの再配布

- プロトコルサポートページ

- シスコのテクニカルサポートとダウンロード