HOME > コンテンツリスト > ラボ・シナリオ for CCNA > [ < 前へ 次へ > ]

スタティックルートを設定する

ルータは内部に持つルーティングテーブルを見て、受け取ったパケットをどのインターフェイスから出力するか判断します。ネットワーク内にルータが1台だけであれば、前のシナリオで行ったように、ルータのインターフェイスにIPアドレスを設定するだけで必要なルーティングテーブルは作られますが、今回のようにルータが複数ある場合はこれ以外の設定も必要です。

ネットワーク内にルータが複数ある場合、ルータは以下の2つのどちらかを使って(または、組み合わせて)、ルーティングテーブルを作成します。
スタティックルーティングネットワークのルート情報を、管理者が各ルータに手動で1つ1つ登録していく方法で、非常に手間がかかりますが、ネットワーク内のオーバーヘッドが減り、セキュリティに優れています。非常に小規模なネットワークで使うか、中・大規模ネットワークでもダイナミックルーティングと組み合わせて部分的に使用するだけで、多くで使われる方法ではありません。
ダイナミックルーティングネットワークのルート情報をルータ同士がルーティングアップデートを使用して教え合う方法で、ルーティングアップデートが流れるためネットワーク内のオーバーヘッドが増えますが、管理者がルート情報を設定する必要がないのでルータの設定が非常に楽で、ルータの管理コストが減るため、多くのルータで使われています。

想定するネットワーク構成図

ラボ・シナリオで使用するネットワーク構成図
・物理 PC の VirtualBox 上に、PC-A、PC-B の2つの仮想 PC を構成する。
・PC-A は物理 PC に標準搭載している LAN ポートを使用するように VirtualBox を設定する。
・物理 PC に USB-LAN 変換ケーブルを1つ接続し、PC-B がそれを使用するように VirtualBox を設定する。


参考 : VirtualBox のインストールと基本的な使用方法
  1. RT-A、RT-B をネットワーク構成図に示す通り設定しなさい。
  2. < RT-A >
    Router# conf t
    Enter configuration commands, one per line.  End with CNTL/Z.
    Router(config)# host RT-A
    RT-A(config)# int f0/0
    RT-A(config-if)# ip add 192.168.1.1 255.255.255.0
    RT-A(config-if)# no shut
    RT-A(config-if)# int f0/1
    RT-A(config-if)# ip add 192.168.2.1 255.255.255.0
    RT-A(config-if)# no shut
    RT-A(config-if)# ^Z
    RT-A#
    
    < RT-B >
    Router# conf t
    Enter configuration commands, one per line.  End with CNTL/Z.
    Router(config)# host RT-B
    RT-B(config)# int f0/0
    RT-B(config-if)# ip add 192.168.2.2 255.255.255.0
    RT-B(config-if)# no shut
    RT-B(config-if)# int f0/1
    RT-B(config-if)# ip add 192.168.3.2 255.255.255.0
    RT-B(config-if)# no shut
    RT-B(config-if)# ^Z
    RT-B#
    
  3. PC-A、PC-B をネットワーク構成図に示す通り設定しなさい。
  4. < PC-A >
    C:\> netsh interface ipv4 set address "イーサネット" static 192.168.1.10 255.255.255.0 192.168.1.1
    
    C:\> ipconfig
    
    Windows IP 構成
    
    イーサネット アダプター イーサネット:
    
       接続固有の DNS サフィックス . . . . .:
       IPv4 アドレス . . . . . . . . . . . .: 192.168.1.10
       サブネット マスク . . . . . . . . . .: 255.255.255.0
       デフォルト ゲートウェイ . . . . . . .: 192.168.1.1
    
    C:\>
    
    < PC-B >
    C:\> netsh interface ipv4 set address "イーサネット" static 192.168.3.10 255.255.255.0 192.168.3.2
    
    C:\> ipconfig
    
    Windows IP 構成
    
    イーサネット アダプター イーサネット:
    
       接続固有の DNS サフィックス . . . . .:
       IPv4 アドレス . . . . . . . . . . . .: 192.168.3.10
       サブネット マスク . . . . . . . . . .: 255.255.255.0
       デフォルト ゲートウェイ . . . . . . .: 192.168.3.2
    
    C:\>
    
    全ての PC は ping 着信許可の設定を行っているものとします。
  5. PC-A から PC-B へ ping を実行しなさい。
  6. < PC-A >
    C:\> ping 192.168.3.10
    
    192.168.3.10 に ping を送信しています 32 バイトのデータ:
    192.168.1.1 からの応答: 宛先ホストに到達できません。
    192.168.1.1 からの応答: 宛先ホストに到達できません。
    192.168.1.1 からの応答: 宛先ホストに到達できません。
    192.168.1.1 からの応答: 宛先ホストに到達できません。
    
    192.168.3.10 の ping 統計:
        パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
    
    C:\>
    
    PC-B のIPアドレス 192.168.3.10 への ping は失敗しました。
    では PC-A に近い方から順に ping で確かめていきましょう。

  7. PC-A から RT-A の F0/0 へ ping を実行しなさい。
  8. < PC-A >
    C:\> ping 192.168.1.1
    
    192.168.1.1 に ping を送信しています 32 バイトのデータ:
    192.168.1.1 からの応答: バイト数 =32 時間 =2ms TTL=255
    192.168.1.1 からの応答: バイト数 =32 時間 =1ms TTL=255
    192.168.1.1 からの応答: バイト数 =32 時間 =1ms TTL=255
    192.168.1.1 からの応答: バイト数 =32 時間 =1ms TTL=255
    
    192.168.1.1 の ping 統計:
        パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
    ラウンド トリップの概算時間 (ミリ秒):
        最小 = 1ms、最大 = 2ms、平均 = 1ms
    
    C:\>
    
    RT-A の F0/0 のIPアドレス 192.168.1.1 への ping は成功しています。
  9. PC-A から RT-A の F0/1 へ ping を実行しなさい。
  10. < PC-A >
    C:\> ping 192.168.2.1
    
    192.168.2.1 に ping を送信しています 32 バイトのデータ:
    192.168.2.1 からの応答: バイト数 =32 時間 =2ms TTL=255
    192.168.2.1 からの応答: バイト数 =32 時間 =1ms TTL=255
    192.168.2.1 からの応答: バイト数 =32 時間 =1ms TTL=255
    192.168.2.1 からの応答: バイト数 =32 時間 =1ms TTL=255
    
    192.168.2.1 の ping 統計:
        パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
    ラウンド トリップの概算時間 (ミリ秒):
        最小 = 1ms、最大 = 2ms、平均 = 1ms
    
    C:\>
    
    RT-A の F0/1 のIPアドレス 192.168.2.1 への ping は成功しています。
  11. PC-A から RT-B の F0/0 へ ping を実行しなさい。
  12. < PC-A >
    C:\> ping 192.168.2.2
    
    192.168.2.2 に ping を送信しています 32 バイトのデータ:
    要求がタイムアウトしました。
    要求がタイムアウトしました。
    要求がタイムアウトしました。
    要求がタイムアウトしました。
    
    192.168.2.2 の ping 統計:
        パケット数: 送信 = 4、受信 = 0、損失 = 4 (100% の損失)、
    
    C:\>
    
    RT-B の F0/0 のIPアドレス 192.168.2.2 への ping は失敗しました。



    では、何故 ping が失敗したのでしょうか?
  13. RT-A のルーティングテーブルを表示させなさい。
  14. < RT-A >
    RT-A# sh ip route | begin Gateway   ← sh ip route の Gateway の文字のある行以下を表示
    ateway of last resort is not set
    
          192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
    C        192.168.1.0/24 is directly connected, FastEthernet0/0   ← 直接接続されたネットワーク
    L        192.168.1.1/32 is directly connected, FastEthernet0/0
          192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
    C        192.168.2.0/24 is directly connected, FastEthernet0/1   ← 直接接続されたネットワーク
    L        192.168.2.1/32 is directly connected, FastEthernet0/1
    RT-A#
    
    RT-A はこのルーティングテーブルを見て、受け取った 192.168.2.2 宛てのパケットを FastEthernet0/1 から送出します。
  15. RT-B のルーティングテーブルを表示させなさい。
  16. < RT-B >
    RT-B# sh ip route | begin Gateway   ← sh ip route の Gateway の文字のある行以下を表示
    Gateway of last resort is not set
    
          192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
    C        192.168.2.0/24 is directly connected, FastEthernet0/0   ← 直接接続されたネットワーク
    L        192.168.2.2/32 is directly connected, FastEthernet0/0
          192.168.3.0/24 is variably subnetted, 2 subnets, 2 masks
    C        192.168.3.0/24 is directly connected, FastEthernet0/1   ← 直接接続されたネットワーク
    L        192.168.3.2/32 is directly connected, FastEthernet0/1
    RT-B#
    
    RT-B は 192.168.2.2 宛てのパケットを FastEthernet0/0 で受け取ります。192.168.2.2 は RT-B の F0/0 に設定されているIPアドレスなので、これの返事を送信元の PC-A のIPアドレス 192.168.1.10 宛てに返します。

    この時、RT-B は自身のルーティングテーブルを参照して、192.168.1.10 宛てのパケットをどのインターフェイスから出力するか判断するのですが、RT-B のルーティングテーブルには 192.168.1.10 のためのルート情報がないため、PC-A に返事のためのパケット (エコー応答) を送り出すことができません。

    そのため、PC-A は ping 192.168.2.2 の返事を受け取ることができず ping に失敗したわけです。
    では、PC-B に 192.168.1.10 のためのルート情報を追加しましょう。
  17. RT-B に 192.168.1.0/24 宛てのルート情報をスタティックに設定しなさい。
  18. < RT-B >
    RT-B# conf t
    Enter configuration commands, one per line.  End with CNTL/Z.
    RT-B(config)# ip route 192.168.1.0 255.255.255.0 192.168.2.1
    RT-B(config)# ^Z
    RT-B#
    
    ip routeはスタティックルートを設定するためのコマンドで、

    ip route 192.168.1.0 255.255.255.0 192.168.2.1
            このネットワークに行きたければ  ここにパケットを送りなさい

    という記述をします。

    これは「192.168.1.0/24 宛てのパケット (このネットワーク内にあるホスト向けのパケット) は、192.168.2.1 に送りなさい」という意味になります。
  19. RT-B のルーティングテーブルを表示させなさい。
  20. < RT-B >
    RT-B# sh ip route | begin Gateway
    Gateway of last resort is not set
    
    S     192.168.1.0/24 [1/0] via 192.168.2.1                       ← 192.168.1.0/24 宛てのルート
          192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
    C        192.168.2.0/24 is directly connected, FastEthernet0/0   ← 直接接続されたネットワーク
    L        192.168.2.2/32 is directly connected, FastEthernet0/0
          192.168.3.0/24 is variably subnetted, 2 subnets, 2 masks
    C        192.168.3.0/24 is directly connected, FastEthernet0/1   ← 直接接続されたネットワーク
    L        192.168.3.2/32 is directly connected, FastEthernet0/1
    RT-B#
    
    192.168.1.0/24 宛てのルートが追加されています。
    先頭の「S」は Static の「S」で、スタティックルートを意味します。
    「192.168.1.0/24」のネットワークは「192.168.2.1」を経由する (つまり、192.168.2.1に送れ) というルート情報です。

    これで RT-B は 192.168.1.10 宛てのパケットを RT-A に渡すことができます。
    この 192.168.1.10 宛てのパケットを受け取った RT-A は自身のルーティングテーブルを見て、どうするか判断します。
    ■ アドミニストレーティブディスタンス と メトリック
    [1/0] はアドミニストレーティブディスタンスの値と、メトリックの値です。



    詳しい説明は RIP のシナリオで行いますが、アドミニストレーティブディスタンスは複数のルーティングプロトコル (直接接続やスタティックも含めて) がある場合にどのルーティングプロトコルが信頼性が高いかの判断基準で、メトリックは同じ宛先に複数のルートで到達できる場合に、どのルートを通って宛先に行くのが一番近いかという優先度を表す値です。

    アドミニストレーティブディスタンスのデフォルトでは下記の通りになっています。
    C直接接続されたインターフェイス0
    Sスタティックルート1
    DEIGRP90
    OOSPF110
    RRIP120
    スタティックルートのメトリックは「0」固定です。
  21. RT-A のルーティングテーブルを表示させなさい。
  22. < RT-A >
    RT-A# sh ip route | begin Gateway
    Gateway of last resort is not set
    
          192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
    C        192.168.1.0/24 is directly connected, FastEthernet0/0
    L        192.168.1.1/32 is directly connected, FastEthernet0/0
          192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
    C        192.168.2.0/24 is directly connected, FastEthernet0/1
    L        192.168.2.1/32 is directly connected, FastEthernet0/1
    RT-A#
    
    RT-A はこのルーティングテーブルを見て、RT-B から受け取る 192.168.1.10 宛てのパケットを FastEthernet0/0 から送出します。
    そして 192.168.1.10 宛てのパケットは PC-A に送られますので、ping は成功するはずです。

    では確認しましょう。
  23. PC-A から RT-B の F0/0 へ ping を実行しなさい。
  24. < PC-A >
    C:\> ping 192.168.2.2
    
    192.168.2.2 に ping を送信しています 32 バイトのデータ:
    192.168.2.2 からの応答: バイト数 =32 時間 =3ms TTL=254
    192.168.2.2 からの応答: バイト数 =32 時間 =1ms TTL=254
    192.168.2.2 からの応答: バイト数 =32 時間 =1ms TTL=254
    192.168.2.2 からの応答: バイト数 =32 時間 =1ms TTL=254
    
    192.168.2.2 の ping 統計:
        パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
    ラウンド トリップの概算時間 (ミリ秒):
        最小 = 1ms、最大 = 3ms、平均 = 1ms
    
    C:\>
    
    ping は成功しました。
  25. PC-A から RT-B の F0/1 へ ping を実行しなさい。
  26. < PC-A >
    C:\> ping 192.168.3.2
    
    192.168.3.2 に ping を送信しています 32 バイトのデータ:
    192.168.1.1 からの応答: 宛先ホストに到達できません。
    192.168.1.1 からの応答: 宛先ホストに到達できません。
    192.168.1.1 からの応答: 宛先ホストに到達できません。
    192.168.1.1 からの応答: 宛先ホストに到達できません。
    
    192.168.3.2 の ping 統計:
        パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
    
    C:\>
    
    RT-B の F0/1 のIPアドレス 192.168.3.2 への ping は失敗しました。



    では、何故 ping が失敗したのでしょうか?
  27. RT-A のルーティングテーブルを表示させなさい。
  28. < RT-A >
    RT-A# sh ip route | begin Gateway
    Gateway of last resort is not set
    
          192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
    C        192.168.1.0/24 is directly connected, FastEthernet0/0
    L        192.168.1.1/32 is directly connected, FastEthernet0/0
          192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
    C        192.168.2.0/24 is directly connected, FastEthernet0/1
    L        192.168.2.1/32 is directly connected, FastEthernet0/1
    RT-A#
    
    RT-A のルーティングテーブルには 192.168.3.2 のためのルート情報がないため、
    RT-A は受け取ったパケットを 192.168.3.2 宛てに送り出すことができません。
    そのため、PC-A は ping に失敗したわけです。

    では、RT-A に 192.168.3.2 のためのルート情報を追加しましょう。
  29. RT-A に 192.168.3.0/24 宛てのルート情報をスタティックに設定しなさい。
  30. < RT-A >
    RT-A# conf t
    Enter configuration commands, one per line.  End with CNTL/Z.
    RT-A(config)# ip route 192.168.3.0 255.255.255.0 192.168.2.2
    RT-A(config)# ^Z
    RT-A#
    
  31. RT-A のルーティングテーブルを表示させなさい。
  32. < RT-A >
    RT-A# sh ip route | begin Gateway
    Gateway of last resort is not set
    
          192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
    C        192.168.1.0/24 is directly connected, FastEthernet0/0   ← 直接接続されたネットワーク
    L        192.168.1.1/32 is directly connected, FastEthernet0/0
          192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
    C        192.168.2.0/24 is directly connected, FastEthernet0/1   ← 直接接続されたネットワーク
    L        192.168.2.1/32 is directly connected, FastEthernet0/1
    S     192.168.3.0/24 [1/0] via 192.168.2.1                       ← 192.168.3.0/24 宛てのルート
    RT-A#
    
    これで RT-A に 192.168.3.0/24 のルート情報が追加されました。
  33. PC-A から RT-B の F0/1 へ ping を実行しなさい。
  34. < PC-A >
    C:\> ping 192.168.3.2
    
    192.168.3.2 に ping を送信しています 32 バイトのデータ:
    192.168.3.2 からの応答: バイト数 =32 時間 =3ms TTL=254
    192.168.3.2 からの応答: バイト数 =32 時間 =1ms TTL=254
    192.168.3.2 からの応答: バイト数 =32 時間 =1ms TTL=254
    192.168.3.2 からの応答: バイト数 =32 時間 =1ms TTL=254
    
    192.168.3.2 の ping 統計:
        パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
    ラウンド トリップの概算時間 (ミリ秒):
        最小 = 1ms、最大 = 3ms、平均 = 1ms
    
    C:\>
    
    ping は成功しました。
  35. PC-A から PC-B へ ping を実行しなさい。
  36. < PC-A >
    C:\> ping 192.168.3.10
    
    192.168.3.10 に ping を送信しています 32 バイトのデータ:
    192.168.3.10 からの応答: バイト数 =32 時間 =1ms TTL=126
    192.168.3.10 からの応答: バイト数 =32 時間 =2ms TTL=126
    192.168.3.10 からの応答: バイト数 =32 時間 =2ms TTL=126
    192.168.3.10 からの応答: バイト数 =32 時間 =2ms TTL=126
    
    192.168.3.10 の ping 統計:
        パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
    ラウンド トリップの概算時間 (ミリ秒):
        最小 = 1ms、最大 = 2ms、平均 = 1ms
    
    C:\>
    
    ping は成功しました。
    これで、PC-A と PC-B の End-to-End の通信が可能になりました。
    このためには、RT-A と RT-B にそれぞれ1つずつのスタティックルートの設定が必要でした。
    ■ RT-Aのスタティックルートの設定について


    RT-A はインターフェイスにIPアドレスを設定することにより、192.168.1.0/24 と 192.168.2.0/24 のネットワークは知っていますが、192.168.3.0/24 のネットワークは知りません。そのため、192.168.3.0/24 のネットワーク宛のパケットをそのネットワークに届けることができません。スタティックルートでは、この知らないネットワークをルータに設定します。

    ip route 192.168.3.0 255.255.255.0 192.168.2.2

    192.168.3.0/24 のネットワークにあるホスト宛のパケットは、RT-B の F0/0 (隣接ルータの隣接インターフェイス)に送れば、RT-B がどうにかしてくれます(RT-B か受け取り、RT-B の F0/1 から送出し、PC-B に届く)。

    ■ RT-Bのスタティックルートの設定について


    RT-B はインターフェイスにIPアドレスを設定することにより、192.168.2.0/24 と 192.168.3.0/24 のネットワークは知っていますが、192.168.1.0/24 のネットワークは知りません。そのため、192.168.1.0/24 のネットワーク宛のパケットをそのネットワークに届けることができません。スタティックルートで、この知らないネットワークをルータに設定します。

    ip route 192.168.1.0 255.255.255.0 192.168.2.1

    192.168.1.0/24 のネットワークにあるホスト宛のパケットは、RT-A の F0/1 (隣接ルータの隣接インターフェイス)に送れば、RT-A がどうにかしてくれます(RT-A か受け取り、RT-A の F0/0 から送出し、PC-A に届く)。
    ※ 次の「シナリオ」に続きます。