ルーティング情報の再配布とは
再配布とはあるルーティングプロトコルで学習したルートを、別のルーティングプロトコルに再配布(アドバタイズ)する技術です。これにより、複数の異なるルーティングプロトコルが共存しているネットワークにおいて、相互にルート情報を交換し、全体のネットワーク接続性を維持することができます。
再配布の必要性
通常、異なるルーティングプロトコルはそれぞれ独立して動作します。たとえば、ある部分でEIGRPを使用し、別の部分でOSPFを使用しているネットワークでは、それぞれのルーティングプロトコルは他のプロトコルで学習したルート情報を自動的に認識しません。そのため、ネットワーク全体の接続を維持するために、一方のプロトコルで学習したルートをもう一方のプロトコルに再配布する必要があります。
ルート再配布の設定
基本構文
以下のコマンドを使用して、ルート情報を再配布します。
Device(config-router)#redistribute protocol [process-id] [metric metric-value] [metric-type type-value] [match {internal | external 1 | external 2}] [tag tag-value] [route-map map-tag] [subnets] [nssa-only]
| コマンド | 用途 | 内容 |
|---|---|---|
| protocol | すべて | ルートの再配布元のプロトコルを指定します。 |
| process-id | すべて | 再配布元のプロトコルのプロセスIDやAS番号を指定します。 |
| metric metric-value※ | OSPF、EIRGPへの再配布 | 再配布するルートに割り当てるメトリック値を指定します。 |
| metric-type type-value | OSPFへの再配布 | メトリックの種類を指定します。OSPFでは、type 1 または type 2 として、異なるタイプのメトリックを指定できます。type 1はルートのメトリックに外部メトリックを加算し、type 2は外部メトリックのみを使用します。 |
| match {internal | external 1 | external 2} | OSPFからの再配布 | internal: OSPFの内部ルート(OSPF領域内で生成されたルート)を再配布します。 external 1: OSPFの外部タイプ1ルート(外部プロトコルから再配布されたルートで、内部メトリックも考慮する)を再配布します。 external 2: OSPFの外部タイプ2ルート(外部プロトコルから再配布されたルートで、外部メトリックのみを考慮する)を再配布します。 |
| tag tag-value | すべて | 再配布されたルートに対してタグを付与します。 |
| route-map map-tag | すべて | 再配布するルートにフィルタリングやメトリックの変更を行うルートマップを適用します。 |
| subnets | OSPFへの再配布 | OSPFは再配布時に、デフォルトではクラスフルルートのみ(ネットワーククラスに基づくルート)を再配布します。クラスレスサブネットも含めて再配布する場合は、subnetsオプションを指定する必要があります。 |
| nssa-only | OSPFへの再配布 | 再配布されるルートがNSSAエリアに限定され、他のエリアには再配布されません。 |
metric metric-valueの詳細
ルーティングプロトコルによって使用するメトリックが異なり、それぞれで記述方法が異なります。
EIGRPへ再配布する場合
EIGRPは複合メトリックを使用するのでそれぞれの値を指定する必要があります。
Device(config-router)#redistribute protocol [process-id] metric bw delay reliability load mtu
| メトリック | 意味 |
|---|---|
| bw | 帯域幅(Bandwidth)を指定します。単位はKbps(キロビット/秒)です。 |
| delay | 遅延(Delay)を指定します。単位は10マイクロ秒です。 |
| reliability | 信頼性(Reliability)を指定します。範囲は0〜255で、255が最も信頼性が高いことを意味します。 |
| load | 負荷(Load)を指定します。範囲は0〜255で、0が最も軽い負荷、255が最も重い負荷を表します。 |
| mtu | MTUを指定します。 |
OSPFへ再配布する場合
OSPFではメトリックとしてコストを指定します。
Device(config-router)#redistribute protocol [process-id] metric metric-value
| メトリック | 意味 |
|---|---|
| metric-value | 再配布するルートのコストを設定します。デフォルト(指定しない場合)は20です。 |
デフォルト値の設定
再配布されたルートのデフォルトのメトリック値を設定します。
Router(config-router)#default-metric number
設定例
OSPFからEIGRPへの再配布

Router2(config)#router eigrp 1
Router2(config-router)#redistribute ospf 1 metric 1000000 1 255 1 1500
この設定例では、OSPFからEIGRPへ再配布されるルートには以下のメトリックが適用されます。
- 帯域幅:1 Gbps
- 遅延:10 マイクロ秒
- 信頼性:最大(255)
- 負荷:非常に低い(1)
- MTU:1500バイト
EIGRPからOSPFへの再配布

Router2(config)#router ospf 1
Router2(config-router)#redistribute eigrp 1 metric 20 metric-type 1 subnets
この設定例では再配布されたルートに対してコスト20に設定して、メトリックタイプをE1に指定します。E1メトリックは、再配布されたルートのメトリックとして、OSPFの内部コストを加算してルートコストを計算します。
ルートマップの設定
ルートマップは、ルートの再配布やポリシーベースルーティングを実装するために使用されます。ルーティングプロトコル間でルートを再配布する条件を定義するには、route-map コマンドを設定し、必要に応じて match コマンドを使用します。
設定手順
- ルートマップの作成:
route-mapコマンドを使用。 - 条件の設定: ルートマップ設定モードで少なくとも1つの
matchコマンドを使用して条件を定義。
この設定により、ルートの再配布が効率的に管理されます。
使用できるmatchコマンドは以下の通りです。
| コマンド | 内容 |
|---|---|
| match as-path path-list-number | BGP 自律システム パス アクセス リストと一致します。 |
| match community {standard-list-number | expanded-list-number | community-list-name match community [exact ]} | BGP コミュニティと一致します。 |
| match ip address {access-list-number [access-list-number ] | prefix-list prefix-list-name | 標準アクセス リスト、拡張アクセス リストによって許可されている宛先ネットワーク アドレスを持つルートと一致します。 |
| match ip address prefix-list prefix-list-name | プレフィックス リストによって許可されている宛先ネットワーク アドレスを持つルートと一致します。 |
| match metric metric-value | 指定されたメトリックとルートを一致させます。 |
| match ip next-hop {access-list-number | access-list-name } | 指定されたアクセス リストの 1 つによって渡されたネクスト ホップ デバイス アドレスと一致します。 |
| match tag tag-value | 指定されたタグ値と一致します。 |
| match interface type number [type number ] | 指定されたインターフェースをネクストホップとして使用するルートを一致させます。 |
| match ip route-source {access-list-number | access-list-name } | アドバタイズされたアクセス リストで指定されたアドレスと一致します。 |
| match route-type {local | internal | external [type-1 | type-2 ] } | 指定されたルート タイプと一致します。 |
一致基準が満たされた場合にシステムが実行するルーティング アクションをオプションで指定するには (ルート マップによって再配布されるルートの場合)、必要に応じてルート マップ設定モードで 1 つ以上の set コマンドを使用します。
| コマンド | 内容 |
|---|---|
| set community {community-number [additive ] [well-known ]| none } | コミュニティ属性を設定します(BGP 用)。 |
| set dampening halflife reuse suppress max-suppress-time | ルート ダンプニング パラメータを設定します (BGP 用)。 |
| set local-preference number-value | パスにローカル優先値を割り当てます (BGP の場合)。 |
| set origin {igp | egp as-number | incomplete } | BGPルートの**起源属性(Origin)**を設定します。BGPルートの起源は IGP(内部ゲートウェイプロトコル)、EGP(外部ゲートウェイプロトコル)、Incomplete(不明) のいずれかです。 |
| set as-path {tag | prepend as-path-string } | 自律システム パスを変更します (BGP の場合)。 |
| set next-hop next-hop | 次のホップのアドレスを指定します。 |
| set automatic-tag | タグ テーブルの自動計算を有効にします。 |
| set level {level-1 | level-2 | level-1-2 | stub-area | backbone } | ルートをインポートする領域を指定します。 |
| set metric metric-value | 再配布されたルートのメトリック値を設定します (EIGRP を除くすべてのプロトコル)。 |
| set metric bandwidth delay reliability load mtu | 再配布ルートのメトリック値を設定します (EIGRP のみ)。 |
| set metric-type {internal | external | type-1 | type-2 } | 再配布ルートのメトリック タイプを設定します。 |
| set metric-type internal | 外部 BGP ネイバーにアドバタイズされるプレフィックスの Multi Exit Discriminator (MED) 値を、ネクスト ホップの内部ゲートウェイ プロトコル (IGP) メトリックと一致するように設定します。 |
| set tag tag-value | 再配布されたルートに適用するタグ値を設定します。 IGPからBGPに再配布するときはタグ付きルートマップは使用できません。 |
設定例
EIGRPからBGP、BGPからOSPFへの再配布

Router1
hostname Router1
int g0/2
ip address 192.168.12.1 255.255.255.0
no shut
int lo1
ip address 1.1.1.1 255.255.255.255
router eigrp 1
netw 192.168.12.1 0.0.0.255
netw 1.1.1.1 0.0.0.0
Router2
hostname Router2
int g0/1
ip address 192.168.12.2 255.255.255.0
no shut
int g0/3
ip address 192.168.23.2 255.255.255.0
no shut
router eigrp 1
netw 192.168.12.0 0.0.0.255
ip bgp-community new-format
router bgp 65001
neighbor 192.168.23.3 remote-as 65001
neighbor 192.168.23.3 activate
Router3
hostname Router3
int g0/2
ip address 192.168.23.3 255.255.255.0
no shut
int g0/4
ip address 192.168.34.3 255.255.255.0
no shut
router bgp 65001
neighbor 192.168.23.2 remote-as 65001
neighbor 192.168.23.2 activate
ip bgp-community new-format
router ospf 1
netw 192.168.34.0 0.0.0.255 area 0
Router4
hostname Router4
int g0/3
ip address 192.168.34.4 255.255.255.0
no shut
router ospf 1
netw 0.0.0.0 0.0.0.0 area 0
EIGRPからBGPへ再配布して、その再配布されたルートをBGPからOSPFへ再配布します。
EIGRPからBGPへの再配布
1.1.1.1と2.2.2.2のルート情報を再配布します。1.1.1.1にはコミュニティ値「65001:100」、2.2.2.2にはコミュニティ値「65001:200」を設定して再配布します。
Router2(config)#access-list 1 permit host 1.1.1.1
Router2(config)#access-list 2 permit host 2.2.2.2
Router2(config)#route-map EIGRP-TO-BGP permit 10
Router2(config-route-map)#match ip address 1
Router2(config-route-map)#set community 65001:100
Router2(config-route-map)#exit
Router2(config)#route-map EIGRP-TO-BGP permit 20
Router2(config-route-map)#match ip address 2
Router2(config-route-map)#set community 65001:200
Router2(config-route-map)#exit
Router2(config)#router bgp 65001
Router2(config-router)#redistribute eigrp 1 route-map EIGRP-TO-BGP
Router2(config-router)#neighbor 192.168.23.3 next-hop-self
Router2(config-router)#neighbor 192.168.23.3 send-community
1.1.1.1と2.2.2.2のネクストホップはRouter1の192.168.12.1だがそのルート情報をRouter3では持っていないのでネクストホップをRouter2に書き換える「next-hop-self」コマンドを使用しています。このコマンドがないとRouter3のルーティングテーブルに情報が表示されません。
コミュニティ情報を送付するために「send-community」コマンドを使用しています。
Router3でEIGRPルートの1.1.1.1と2.2.2.2が再配布されていることがわかります。

それぞれ、コミュニティ値も設定されています。


コミュニティ値をNN:NNの形式で表示するには「ip bgp-community new-format」コマンドが必要です。(本構成では既に設定されています)
BGPからOSPFへの再配布
コミュニティ値「65001:100」が設定されている1.1.1.1のルート情報のみ再配布します。メトリックを100に設定してBGPからOSPFへ再配布します。
Router3(config)#ip community-list 1 permit 65001:100
Router3(config)#route-map BGP-TO-OSPF permit 10
Router3(config-route-map)#match community 1
Router3(config-route-map)#set metric 100
Router3(config-route-map)#exit
Router3(config)#router ospf 1
Router3(config-router)#redistribute bgp 65001 route-map BGP-TO-OSPF
Router3(config-router)#exit
Router3(config)#router bgp 65001
Router3(config-router)#bgp redistribute-internal
iBGPのルーティング情報をIGP(OSPFやEIGRP等)へ再配布するためには「bgp redistribute-internal」コマンドが必要です。
Router4で1.1.1.1のルート情報が再配布されていることが確認できます。メトリック値は100になっています。
