ルートフィルタ(不適切なルーティング例)

ルートフィルタとは」の続きです。

引き続き、下のネットワーク構成を使用して、再配布による不適切なルーティングを検証してみます。

今回は下記のルータで実機確認をしております。

Router_A ・・・ Cisco2513
Router_B ・・・ Cisco1720
Router_C ・・・ Cisco1720
Router_D ・・・ Cisco2514

Router_B、Router_Cの2台は、RIPネットワーク、IGRPネットワークの境界に位置しています。

 Router_B、Router_Cに再配送の設定を行うことで、RIPネットワークと、IGRPネットワークが相互に接続可能になります。

 ところが、RIPネットワークの「172.16.0.0/16」ルートがRouter_Bで、IGRPネットワークへ再配送され、その結果、Router_CでIGRPの経由として学習してしまうことがあります。

Router_Cは、「172.16.0.0/16」へのルートをRIP、IGRPで学習し、2つルートを持つことになります。

どちらのルートをRouter_Cは、採用するのでしょうか?

Router_Cは、アドミニストレーティブディスタンスを比較します。

  • RIP・・・120
  • IGRP・・・100

Router_Cは、アドミニストレーティブディスタンスの値が低いIGRPの経路を採用してしまいます。

 Router_Cにとって「172.16.0.0/16」へのルートは、Router_Aを経由すれば直ぐに到達できますし、帯域幅も128kbpsで、Router_Bを経由するより高速です。にもかかわらず、Router_Dを経由するルートを採用してしまうのです。

※ルータを設定する順番やルータの電源を入れる順番によっては、このようにならない場合もあります。その場合は、Router_BやRouter_C上のインタフェースをUP、Downさせてみて下さい。そして「clear ip route *」コマンドを使って強制的にルーティングテーブルを消してみて下さい。奇妙ですが、ルートが変わります。

または、設定を保存してからルータの起動する順番を変えてみて下さい。

話は、もどります。

Router_Dを経由するルートを採用してしまうなんて・・・

これでは、最適なルートを選択できたとは言えません。

それでは、本当にそうなるのか、このネットワークを構築してみることにします。

再配送の設定

●Router_B

Router_B(config)#router rip
Router_B(config-router)#redistribute igrp 100 metric 5
Router_B(config-router)#network 172.17.0.0
Router_B(config-router)#exit

Router_B(config)#router igrp 100
Router_B(config-router)#redistribute rip metric 64 100 255 1 1500
Router_B(config-router)#network 172.19.0.0

●Router_C

Router_C(config)#router rip
Router_C(config-router)#redistribute igrp 100 metric 5
Router_C(config-router)#network 172.18.0.0
Router_C(config-router)#exit

Router_C(config)#router igrp 100
Router_C(config-router)#redistribute rip metric 128 100 255 1 1500
Router_C(config-router)#network 172.20.0.0

Router_AのE0にPCを接続するのは、少々面倒です。
 強制的にインタフェースをUPさせるために、E0インタフェースで「no keepalive」コマンドを設定しておきます。

●Router_Aの設定


!
version 11.1
service udp-small-servers
service tcp-small-servers
!
hostname Router_A
!
enable password cisco
!
ip subnet-zero
!
interface Ethernet0
 ip address 172.16.0.1 255.255.0.0
 no keepalive
!
interface Serial0
 ip address 172.17.0.1 255.255.0.0
 bandwidth 64
 clockrate 64000
!
interface Serial1
 ip address 172.18.0.1 255.255.0.0
 bandwidth 128
 clockrate 125000
!
interface TokenRing0
 no ip address
 shutdown
!
router rip
 network 172.16.0.0
 network 172.17.0.0
 network 172.18.0.0
!
ip classless
!
line con 0
line aux 0
line vty 0 4
 password cisco
 login
!

●Router_Bの設定

!
version 12.2
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname Router_B
!
enable secret 5 $1$JqsH$DufZN17rFszv3DP4ayBS4.
!
memory-size iomem 25
ip subnet-zero
!
interface FastEthernet0
 ip address 172.19.0.1 255.255.0.0
 speed auto
!
interface Serial0
 bandwidth 64
 ip address 172.17.0.2 255.255.0.0
!
interface Serial1
 no ip address
 shutdown
!
interface Serial2
 no ip address
 shutdown
!
router rip
 redistribute igrp 100 metric 5
 network 172.17.0.0
!
router igrp 100
 redistribute rip metric 64 100 255 1 1500
 network 172.19.0.0
!
ip classless
no ip http server
!
!
line con 0
line aux 0
line vty 0 4
 password cisco
 login
!
end

●Router_Cの設定

!
version 12.1
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname Router_C
!
enable password cisco
!
memory-size iomem 25
ip subnet-zero
!
interface Serial0
 bandwidth 128
 ip address 172.18.0.2 255.255.0.0
!
interface Serial1
 no ip address
 shutdown
!
interface FastEthernet0
 ip address 172.20.0.1 255.255.0.0
 speed auto
!
router rip
 redistribute igrp 100 metric 5
 network 172.18.0.0
!
router igrp 100
 redistribute rip metric 128 100 255 1 1500
 network 172.20.0.0
!
ip classless
no ip http server
!
line con 0
 transport input none
line aux 0
line vty 0 4
 password cisco
 login
!
end

●Router_Dの設定

!
version 11.2
no service udp-small-servers
no service tcp-small-servers
!
hostname Router_D
!
enable secret 5 $1$2K0v$W4RVlVcqNHySJ2RFtCyhm0
!
interface Loopback0
 ip address 172.21.0.1 255.255.0.0
!
interface Ethernet0
 ip address 172.19.0.2 255.255.0.0
!
interface Ethernet1
 ip address 172.20.0.2 255.255.0.0
!
interface Serial0
 no ip address
 shutdown
!
interface Serial1
 no ip address
 shutdown
!
router igrp 100
 network 172.19.0.0
 network 172.20.0.0
 network 172.21.0.0
!
ip classless
!
line con 0
line aux 0
line vty 0 4
 password cisco
 login
!
end

Router_B、Router_Cのルーティングテーブルを確認してみます。

●Router_Bのルーティングテーブル


Gateway of last resort is not set

C    172.17.0.0/16 is directly connected, Serial0
R    172.16.0.0/16 [120/1] via 172.17.0.1, 00:00:07, Serial0
C    172.19.0.0/16 is directly connected, FastEthernet0
I    172.18.0.0/16 [100/80235] via 172.19.0.2, 00:00:08, FastEthernet0
I    172.21.0.0/16 [100/610] via 172.19.0.2, 00:00:08, FastEthernet0
I    172.20.0.0/16 [100/1110] via 172.19.0.2, 00:00:08, FastEthernet0

「172.16.0.0/16」のルートは、Router_Aを経由するようになっています。

●Router_Cのルーティングテーブル

Gateway of last resort is not set

I    172.17.0.0/16 [100/158360] via 172.20.0.2, 00:00:54, FastEthernet0
I    172.16.0.0/16 [100/156460] via 172.20.0.2, 00:00:54, FastEthernet0
I    172.19.0.0/16 [100/1110] via 172.20.0.2, 00:00:54, FastEthernet0
C    172.18.0.0/16 is directly connected, Serial0
I    172.21.0.0/16 [100/610] via 172.20.0.2, 00:00:54, FastEthernet0
C    172.20.0.0/16 is directly connected, FastEthernet0

「172.16.0.0/16」のルートは、Router_Dを経由するようになっています。これでは、遠回りですね!

※ルータを設定する順番やルータの電源を入れる順番によっては、このようにならない場合もあります。その場合は、Router_BやRouter_C上のインタフェースをUP、Downさせてみて下さい。そして「clear ip route *」コマンドを使って強制的にルーティングテーブルを消してみて下さい。奇妙ですが、ルートが変わります。

または、設定を保存してからルータの起動する順番を変えてみて下さい。

 再配送は、複雑で管理者の思い通りのルートにならない場合があります。そこで、ルーティングプロセスに、管理者の意思をある程度、反映させたい場合に、ルートフィルタを使用します。

次の「ルートフィルタ設定(フィルタの作成)」では、ルートフィルタを作成の仕方を説明します。