概要

シンプルなネットワーク構成でのスタティックルートの設定例です。スタティックルートでも、設定を工夫すると障害発生時に自動的にルーティングテーブルを更新して経路を切り替えられます。経路の切り替えは、アドミニストレイティブディスタンスの調整と最長一致検索(ロンゲストマッチ)の2つの方法で設定している例です。

ネットワーク構成

図 スタティックルーティング ネットワーク構成

設定条件

  • R1~R3でスタティックルーティングによってルーティングできるようにします。
  • PC間の通信を行う際には、ルータ間を接続する2つのネットワークのうち、ネットワークアドレスが小さい方を優先して利用します。そのために、R1-R2間はロンゲストマッチのルールに基づいて設定してください。また、R2-R3間ではアドミニストレイティブディスタンスの設定を行ってください。
  • ルータ間のネットワークは等コストロードバランスになるようにスタティックルートの設定を行います。

初期設定

  • ホスト名
  • IPアドレス
  • PC1、PC2
    IPアドレス、デフォルトゲートウェイ

PC1、PC2はCiscoルータをPCとして利用しています。

設定

【Step1:現在のルーティングテーブルの確認】

R1~R3で現在のルーティングテーブルを確認します。ルーティングテーブルを表示するには、show ip routeコマンドを利用します。

R1

R1#show ip route
~省略~
Gateway of last resort is not set
C    192.168.12.0/24 is directly connected, Ethernet0/0
C    192.168.21.0/24 is directly connected, Ethernet0/1
10.0.0.0/24 is subnetted, 1 subnets
C       10.1.1.0 is directly connected, Ethernet0/2

R2

R2#show ip route
~省略~
Gateway of last resort is not set
C    192.168.12.0/24 is directly connected, Ethernet0/0
C    192.168.21.0/24 is directly connected, Ethernet0/1
C    192.168.23.0/24 is directly connected, Ethernet0/2
C    192.168.32.0/24 is directly connected, Ethernet0/3

R3

R3#show ip route
~省略~
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 1 subnets
C       10.3.3.0 is directly connected, Ethernet0/2
C    192.168.23.0/24 is directly connected, Ethernet0/0
C    192.168.32.0/24 is directly connected, Ethernet0/1

現在、R1~R3は直接接続されている(Directly connected)ネットワークのルート情報を「C」というコードでルーティングテーブルに登録していることがわかります。

【Step2:リモートネットワークの確認】

R1~R3の各ルータのルーティングテーブルに登録するべきルート情報は、直接接続されていないリモートネットワークのルート情報です。スタティックルートの設定をもれなく行うには、各ルータにとってのリモートネットワークをしっかりと確認しておくことが重要です。

以下の表に、各ルータにとってのリモートネットワークとネクストホップ、出力インタフェースをまとめています。

R1のリモートネットワーク
ネットワークアドレスネクストホップ出力インタフェース
192.168.23.0/24192.168.12.2Ethernet0/0
192.168.21.2Ethernet0/1
192.168.32.0/24192.168.12.2Ethernet0/0
192.168.21.2Ethernet0/1
10.3.3.0/24192.168.12.2Ethernet0/0
192.168.21.2Ethernet0/1
R2のリモートネットワーク
ネットワークアドレスネクストホップ出力インタフェース
10.1.1.0/24192.168.12.1Ethernet0/0
192.168.21.1Ethernet0/1
10.3.3.0/24192.168.23.3Ethernet0/2
192.168.32.3Ethernet0/3
R3のリモートネットワーク
ネットワークアドレスネクストホップ出力インタフェース
192.168.23.0/24192.168.12.2Ethernet0/0
192.168.21.2Ethernet0/1
192.168.32.0/24192.168.12.2Ethernet0/0
192.168.21.2Ethernet0/1
10.3.3.0/24192.168.12.2Ethernet0/0
192.168.21.2Ethernet0/1
スタティックルートの設定で出力インタフェースの指定は必須ではありませんが、パケットの転送経路を明確にするために出力インタフェースもまとめています。

【Step3:ルータ間のネットワークアドレスのスタティックルート設定】

R1-R2間、R2-R3間のネットワークアドレス(192.168.12.0/24、192.168.21.0/24、192.168.23.0/24、192.168.32.0/24)に対するスタティックルートを設定します。R2は直接接続されているので、設定は不要です。R1とR3でルータ間の4つのネットワークアドレスに対するスタティックルートの設定を行います。なお、等コストロードバランスになるように、それぞれ2つずつルートを設定します。

R1

ip route 192.168.23.0 255.255.255.0 192.168.12.2
ip route 192.168.23.0 255.255.255.0 192.168.21.2
ip route 192.168.32.0 255.255.255.0 192.168.12.2
ip route 192.168.32.0 255.255.255.0 192.168.21.2

R2

ip route 192.168.12.0 255.255.255.0 192.168.23.2
ip route 192.168.12.0 255.255.255.0 192.168.32.2
ip route 192.168.21.0 255.255.255.0 192.168.23.2
ip route 192.168.21.0 255.255.255.0 192.168.32.2

単にPC1-PC2間での通信を行うだけであれば、ルータ間のネットワークアドレスに対するスタティックルートの設定は不要です。

【Step4:ルータ間のネットワークアドレスのスタティックルート確認】

Step3で設定したルータ間のネットワークアドレスに対するスタティックルートを確認します。

R1

R1#show ip route static
S    192.168.23.0/24 [1/0] via 192.168.21.2
                     [1/0] via 192.168.12.2
S    192.168.32.0/24 [1/0] via 192.168.21.2
                     [1/0] via 192.168.12.2

R2

R3#show ip route static
S    192.168.12.0/24 [1/0] via 192.168.32.2
                     [1/0] via 192.168.23.2
S    192.168.21.0/24 [1/0] via 192.168.32.2
                     [1/0] via 192.168.23.2

同じネットワークアドレスに対して異なるネクストホップを設定することで、スタティックルートでも等コストロードバランスが可能です。

【Step5:PCのネットワークアドレスに対するスタティックルート設定】

PC1/PC2のネットワークアドレスに対するスタティックルートを設定します。PC間の通信は、等コストロードバランスではなくネットワークアドレスが小さい方のルータ間のリンクを優先する条件です。そして、R1-R2間とR2-R3間では条件により、設定の考え方が違います。

PC間の通信に必要な10.1.1.0/24と10.3.3.0/24のネットワークアドレスについて、R1-R2間の設定とR2-R3間の設定をそれぞれ考えます。

【10.1.1.0/24のスタティックルート】

PC2からPC1へパケットを送信するときに、10.1.1.0/24のスタティックルートが必要です。R3から10.1.1.0/24へパケットをルーティングする際には、ネクストホップとして以下の2つあります。

  • 192.168.23.2(優先する)
  • 192.168.32.2(優先しない:遠く見せる[アドミニストレイティブディスタンスを大きく])

ネットワークアドレスが小さい方を優先するので、192.168.23.2を優先します。そのためには、ネクストホップ192.168.32.2のスタティックルートのアドミニストレイティブディスタンスを大きく設定します。ネクストホップ192.168.32.2のスタティックルートは遠く見せるように設定していることになります。

R3

ip route 10.1.1.0 255.255.255.0 192.168.23.2
ip route 10.1.1.0 255.255.255.0 192.168.32.2 10

そして、R2から10.1.1.0/24へパケットをルーティングする際には、ネクストホップとして以下の2つあります。

  • 192.168.12.1(優先する)
  • 192.168.21.1(優先しない:大雑把に設定する[集約])

ロンゲストマッチによってネクストホップとして192.168.12.1を優先するためには、10.1.1.0/24のネクストホップとして192.168.12.1を設定し、10.1.0.0/16に集約したネットワークアドレスのネクストホップとして192.168.21.1を設定します。つまり、ネクストホップ192.168.21.1のスタティックルートは大雑把に設定します。

R2

ip route 10.1.0.0 255.255.0.0 192.168.21.1
ip route 10.1.1.0 255.255.255.0 192.168.12.1

なお、R1では10.1.1.0/24のネットワークは直接接続なので特別な設定は必要ありません。10.1.1.0/24に対するスタティックルートの設定とパケットのルーティングの様子をまとめると、次の図のようになります。

図 10.1.1.0/24に対するスタティックルートとパケットのルーティング
図 10.1.1.0/24に対するスタティックルートとパケットのルーティング

【10.3.3.0/24のスタティックルート】

PC1からPC2へパケットを送信するときに10.3.3.0/24のスタティックルートが必要です。10.1.1.0/24のスタティックルートと考え方は同じです。R1では、ロンゲストマッチによって、パケットをルーティングするときにネクストホップ 192.168.12.2のスタティックルートが優先されるように以下のように設定します。

R1

ip route 10.3.0.0 255.255.0.0 192.168.21.2
ip route 10.3.3.0 255.255.255.0 192.168.12.2

そして、R2ではアドミニストレイティブディスタンスを大きくすることで、ネクストホップ 192.168.32.3のスタティックルートはルーティングテーブルには登録されないようにします。

R2

ip route 10.3.3.0 255.255.255.0 192.168.23.3
ip route 10.3.3.0 255.255.255.0 192.168.32.3 10

R3では10.3.3.0/24のネットワークは直接接続なのでスタティックルートの設定は不要です。10.3.3.0/24に対するスタティックルートの設定とパケットのルーティングの様子をまとめると、次の図のようになります。

図 10.3.3.0/24に対するスタティックルートとパケットのルーティング
図 10.3.3.0/24に対するスタティックルートとパケットのルーティング


【Step6:PCのネットワークアドレスに対するスタティックルート確認】

Step5で設定したPCのネットワークアドレスに対するスタティックルートを確認します。

R1

R1#show ip route static
     10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks
S       10.3.0.0/16 [1/0] via 192.168.21.2
S       10.3.3.0/24 [1/0] via 192.168.12.2
S    192.168.23.0/24 [1/0] via 192.168.21.2
                     [1/0] via 192.168.12.2
S    192.168.32.0/24 [1/0] via 192.168.21.2
                     [1/0] via 192.168.12.2

R2

R2#show ip route static
     10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks
S       10.3.3.0/24 [1/0] via 192.168.23.3
S       10.1.1.0/24 [1/0] via 192.168.12.1
S       10.1.0.0/16 [1/0] via 192.168.21.1

R3

R3#show ip route static
S    192.168.12.0/24 [1/0] via 192.168.32.2
                     [1/0] via 192.168.23.2
S    192.168.21.0/24 [1/0] via 192.168.32.2
                     [1/0] via 192.168.23.2
     10.0.0.0/24 is subnetted, 2 subnets
S       10.1.1.0 [1/0] via 192.168.23.2

【Step7:PC間の通信経路の確認】

トレースルートによってPC1-PC2間の通信経路を確認します。PC1からPC2へのトレースルートの結果は、以下のようになります。

PC1

PC1#traceroute 10.3.3.100

Type escape sequence to abort.
Tracing the route to 10.3.3.100

  1 10.1.1.1 36 msec 16 msec 20 msec
  2 192.168.12.2 32 msec 40 msec 40 msec
  3 192.168.23.3 56 msec 56 msec 56 msec
  4 10.3.3.100 80 msec *  64 msec

PC2

PC2#traceroute 10.1.1.100

Type escape sequence to abort.
Tracing the route to 10.1.1.100

  1 10.3.3.3 32 msec 16 msec 20 msec
  2 192.168.23.2 32 msec 24 msec 32 msec
  3 192.168.12.1 40 msec 60 msec 56 msec
  4 10.1.1.100 76 msec *  64 msec

トレースルートの結果からPC1-PC2間の通信は、ルータ間のネットワークアドレスが小さい方の経路で行われていることがわかります。

【Step8:経路の切り替え】

Step7で確認したように、PC間の通信は、ルータ間のネットワークアドレスが小さい方を優先しています。この経路のインタフェースであるR1 E0/0、R2 E0/0、R2 E0/2、R3 E0/0をシャットダウンします。

R1

interface Ethernet0/0
 shutdown

R2

interface Ethernet0/0
 shutdown
!
interface Ethernet0/2
 shutdown

R3

interface Ethernet0/0
 shutdown

その後、R1~R3のルーティングテーブルを確認すると、次のようになります。

R1

R1#show ip route static
     10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
S       10.3.0.0/16 [1/0] via 192.168.21.2
S    192.168.23.0/24 [1/0] via 192.168.21.2
S    192.168.32.0/24 [1/0] via 192.168.21.2

R2

R2#show ip route static
     10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
S       10.3.3.0/24 [10/0] via 192.168.32.3
S       10.1.0.0/16 [1/0] via 192.168.21.1

R3

R3#show ip route static
S    192.168.12.0/24 [1/0] via 192.168.32.2
S    192.168.21.0/24 [1/0] via 192.168.32.2
     10.0.0.0/24 is subnetted, 2 subnets
S       10.1.1.0 [10/0] via 192.168.32.2

R2とR3のルーティングテーブルには、アドミニストレイティブディスタンスが大きく設定されているスタティックルートが登録されるようになったことがわかります。そして、トレースルートでPC1-PC2間の通信経路を確認します。

PC1

PC1#traceroute 10.3.3.100

Type escape sequence to abort.
Tracing the route to 10.3.3.100

  1 10.1.1.1 8 msec 28 msec 20 msec
  2 192.168.21.2 32 msec 40 msec 40 msec
  3 192.168.32.3 52 msec 52 msec 64 msec
  4 10.3.3.100 64 msec *  68 msec

PC2

PC2#traceroute 10.1.1.100

Type escape sequence to abort.
Tracing the route to 10.1.1.100

  1 10.3.3.3 32 msec 0 msec 16 msec
  2 192.168.32.2 28 msec 20 msec 20 msec
  3 192.168.21.1 56 msec 44 msec 52 msec
  4 10.1.1.100 56 msec *  80 msec

トレースルートの結果から、PC間の通信はネットワークアドレスが大きい方の経路に切り替わっていることがわかります。スタティックルートでも、設定を工夫すれば障害発生時にルーティングテーブルを自動的に更新してパケットの転送経路を切り替えることができます。

IPルーティングのキホン