概要

ルートマップを利用した再配送時の制御について、設定ミスの切り分けと修正を行います。

ネットワーク構成

下記のネットワーク構成のR2で、OSPFとEIGRPの双方向再配送を行なっています。

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

R2で再配送時にルートマップによってフィルタをかけ、10.1.1.0/24と10.3.1.0/24間の通信だけができるようにしています。

設定概要

各ルータのルーティングに関連する設定は以下のようになっています。

R1

interface Loopback0
 ip address 10.1.2.1 255.255.255.0 secondary
 ip address 10.1.1.1 255.255.255.0
 ip ospf network point-to-point
!
interface FastEthernet0/0
 ip address 192.168.12.1 255.255.255.0
!
router ospf 1
 log-adjacency-changes
 network 10.0.0.0 0.255.255.255 area 0
 network 192.168.12.0 0.0.0.255 area 0

R2

interface FastEthernet0/0
 ip address 192.168.12.2 255.255.255.0
!
interface FastEthernet1/0
 ip address 192.168.23.2 255.255.255.0
!
!
router eigrp 1
 redistribute ospf 1 metric 100000 10 255 1 1500 route-map OSPF2EIGRP
 network 192.168.23.0
 no auto-summary
!
router ospf 1
 log-adjacency-changes
 redistribute eigrp 1 subnets route-map EIGRP2Ospf
 network 192.168.12.0 0.0.0.255 area 0
!
access-list 1 permit 10.1.1.0
access-list 2 permit 10.3.1.0
!
route-map OSPF2EIGRP permit 10
 match ip address 1
!
route-map EIGRP2OSPF permit 10
 match ip address 2
!

R3

interface Loopback0
 ip address 10.3.2.3 255.255.255.0 secondary
 ip address 10.3.1.3 255.255.255.0
!
interface FastEthernet0/0
 ip address 192.168.23.3 255.255.255.0
!
router eigrp 1
 network 10.0.0.0
 network 192.168.23.0
 no auto-summary

トラブルの症状

現在の設定では、R1、R3のルーティングテーブルは次のようになっています。

R1

R1#show ip route 
~省略~

Gateway of last resort is not set

C    192.168.12.0/24 is directly connected, FastEthernet0/0
     10.0.0.0/24 is subnetted, 2 subnets
C       10.1.2.0 is directly connected, Loopback0
C       10.1.1.0 is directly connected, Loopback0

R3

R3#show ip route 
~省略~

Gateway of last resort is not set

     10.0.0.0/24 is subnetted, 3 subnets
C       10.3.1.0 is directly connected, Loopback0
D EX    10.1.1.0 [170/30720] via 192.168.23.2, 04:23:05, FastEthernet0/0
C       10.3.2.0 is directly connected, Loopback0
C    192.168.23.0/24 is directly connected, FastEthernet0/0

R1のルーティングテーブルに10.3.1.0/24のルートが存在しないので、10.1.1.0/24と10.3.1.0/24間の通信ができない状態です。R2のルーティングテーブルには10.3.1.0/24のルートが存在するので、R2の再配送時のフィルタの設定ミスが考えられます。R2で以下のように再配送に関するフィルタの設定を確認します。

R2

R2#show running-config | section router eigrp
router eigrp 1
 redistribute ospf 1 metric 100000 10 255 1 1500 route-map OSPF2EIGRP
 network 192.168.23.0
 no auto-summary
R2#show running-config | section router ospf 
router ospf 1
 log-adjacency-changes
 redistribute eigrp 1 subnets route-map EIGRP2Ospf
 network 192.168.12.0 0.0.0.255 area 0
R2#show route-map
route-map OSPF2EIGRP, permit, sequence 10
  Match clauses:
    ip address (access-lists): 1 
  Set clauses:
  Policy routing matches: 0 packets, 0 bytes
route-map EIGRP2OSPF, permit, sequence 10
  Match clauses:
    ip address (access-lists): 2 
  Set clauses:
  Policy routing matches: 0 packets, 0 bytes
R2#show access-lists 
Standard IP access list 1
    10 permit 10.1.1.0 (1 match)
Standard IP access list 2
    10 permit 10.3.1.0

問題

  • 10.1.1.0/24と10.3.1.0/24間の通信ができない原因は何ですか。
  • 10.1.1.0/24と10.3.1.0/24間の通信ができるようにするためには、どのように設定を修正すればよいでしょうか。

解答

10.1.1.0/24と10.3.1.0/24間の通信ができない原因は何ですか。

R2でEIGRPからOSPFへ再配送するときに適用しているルートマップ名が間違っている。存在しないルートマップを適用することになり、EIGRPからOSPFへのルート再配送が行われなくなっているため。

10.1.1.0/24と10.3.1.0/24間の通信ができるようにするためには、どのように設定を修正すればよいでしょうか。

R2

router ospf 1
 redistribute eigrp 1 subnets route-map EIGRP2OSPF

ワンポイント

  • ルートマップは名前(ルートマップタグ)で識別する
  • ルートマップを作成したり、適用するときにはルートマップ名を間違わないように要注意

解説

ルートマップはさまざまな用途で利用することができます。ルートマップの一つの用途として、再配送するときにルートフィルタやシードメトリックの変更などが可能です。ルートマップは名前で識別します。ルートマップの名前は任意ですが、ルートマップの用途や内容を表した名前をつけることがわかりやすい設定のポイントです。ルートマップを適用するときには、ルートマップ名を指定します。このとき、ルートマップ名の指定を間違ってしまないように注意が必要です。大文字・小文字も区別します。ルートマップ名が長くなってしまうと、ルートマップ名の指定を間違ってしまう可能性が高くなるので気をつけてください。

今回考えているネットワーク構成では、OSPFとEIGRPの境界となるR2で双方向の再配送を行なっています。その際、ルートマップでフィルタをかけています。R2の設定から、再配送の時に適用しているルートマップ名は以下のようになっています。

R2

R2#show running-config | section router eigrp
router eigrp 1
 redistribute ospf 1 metric 100000 10 255 1 1500 route-map OSPF2EIGRP
 network 192.168.23.0
 no auto-summary
R2#show running-config | section router ospf 
router ospf 1
 log-adjacency-changes
 redistribute eigrp 1 subnets route-map EIGRP2Ospf
 network 192.168.12.0 0.0.0.255 area 0

OSPFからEIGRPへの再配送:OSPF2EIGRP
EIGRPからOSPFへの再配送:EIGRP2Ospf

「OSPF2EIGRP」というルートマップは設定されていますが、「EIGRP2Ospf」というルートマップはありません。設定されているルートマップは「EIGRP2OSPF」です。つまり、EIGRPからOSPFへ再配送するときに適用するルートマップ名を間違ってしまっていることがわかります。存在しないルートマップを適用しているので、EIGRPからOSPFへは再配送するときにすべてのルートがフィルタされてしまっています。

図 ルートマップ名の指定ミス
図 ルートマップ名の指定ミス

R2でEIGRPからOSPFへ再配送するときには、「EIGRP2OSPF」のルートマップを適用するように設定を修正します。

R2

router ospf 1
 redistribute eigrp 1 subnets route-map EIGRP2OSPF

R2のルートマップの適用を修正すると、EIGRPからOSPFへ10.3.1.0/24だけが再配送されるようになります。そのときのR1のルーティングテーブルは次のようになります。

R1

R1#show ip route 
~省略~

Gateway of last resort is not set

C    192.168.12.0/24 is directly connected, FastEthernet0/0
     10.0.0.0/24 is subnetted, 3 subnets
O E2    10.3.1.0 [110/20] via 192.168.12.2, 00:00:13, FastEthernet0/0
C       10.1.2.0 is directly connected, Loopback0
C       10.1.1.0 is directly connected, Loopback0

また、以下のように10.1.1.0/24と10.3.1.0/24間の通信も確認することができます。

R1

R1#ping 10.3.1.3 source 10.1.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.3.1.3, timeout is 2 seconds:
Packet sent with a source address of 10.1.1.1 
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/17/28 ms

IPルーティング応用