conf t

インフラエンジニアのメモ

ルート再配布(ルート再配送)とdistribute-list

 

ルート再配布は場合によっては非効率的なルーティングや

ルーティングループを招きます。

 

 

今回は、distribute-listを用い、ルート再配布を最適化していきます。

 

ちなみにルート再配布ですが、日本語だと再配布と再配送が混在しているようです。

Ciscoのドキュメントにも両方あります。

Googleですと、再配布のほうが若干検索結果が多いようです。

 

 

 

ネットワーク構成は下図のようになります。

f:id:monaski:20140106153022p:plain

R2 R3
R2(config)#router ospf 1
R2(config-router)#network 172.16.0.0 0.0.255.255 area 0
R2(config-router)#redistribute rip
R2(config-router)#exit
R2(config)#router rip
R2(config-router)#network 192.168.1.0
R2(config-router)#redistribute ospf 1 metric 1
R3(config)#router ospf 1
R3(config-router)#network 172.17.0.0 0.0.255.255 area 0
R3(config-router)#redistribute rip
R3(config-router)#exit
R3(config)#router rip
R3(config-router)#network 192.168.2.0
R3(config-router)#redistribute ospf 1 metric 1

 

 

 

 

なぜかR1からR5へのpingが通りません。おかしいと思いR1の

ルーティングテーブルを見ると、R5へのルーティングテーブル

がありません。ただし、192.168.1.0と192.168.2.0はきちんと

再配送されているようでした。

再配送をしているR2のルーティングテーブルを見ても、R5への

ルーティングテーブルがありません。

あれ、再配送ってもしかして直接接続してるネットワークしか

ルーティングしてくれないのか?(そんなことはありません。)

 

R4のルーティングテーブルを見てみる。

192.168.3.0は直接接続ネットワークとして学習している。

R4でRIPの範囲に192.168.3.0が入っていないのだろうか。

いやちゃんと入ってました。

 

うーんいったい原因はなんなんだ?

 

 

もう一度R4でshow ip routeする。

あってるよなー、ん?192.68.3.0ってなんだ!?

f:id:monaski:20140106160652p:plain

なんとR4のインタフェースfに192.168.3.1と設定すべきところを、192.68.3.1と間違って設定していました。凡ミス。。。

 

設定を直すと無事R1からR5へpingが繋がるようになりました。

 

さて、ここからが本題です。

R2から192.168.2.0へ行く場合、回線速度やルータがすべて同性能であるならば、経由するルータの数が最も少ないR4を経由するのが最短です。

しかし今回R2のルーティングテーブルは以下のようになっています。

f:id:monaski:20140106162433p:plain

R4経由ではなく、R1を経由して192.168.2.0へルーティングしています。

 

f:id:monaski:20140106162553p:plain

これは、RIPへOSPFを再配送しているために起こる問題です。

 

複数のプロトコルから同じネットワークを学んだ場合、

どちらをルーティングテーブルに載せるかはアドミニストレーティブディスタンス値

により決定されます。

アドミニストレーティブディスタンス値が小さいほうが優先されてルーティングテーブルに載るわけです。

 

今回の場合、アドミニストレーティブディスタンス値は

RIPで学習した経路・・・120

OSPFからの再配送の経路・・・20

OSPF・・・110

となっております。

 

ですから、OPFからの再配送経路が最優先でルーティングテーブルに

載せられるわけです。

 

 

今回のような意図しないルーティング情報を受け取らないようにするには、

前回も学習しましたが、distribute-listを用います。

今回の場合、R2のfa0/0にdistribute-listを設定し、192.168.0.0 - 192.168.255.255

の範囲からのルーティング情報を受け取らなくしてみます。

R2
R2(config)#access-list 1 deny 192.168.0.0 0.0.255.255
R2(config)#access-list 1 permit any
R2(config)#router ospf 1
R2(config-router)#distribute-list 1 in fa 0/0

 

f:id:monaski:20140106164202p:plain

 

 このようにR4経由のルーティングになりました!

今回は以上です。