概要

再配送時のシードメトリックの設定について、設定ミスの切り分けと修正を行います。

ネットワーク構成

図 再配送 設定ミスの切り分けと修正 Part4 ネットワーク構成
図 再配送 設定ミスの切り分けと修正 Part4 ネットワーク構成

上記のネットワーク構成でRIPドメインとOSPFドメインのR1、R2で双方向の再配送を行なっています。

設定概要

R1 初期設定抜粋

interface Ethernet0/0
 ip address 192.168.13.1 255.255.255.0
!
interface Ethernet0/1
 ip address 192.168.15.1 255.255.255.0
!
router ospf 1
 router-id 1.1.1.1
 log-adjacency-changes
 redistribute rip subnets
 network 192.168.13.0 0.0.0.255 area 0
!
router rip
 version 2
 redistribute ospf 1 metric 1
 network 192.168.15.0
 no auto-summary

R2 初期設定抜粋

interface Ethernet0/0
 ip address 192.168.23.2 255.255.255.0
!
interface Ethernet0/1
 ip address 192.168.25.2 255.255.255.0
!
router ospf 100
 router-id 2.2.2.2
 log-adjacency-changes
 redistribute rip subnets
 network 192.168.23.0 0.0.0.255 area 0
!
router rip
 version 2
 redistribute ospf 1 metric 1
 network 192.168.25.0
 no auto-summary

R3 初期設定抜粋

interface Ethernet0/0
 ip address 192.168.13.3 255.255.255.0
!
interface Ethernet0/1
 ip address 192.168.23.3 255.255.255.0
!
interface Ethernet0/2
 ip address 192.168.34.3 255.255.255.0
!
router ospf 1
 router-id 3.3.3.3
 log-adjacency-changes
 network 192.168.0.0 0.0.255.255 area 0

R4 初期設定抜粋

interface Loopback0
 ip address 10.1.1.4 255.255.255.0
!
interface Ethernet0/0
 ip address 192.168.34.4 255.255.255.0
!
router ospf 1
 router-id 4.4.4.4
 log-adjacency-changes
 network 10.1.1.0 0.0.0.255 area 0
 network 192.168.34.0 0.0.0.255 area 0

R5 初期設定抜粋

interface Ethernet0/0
 ip address 192.168.15.5 255.255.255.0
!
interface Ethernet0/1
 ip address 192.168.25.5 255.255.255.0
!         
interface Ethernet0/2
 ip address 192.168.56.5 255.255.255.0
!
router rip
 version 2
 network 192.168.15.0
 network 192.168.25.0
 network 192.168.56.0
 no auto-summary

R6 初期設定抜粋

interface Loopback0
 ip address 172.16.1.6 255.255.255.0
!
interface Ethernet0/0
 ip address 192.168.56.6 255.255.255.0
!
router rip
 version 2
 offset-list 0 out 3
 network 172.16.0.0
 network 192.168.56.0
 no auto-summary

トラブルの症状

現在の設定では、OSPFドメインとRIPドメインで正常に通信ができません。R4から172.16.1.0/24に対してTracerouteを実行すると、以下のようにループしてしまっています。

R4

R4#traceroute 172.16.1.6 source loopback 0

Type escape sequence to abort.
Tracing the route to 172.16.1.6

  1 192.168.34.3 12 msec 24 msec 4 msec
  2 192.168.23.2 8 msec 12 msec 8 msec
  3 192.168.25.5 8 msec 20 msec 12 msec
  4 192.168.15.1 8 msec 20 msec 24 msec
  5 192.168.13.3 12 msec 12 msec 8 msec
  6 192.168.23.2 12 msec 20 msec 16 msec
  7 192.168.25.5 20 msec 12 msec 24 msec
  8 192.168.15.1 12 msec 20 msec 20 msec
  9 192.168.13.3 20 msec 16 msec 20 msec
~省略~

そして、R5のルーティングテーブルは、以下の通りです。

R5

R5#show ip route 
~省略~

Gateway of last resort is not set

R    192.168.13.0/24 [120/1] via 192.168.15.1, 00:00:26, Ethernet0/0
C    192.168.15.0/24 is directly connected, Ethernet0/0
C    192.168.25.0/24 is directly connected, Ethernet0/1
     172.16.0.0/24 is subnetted, 1 subnets
R       172.16.1.0 [120/1] via 192.168.15.1, 00:00:26, Ethernet0/0
C    192.168.56.0/24 is directly connected, Ethernet0/2
     10.0.0.0/32 is subnetted, 1 subnets
R       10.1.1.4 [120/1] via 192.168.15.1, 00:00:26, Ethernet0/0
R    192.168.23.0/24 [120/1] via 192.168.15.1, 00:00:26, Ethernet0/0
R    192.168.34.0/24 [120/1] via 192.168.15.1, 00:00:26, Ethernet0/0

R5のルーティングテーブルに、172.16.1.0/24のルート情報が正しく登録されていません。そこで、さらにR5でdebug ip ripを実行しています。

R5

R5#debug ip rip 
RIP protocol debugging is on
R5#
*Mar  1 00:04:16.035: RIP: received v2 update from 192.168.15.1 on Ethernet0/0
*Mar  1 00:04:16.039:      10.1.1.4/32 via 0.0.0.0 in 1 hops
*Mar  1 00:04:16.043:      172.16.1.0/24 via 0.0.0.0 in 1 hops
*Mar  1 00:04:16.047:      192.168.13.0/24 via 0.0.0.0 in 1 hops
*Mar  1 00:04:16.047:      192.168.23.0/24 via 0.0.0.0 in 1 hops
*Mar  1 00:04:16.051:      192.168.25.0/24 via 0.0.0.0 in 1 hops
*Mar  1 00:04:16.055:      192.168.34.0/24 via 0.0.0.0 in 1 hops
*Mar  1 00:04:16.055:      192.168.56.0/24 via 0.0.0.0 in 1 hops
*Mar  1 00:04:19.355: RIP: sending v2 update to 224.0.0.9 via Ethernet0/2 (192.168.56.5)
*Mar  1 00:04:19.359: RIP: build update entries
*Mar  1 00:04:19.359:   10.1.1.4/32 via 0.0.0.0, metric 2, tag 0
*Mar  1 00:04:19.363:   172.16.1.0/24 via 0.0.0.0, metric 2, tag 0
*Mar  1 00:04:19.367:   192.168.13.0/24 via 0.0.0.0, metric 2, tag 0
*Mar  1 00:04:19.367:   192.168.15.0/24 via 0.0.0.0, metric 1, tag 0
*Mar  1 00:04:19.371:   192.168.23.0/24 via 0.0.0.0, metric 2, tag 0
*Mar  1 00:04:19.375:   192.168.25.0/24 via 0.0.0.0, metric 1, tag 0
*Mar  1 00:04:19.375:   192.168.34.0/24 via 0.0.0.0, metric 2, tag 0
*Mar  1 00:04:20.987: RIP: sending v2 update to 224.0.0.9 via Ethernet0/1 (192.168.25.5)
*Mar  1 00:04:20.991: RIP: build update entries
*Mar  1 00:04:20.991:   10.1.1.4/32 via 0.0.0.0, metric 2, tag 0
*Mar  1 00:04:20.995:   172.16.1.0/24 via 0.0.0.0, metric 2, tag 0
*Mar  1 00:04:20.999:   192.168.13.0/24 via 0.0.0.0, metric 2, tag 0
*Mar  1 00:04:20.999:   192.168.15.0/24 via 0.0.0.0, metric 1, tag 0
*Mar  1 00:04:20.999:   192.168.23.0/24 via 0.0.0.0, metric 2, tag 0
*Mar  1 00:04:20.999:   192.168.34.0/24 via 0.0.0.0, metric 2, tag 0
*Mar  1 00:04:20.999:   192.168.56.0/24 via 0.0.0.0, metric 1, tag 0
*Mar  1 00:04:33.331: RIP: received v2 update from 192.168.56.6 on Ethernet0/2
*Mar  1 00:04:33.335:      172.16.1.0/24 via 0.0.0.0 in 4 hops
R5#u all
All possible debugging has been turned off
R5#

問題

  • RIPドメインとOSPFドメインで正しく通信ができない原因は何ですか。
  • RIPドメインとOSPFドメインで正しく通信できるようにするためには、どのように設定を修正すればよいですか。なお、設定の修正はR1、R2のみで行うものとします。

解答

RIPドメインとOSPFドメインで正しく通信ができない原因は何ですか。

再配送時のシードメトリックの値が小さすぎるため、R5はR6からのRIPルートよりもR1またはR2からのRIPルートを優先する。その結果、172.16.1.0/24のルート情報がR1、R2、R3、R5間でループし、パケットのルーティングもループする。

RIPドメインとOSPFドメインで正しく通信できるようにするためには、どのように設定を修正すればよいですか。なお、設定の修正はR1、R2のみで行うものとします。

R1/R2

router rip
 redistribute ospf 1 metric 10

ワンポイント

  • ルーティングドメインの境界が複数のときは、再配送の設定には注意が必要
  • ルーティングループや最適ではないルーティングが起こらないように、ルートフィルタ、メトリックの調整、アドミニストレイティブディスタンスの調整が必要になる場合がある
  • RIPは内部ルートと外部ルートを区別せずに、最適ルートをメトリックのみで決める

解説

再配送を行うときには、ルーティングループが発生したり、最適ではないルーティングになってしまうことがあるので注意が必要です。今回のネットワーク構成では、RIPドメインのルートのアドバタイズがループしてしまっています。この原因は、OSPFからRIPへ再配送する際のシードメトリックの値が小さすぎることにあります。R5において172.16.1.0/24のルートは、R1とR6から受信しています。R1からはメトリック1、R6からはメトリック4です。R5では、R1から受信したRIPルートを優先します。

R1から受信している172.16.1.0/24のRIPルートについて考えます。R2でRIPからOSPFに再配送されたものが、さらにR1でOSPFからRIPへと再配送されたルートです。R1で再配送する際にメトリックが小さすぎる設定となっているため、172.16.1.0/24のRIPルートがぐるぐるとループし、その結果、172.16.1.0/24あてのパケットのルーティングもループします。

図 172.16.1.0/24のルート情報がループしている様子
図 172.16.1.0/24のルート情報がループしている様子

このように、RIPへ再配送する際にシードメトリックの値が小さすぎるとルーティングループが発生することがあります。

OSPFやEIGRPへ再配送するときには、内部ルートと外部ルートを区別しているので、このような問題は発生しません。
ルータの起動順序などによって、R1とR2が入れ替わることがあります。

ルーティングループを解消するためには、R1およびR2でOSPFからRIPへ再配送するときのシードメトリックを大きな値にします。値の目安としては、RIPドメインの最大のホップ数よりも大きい値にします。解答では、シードメトリックとして10としています。

R1/R2

router rip
 redistribute ospf 1 metric 10

シードメトリックを修正したあと、R5のルーティングテーブルは次のように変わります。

R5

R5#show ip route 
~省略~
Gateway of last resort is not set

R    192.168.13.0/24 [120/10] via 192.168.15.1, 00:00:22, Ethernet0/0
C    192.168.15.0/24 is directly connected, Ethernet0/0
C    192.168.25.0/24 is directly connected, Ethernet0/1
     172.16.0.0/24 is subnetted, 1 subnets
R       172.16.1.0 [120/4] via 192.168.56.6, 00:00:03, Ethernet0/2
C    192.168.56.0/24 is directly connected, Ethernet0/2
     10.0.0.0/32 is subnetted, 1 subnets
R       10.1.1.4 [120/10] via 192.168.15.1, 00:00:22, Ethernet0/0
R    192.168.23.0/24 [120/10] via 192.168.15.1, 00:00:22, Ethernet0/0
R    192.168.34.0/24 [120/10] via 192.168.15.1, 00:00:22, Ethernet0/0

172.16.1.0/24のルートはR6から受信したルート情報が優先されていることがわかります。そして、R4から172.16.1.0/24へTracerouteを実行すると、ループすることなく正常に通信できていることがわかります。

R4

R4#traceroute 172.16.1.6 source loopback 0

Type escape sequence to abort.
Tracing the route to 172.16.1.6

  1 192.168.34.3 24 msec 16 msec 4 msec
  2 192.168.23.2 12 msec 12 msec 12 msec
  3 192.168.25.5 12 msec 24 msec 16 msec
  4 192.168.56.6 12 msec *  12 msec

IPルーティング応用