再配送の設定の考え方

再配送の設定は、redistributeコマンドを使います。再配送「先」のルーティングプロセスのコンフィグレーションモードの中でredistributeコマンドを入力します。redistributeコマンドでは、再配送「元」のルーティングプロセスを指定します。ここが紛らわしいので注意してください。たとえば、RIPのルートをOSPFに再配送するときは、router ospf <process-id>配下のOSPFのコンフィグレーションモード内でredistribute ripとコマンド入力します。

ルート再配送のredistributeコマンド構文は、次の通りです。

redistributeコマンド

(config)#router <protocol1>
(config-router)#redistribute <protocol2>

<protocol1> : 再配送「先」のルーティングプロセス
<protocol2> : 再配送「元」のルーティングプロセス

ルーティングプロトコルの種類によって、<protocol1>のあとのオプションが異なります。また、redistributeコマンドのオプションが異なります。

再配送の設定のイメージを図で表すと次のようになります。

再配送の設定イメージ
図 再配送の設定イメージ

RIPへの再配送の設定

RIPへの再配送は、router ripの配下でredistributeコマンドを設定します。RIPへ再配送するときには、シードメトリックの指定が必須です。シードメトリックを指定しなければ、∞でルート情報は無効です。そのため、再配送されません。

シードメトリックの指定には、redistributeコマンドのオプションとdefault-metricコマンドの2通りあります。

RIPへの再配送

(config)#router rip
(config-router)#redistribute <protocol> metric <metric-value>

または

(config)#router rip
(config-router)#redistribute <protocol>
(config-router)#default-metric <metric-value>

<protocol> : 再配送元のルーティングプロセス
<metric-value> : シードメトリックの値

redistributeコマンドにはさらにさまざまなオプションを指定できます。

redistributeコマンドのmetricオプションとdefault-metricコマンドの違いは、再配送元が複数ある場合に出てきます。再配送元が1つの場合はどちらで設定しても同じです。再配送元が複数ある場合、各再配送元のプロセスごとにシードメトリックを設定したい場合はredistributeコマンドのmetricオプションを使います。すべての再配送元のプロセスで共通のシードメトリックを設定する場合は、default-metricコマンドを使います。

ただ、connectedおよびstaticのルーティングプロセスから再配送した場合はシードメトリックとして1が与えられます。つまり、再配送元がconnectedやstaticの場合はシードメトリックの設定はなくてもかまいません。しかし、再配送元によってシードメトリックを設定したりしなかったりをすると、設定ミスの原因になります。そのため、シードメトリックは明示的に設定するものと認識しておいた方がよいでしょう。

EIGRPへの再配送の設定

EIGRPへ再配送するには、router eigrpの配下でredistributeコマンドを利用します。基本的な考え方はRIPと同じで、デフォルトのシードメトリックは∞(無限大)です。シードメトリックを明示的に設定しなければ、無効なルート情報になり、再配送されません。シードメトリックの設定は、次のように行います。

EIGRPへの再配送

(config)#router eigrp <AS>
(config-router)#redistribute <protocol> metric <BW> <DLY> <Reliability> <Load> <MTU>

or

(config)#router eigrp <AS>
(config-router)#redistribute <protocol>
(config-router)#default-metric <BW> <DLY> <Reliability> <Load> <MTU>

<AS> : AS番号
<protocol> : 再配送元のルーティングプロセス
<BW> : 帯域幅。kbps単位
<DLY> :遅延。10μs単位
<Reliability> : 信頼性。255で100%の信頼性
<Load> : 負荷。1が最小負荷、255が最大負荷
<MTU> : MTUサイズ

redistributeコマンドにはさらにさまざまなオプションを指定できます。

また、RIPと同じく、connectedおよびstaticのルーティングプロセスから再配送した場合はシードメトリックの設定はなくてもかまいません。しかし、再配送元によってシードメトリックを設定したりしなかったりをすると、設定ミスの原因になります。そのため、シードメトリックは明示的に設定するものと認識しておいた方がよいでしょう。

OSPFへの再配送の設定

OSPFへ再配送するには、router ospfの配下でredistributeコマンドを利用します。OSPFのルーティングプロセスに対して別のルーティングプロセスから再配送する時にはsubnetsオプションが必要です。subnetsオプションがない場合は、クラスフルなネットワークアドレスのみが再配送されます。現在のネットワークでは、クラスにとらわれないクラスレスなIPアドレッシングが一般的です。したがって、OSPFへの再配送の設定のときには、subnetsは必須のオプションとして考えてください。シードメトリックは指定しないとデフォルトの20の値が利用されます。

OSPFに再配送されたルート情報(外部ルート)のメトリックの扱い方がメトリックタイプ1(E1)とメトリックタイプ2(E2)の2通りあります。メトリックタイプ1は、ルート情報がアドバタイズされるにつれて、シードメトリックの値からメトリック値が増えていきます。一方、メトリックタイプ2であれば、ルート情報がアドバタイズされていってもシードメトリックの値で固定です。デフォルトはメトリックタイプ2です。

OSPF外部ルート メトリックタイプ1とメトリックタイプ2
図 OSPF外部ルート メトリックタイプ1とメトリックタイプ2

OSPFへ再配送するためのコマンドのフォーマットは以下のようになります。

OSPFへの再配送

(config)#router ospf <process-id>
(config-router)#redistribute <protocol>  [metric <metric-value>] [metric-type {1|2}] subnets

<process-id> : プロセス番号
<protocol> : 再配送元のルーティングプロセス
<metric-value> : シードメトリックの値

redistributeコマンドにはさらにさまざまなオプションを指定できます。

再配送の確認

何らかの設定をしたら、その動作確認がとても重要です。試験対策だけに目がいっていると、この点がおろそかになりがちなので、注意したいところです。

再配送の確認は複雑になることがあります。これはルーティングプロトコルの設定全般に言えることです。なぜなら、再配送も含めたルーティングプロトコルの設定は、単体のルータだけで完結するものではないからです。ルーティングプロトコルを利用してネイバールータとルート情報を交換しているので、1台のルータだけでshow running-configだけをみても、正しく動作しているかはわかりません。そのため、再配送を設定しているルータだけでなく、そのネイバールータでも確認が必要です。

再配送の設定をしたら、各ルータで次の項目を確認するとよいでしょう。

再配送しているルータ

他のルーティングプロセスから再配送されたルート情報は、LSDBなどそれぞれのルーティングプロセスのデータベースに登録されます。RIPデータベースやEIGRPトポロジテーブル、OSPF LSDBなどのデータベースの中身も確認してください。

また、再配送時にフィルタをかけていたり、ルートマップを適用している場合は、ルートマップやプレフィクスリスト、アクセスリストの確認も必要です。

確認コマンド概要
#show ip prtocols各ルーティングプロセスへの再配送の設定と適用されているルートマップなどのフィルタを確認します。
#show ip ospf databaseLSDBに再配送したルートを表すLSAタイプ5が存在していることを確認します。
#show ip eigrp topologyEIGRPトポロジテーブルに再配送したルート情報が存在していることを確認します。
#show ip rip database RIPデータベースに再配送したルート情報が存在していることを確認します。
#show route-map再配送時にルートマップを適用している場合、ルートマップの内容を確認します。
#show ip prefix-list再配送時にプレフィクスリストを適用している場合、プレフィクスリストの内容を確認します。
#show ip access-list再配送時にディストリビュートリストを適用している場合、アクセスリストの内容を確認します。
表 再配送しているルータの主な確認コマンド

他のルータ

再配送しているルータ以外のルータに、他のルーティングドメインのルート情報が正しくアドバタイズされてきていることを確認してください。そのために、各ルーティングプロセスのデータベース、そして、ルーティングテーブルを確認します。

確認コマンド概要
#show ip route再配送された他のルーティングドメインのルート情報がルーティングテーブルに登録されていることを確認します。
#show ip ospf database LSDBに再配送したルートを表すLSAタイプ5が存在していることを確認します。
#show ip eigrp topology EIGRPトポロジテーブルに再配送したルート情報が存在していることを確認します。
#show ip rip database RIPデータベースに再配送したルート情報が存在していることを確認します。
表 他のルータでの主な確認コマンド

関連記事

CiscoルータでOSPFとRIPの具体的な再配送の設定例を以下の記事にまとめています。

再配送の設定についての理解を深めるために、以下の設定ミスの切り分けと修正についても参考にしてください。

IPルーティング応用