概要

特定のネットワーク宛てのパケットの転送経路を見かけ上、ショートカットするための設定について考えるケーススタディです。トンネルの設定がポイントです。

ネットワーク構成

4台のルータでネットワークを構成しています。

図 ルート制御 ケーススタディ Part2 ネットワーク構成
図 ルート制御 ケーススタディ Part2 ネットワーク構成

設定情報

各ルータの設定の抜粋は、次の通りです。

R1

interface FastEthernet0/0.1
 encapsulation dot1Q 1 native
 ip address 192.168.1.1 255.255.255.0
!
interface FastEthernet0/0.12
 encapsulation dot1Q 12
 ip address 192.168.12.1 255.255.255.0
!
!
router eigrp 100
 network 192.168.0.0 0.0.255.255
 no auto-summary

R2

interface FastEthernet0/0.12
 encapsulation dot1Q 12
 ip address 192.168.12.2 255.255.255.0
!
interface FastEthernet0/0.23
 encapsulation dot1Q 23
 ip address 192.168.23.2 255.255.255.0
!
!
router eigrp 100
 network 192.168.0.0 0.0.255.255
 no auto-summary

R3

interface FastEthernet0/0.23
 encapsulation dot1Q 23
 ip address 192.168.23.3 255.255.255.0
!
interface FastEthernet0/0.34
 encapsulation dot1Q 34
 ip address 192.168.34.3 255.255.255.0
!
!
router eigrp 100
 network 192.168.0.0 0.0.255.255
 no auto-summary

R4

interface Loopback0
 ip address 10.4.2.4 255.255.255.0 secondary
 ip address 10.4.3.4 255.255.255.0 secondary
 ip address 10.4.1.4 255.255.255.0
!
interface FastEthernet0/0.34
 encapsulation dot1Q 34
 ip address 192.168.34.4 255.255.255.0
!
!
router eigrp 100
 network 10.0.0.0
 network 192.168.34.0
 no auto-summary

問題

R1からR4の10.4.1.4、10.4.2.4、10.4.3.4へTracerouteを行った結果が、次のようになるように設定してください。

R1からのTraceroute

R1#traceroute 10.4.1.4

Type escape sequence to abort.
Tracing the route to 10.4.1.4

  1 192.168.12.2 96 msec 84 msec 88 msec
  2 192.168.23.3 76 msec 16 msec 52 msec
  3 192.168.34.4 52 msec 68 msec *

R1#traceroute 10.4.2.4

Type escape sequence to abort.
Tracing the route to 10.4.2.4

  1 192.168.12.2 92 msec 36 msec 32 msec
  2 192.168.34.4 92 msec 80 msec *

R1#traceroute 10.4.3.4

Type escape sequence to abort.
Tracing the route to 10.4.3.4

  1 192.168.12.2 80 msec 88 msec 100 msec
  2 192.168.23.3 132 msec 92 msec 80 msec
  3 192.168.34.4 220 msec 172 msec *

解答

R1

interface Tunnel0
 bandwidth 200000
 ip unnumbered FastEthernet0/0.23
 delay 1
 tunnel source FastEthernet0/0.23
 tunnel destination 192.168.34.4

R4

interface Tunnel0
 ip unnumbered FastEthernet0/0.34
 tunnel source FastEthernet0/0.34
 tunnel destination 192.168.23.2
!
router eigrp 100
 distribute-list 1 out Tunnel0
!
access-list 1 permit 10.4.2.0

解説

Tracerouteは、レイヤ3の経路を調べるために使います。Tracerouteによって指定したIPアドレス(ホスト名)の経路上のルータのIPアドレスがわかります。

※セキュリティ上、TracerouteでIPアドレスがわからないようにしているルータはかなり多いですが・・・

ネットワーク構成上は、R2とR4は直接接続されていません。にもかかわらず、R1から10.4.2.0/24への経路は、以下のようにすることが問題の趣旨です。

R1→R2(192.168.12.2)→R4(192.168.34.4)

このためにトンネルインタフェースを利用します。


トンネルを使った設定は、普通のIPルーティングだけでなくマルチキャストルーティングやIPv6でもよくあります。トンネルの設定のポイントは、2つです。

  1. トンネルインタフェースを使った接続
  2. トンネル経由のルーティング

この2点のポイントをしっかりと考えてください。

トンネルインタフェースを使った接続

まず、1つ目のトンネルインタフェースを使った接続についてです。トンネルインタフェースは、レイヤ3レベルの仮想的なポイントツーポイント接続です。R2とR4でトンネルインタフェースを設定することで、仮想的にポイントツーポイント接続されているものとみなすことができます。

図 R2-R4間のトンネル接続
図 R2-R4間のトンネル接続

マルチポイントのトンネルインタフェースもありますが、基本はポイントツーポイントです。

R2とR4間でトンネルインタフェースの作成の設定は、次の部分となります。

R2 トンネルインタフェースの作成

interface Tunnel0
 ip unnumbered FastEthernet0/0.23
 tunnel source FastEthernet0/0.23
 tunnel destination 192.168.34.4

R4 トンネルインタフェースの作成

interface Tunnel0
 ip unnumbered FastEthernet0/0.34
 tunnel source FastEthernet0/0.34
 tunnel destination 192.168.23.2

トンネルインタフェースの番号は任意です。対向と合わせる必要はありませんが、合わせておいた方が分かりやすくなります。トンネルインタフェースの基本設定が、以下の2点です。

  • tunnel source
  • tunnel destination

これらは、トンネルインタフェースから転送する際の転送用のIPヘッダのアドレス情報です。tunnel sourceとtunnel destinationは対向で認識が合っていなければいけません。また、トンネルインタフェースがupになる条件は、tunnel destinationへルーティング可能であることです。

トンネルインタフェース上でIPパケットを送受信するためには、IPアドレスが必要です。トンネルインタフェースにも普通のインタフェースと同じように、任意のIPアドレスを設定可能です。ただ、今回はTracerouteの結果からR4は、192.168.34.4で認識させなければいけません。そのため、R4のトンネルインタフェースには、ip unnumberedによってFa0/0.34のIPアドレス192.168.34.4を設定しています。R2-R4間のトンネルインタフェースで送受信されるIPパケットを考えると、次の図のようになります。

図 トンネル経由のIPパケット
図 トンネル経由のIPパケット

トンネル経由のルーティング

次に2つ目のポイントであるトンネル経由のルーティングについてです。トンネルインタフェースでIPパケットをルーティングするためには、トンネル経由でルートを学習しないといけません。今回の設定では、トンネルインタフェースのIPアドレスをEIGRPが有効なインタフェース(R2:Fa0/0.23、R4:Fa0/0.34)からip unnumberedで持ってきています。そのため、明示的にEIGRPの設定を追加しなくてもトンネルインタフェースでEIGRPが動作します。その結果、R2とR4がEIGRPネイバーになりトンネルインタフェース経由でEIGRPのルートを送受信できます。

図 EIGRPが有効なインタフェース
図 EIGRPが有効なインタフェース

R2 show ip eigrp neighbor

2#show ip eigrp neighbors
IP-EIGRP neighbors for process 100
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
                                            (sec)         (ms)       Cnt Num
2   192.168.34.4            Tu0               14 00:43:59   89   534  0  11
1   192.168.12.1            Fa0/0.12          10 00:47:47   71   426  0  10
0   192.168.23.3            Fa0/0.23          11 00:47:48   78   468  0  10

ip unnumberedではなく、トンネルインタフェースに任意のIPアドレスを設定するときは、ルーティングプロトコルの追加の設定が必要になることがあります。

ただ、トンネル経由でルートを送信するときは注意が必要です。何でもかんでもトンネル経由でルートを送信すると、ループが発生してしまったり、トンネルインタフェースがフラッピングする可能性があります。OSPFやEIGRPなど帯域幅をメトリックにしている場合は、ほとんど問題ないのですが、ホップ数をメトリックにしているRIPは危険です。

トンネル経由で送信するルートは、トンネル経由でルーティングしたいネットワークだけに限定するのが原則です。つまり、トンネル経由では10.4.2.0/24のルートだけを送信します。R2とR4どっちでフィルタしてもいいのですが、ルートを送信するときにフィルタした方が効率がいいので、R4でルートフィルタの設定をします。

R4 ルートフィルタ

router eigrp 100
 distribute-list 1 out Tunnel0
!
access-list 1 permit 10.4.2.0

図 R4でのルートフィルタ
図 R4でのルートフィルタ


これで、R2は10.4.2.0/24のルートをTunnel0とFa0/0.23で受信します。Tunnel0はデフォルトでBW 9kbps、Delay 50000μsecです。そのため、Tunnel0で受信した10.4.2.0/24のルートはサクセサ(最適ルート)になれません。このことは、R2のEIGRPトポロジテーブルを見るとよくわかります。

R2 EIGRPトポロジテーブル

R2#show ip eigrp topology
IP-EIGRP Topology Table for AS(100)/ID(192.168.23.2)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
       r - reply Status, s - sia Status

P 10.4.2.0/24, 1 successors, FD is 158720
        via 192.168.23.3 (158720/156160), FastEthernet0/0.23
        via 192.168.34.4 (297372416/128256), Tunnel0
P 10.4.3.0/24, 1 successors, FD is 158720
        via 192.168.23.3 (158720/156160), FastEthernet0/0.23
P 10.4.1.0/24, 1 successors, FD is 158720
        via 192.168.23.3 (158720/156160), FastEthernet0/0.23
P 192.168.34.0/24, 1 successors, FD is 28416
        via 192.168.23.3 (30720/28160), FastEthernet0/0.23
P 192.168.12.0/24, 1 successors, FD is 28160
        via Connected, FastEthernet0/0.12
P 192.168.1.0/24, 1 successors, FD is 30720
        via 192.168.12.1 (30720/28160), FastEthernet0/0.12
P 192.168.23.0/24, 1 successors, FD is 28160
        via Connected, FastEthernet0/0.23


図 R2で10.4.2.0/24のルート受信
図 R2で10.4.2.0/24のルート受信

そこで、R2でTunnel0で受信した10.4.2.0/24のルートがサクセサになれるように、Tunnel0のBWとDLYを小さくします。

R2 BW/DLYの調整

interface Tunnel0
 bandwidth 200000
 delay 1

すると、Tunnel0で受信した10.4.2.0/24のルートがサクセサになり、ルーティングテーブルに登録されます。

R2 EIGRPトポロジテーブル/ルーティングテーブル(BW/DLY調整後)

R2#show ip eigrp topology
IP-EIGRP Topology Table for AS(100)/ID(192.168.23.2)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
       r - reply Status, s - sia Status

P 10.4.2.0/24, 1 successors, FD is 141056
        via 192.168.34.4 (141056/128256), Tunnel0
P 10.4.3.0/24, 1 successors, FD is 158720
        via 192.168.23.3 (158720/156160), FastEthernet0/0.23
P 10.4.1.0/24, 1 successors, FD is 158720
        via 192.168.23.3 (158720/156160), FastEthernet0/0.23
P 192.168.34.0/24, 1 successors, FD is 28416
        via 192.168.23.3 (30720/28160), FastEthernet0/0.23
P 192.168.12.0/24, 1 successors, FD is 28160
        via Connected, FastEthernet0/0.12
P 192.168.1.0/24, 1 successors, FD is 30720
        via 192.168.12.1 (30720/28160), FastEthernet0/0.12
P 192.168.23.0/24, 1 successors, FD is 28160
        via Connected, FastEthernet0/0.23
R2#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

C    192.168.12.0/24 is directly connected, FastEthernet0/0.12
     10.0.0.0/24 is subnetted, 3 subnets
D       10.4.2.0 [90/141056] via 192.168.34.4, 00:01:38, Tunnel0
D       10.4.3.0 [90/158720] via 192.168.23.3, 01:08:41, FastEthernet0/0.23
D       10.4.1.0 [90/158720] via 192.168.23.3, 01:08:41, FastEthernet0/0.23
C    192.168.23.0/24 is directly connected, FastEthernet0/0.23
D    192.168.34.0/24 [90/30720] via 192.168.23.3, 01:08:48, FastEthernet0/0.23
D    192.168.1.0/24 [90/30720] via 192.168.12.1, 01:08:52, FastEthernet0/0.12

これで、R1から10.4.2.0/24あてのTracerouteの結果が、問題の条件のようになります。

IPルーティング応用