目次
ルーティングの大原則
ルータは、ルーティングテーブルに登録されていないネットワーク宛てのデータ(IPパケット)を転送できずに破棄します。このことをしっかりと覚えておきましょう。宛先がわからなければ破棄するのがルータです。
そのため、ネットワーク上のすべてのルータのルーティングテーブルに、データを転送したいすべてのネットワークのルート情報を正しく漏れなく登録しておくことが大前提です。
スタティックルートの設定で重要なこと
スタティックルートは、ルータごとにデータを転送する必要があるネットワークのルート情報(ネットワークアドレス/サブネットマスク、ネクストホップ)をコマンドによって登録していく設定方法です。ネットワークの全体像を踏まえて、ルータごとにルーティングテーブルに登録するべきネットワークをきちんと把握しておかないと正しく設定できません。また、通信は双方向ということもきちんと考えて設定しなければいけません。
関連記事
Ciscoルータでのスタティックルートの設定コマンドは、以下の記事で解説しています。
ネットワーク構成
以下のシンプルなネットワーク構成でスタティックルートの設定を一歩ずつ進めていきます。こんなにシンプルなネットワーク構成でも、きちんと考えてスタティックルートの設定をしないと通信がうまくできません。
このページのスタティックルートの設定例に相当する内容の動画解説です。
IPアドレスのみを設定しているときのルーティングテーブル
R1~R3でIPアドレスのみを設定していると、それぞれのルータの直接接続のネットワークについてのルート情報のみがルーティングテーブルに登録されています。
R1
R1#show ip route ~省略~ Gateway of last resort is not set C 192.168.12.0/24 is directly connected, Ethernet0/0 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.23.0/24 is directly connected, Ethernet0/2
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
ルーティングテーブルからR1~R3によって、以下の4つのネットワークが相互接続されていることがわかります。
ネットワークアドレス | 接続しているルータ |
---|---|
10.1.1.0/24 | R1 |
192.168.12.0/24 | R1/R2 |
192.168.23.0/24 | R2/R3 |
10.3.3.0/24 | R3 |
ただ、IPアドレスを設定して直接接続のネットワークのルート情報だけしかルーティングテーブルになければ、すべてのネットワーク間でデータを転送できません。たとえば、PC1(10.1.1.100)からPC2(10.3.3.100)へPingを実行しても応答は返ってきません。
PC1からPC2へPing
PC1> ping 10.3.3.100 *10.1.1.1 icmp_seq=1 ttl=255 time=8.114 ms (ICMP type:3, code:1, Destination host unreachable) *10.1.1.1 icmp_seq=2 ttl=255 time=8.081 ms (ICMP type:3, code:1, Destination host unreachable) *10.1.1.1 icmp_seq=3 ttl=255 time=11.207 ms (ICMP type:3, code:1, Destination host unreachable) *10.1.1.1 icmp_seq=4 ttl=255 time=4.270 ms (ICMP type:3, code:1, Destination host unreachable) *10.1.1.1 icmp_seq=5 ttl=255 time=9.841 ms (ICMP type:3, code:1, Destination host unreachable)
PC1からPC2へのPingのICMPエコーリクエストはR1で破棄されます。R1には10.3.3.100へ転送するためのルート情報がないからです。
PC1-PC2間の通信を行うためのスタティックルートの設定
R1に10.3.3.0/24のスタティックルートを設定
PC1-PC2間で通信を行うためにスタティックルートの設定を行います。R1で、以下のコマンドで10.3.3.0/24のルート情報を設定します。ネクストホップはR2、すなわち192.168.12.2です。
R1 10.3.3.0/24のスタティックルート
ip route 10.3.3.0 255.255.255.0 192.168.12.2
10.3.3.0/24のスタティックルートを設定すると、R1のルーティングテーブルは以下のようになります。
R1 ルーティングテーブル
R1#show ip route ~省略~ Gateway of last resort is not set C 192.168.12.0/24 is directly connected, Ethernet0/0 10.0.0.0/24 is subnetted, 2 subnets S 10.3.3.0 [1/0] via 192.168.12.2 C 10.1.1.0 is directly connected, Ethernet0/2
しかし、R1にだけ10.3.3.0/24のスタティックルートを設定してもPC1からPC2のPingは失敗します。
PC1からPC2へPing
PC1> ping 10.3.3.100 10.3.3.100 icmp_seq=1 timeout 10.3.3.100 icmp_seq=2 timeout 10.3.3.100 icmp_seq=3 timeout 10.3.3.100 icmp_seq=4 timeout 10.3.3.100 icmp_seq=5 timeout
R1はPC1からPC2へのPingをR2に転送しています。でも、R2に宛先IPアドレス10.3.3.100に一致するルート情報がないので、R2でPC1からPC2へのPingパケットが破棄されています。
R2に10.3.3.0/24のスタティックルートを設定
R1だけでなくR2にも10.3.3.0/24のスタティックルートを設定しなければいけません。R2ではネクストホップはR3、すなわち192.168.23.3です。
R2 10.3.3.0/24のスタティックルート
ip route 10.3.3.0 255.255.255.0 192.168.23.3
R2でルーティングテーブルを確認すると、10.3.3.0/24のスタティックルートが追加されます。
R2 ルーティングテーブル
R2#show ip route ~省略~ Gateway of last resort is not set C 192.168.12.0/24 is directly connected, Ethernet0/0 10.0.0.0/24 is subnetted, 1 subnets S 10.3.3.0 [1/0] via 192.168.23.3 C 192.168.23.0/24 is directly connected, Ethernet0/2
R2に10.3.3.0/24のスタティックルートを設定しても、PC1からPC2へのPingは成功しません。
PC1からPC2へPing
PC1> ping 10.3.3.100 10.3.3.100 icmp_seq=1 timeout 10.3.3.100 icmp_seq=2 timeout 10.3.3.100 icmp_seq=3 timeout 10.3.3.100 icmp_seq=4 timeout 10.3.3.100 icmp_seq=5 timeout
R1とR2に10.3.3.0/24のスタティックルートを設定すると、PC1からPC2へのPingを実行したICMPエコーリクエストはPC2まで届いています。
ここで忘れてはいけないことが、「通信は双方向」ということです。PC1からPC2へPingしてICMPエコーリクエストがPC2まで届くと、その返事としてICMPエコーリプライを返します。ICMPエコーリプライは、ICMPエコーリクエストの宛先IPアドレスと送信元IPアドレスが入れ替わったものになります。宛先は10.1.1.100(PC1)で送信元は10.3.3.100(PC2)です。R3には、宛先10.1.1.100に一致するルート情報がないので破棄します。
R3に10.1.1.0/24のスタティックルートを設定
PC2からPC1へPingの返事を返せるようにするためには、R3に宛先10.1.1.100に一致するルート情報として10.1.1.0/24のスタティックルートを設定します。
R3 10.1.1.0/24のスタティックルート
ip route 10.1.1.0 255.255.255.0 192.168.23.2
この設定により、R3のルーティングテーブルには、次のように10.1.1.0/24のスタティックルートが登録されます。
R3 ルーティングテーブル
R3#show ip route ~省略~ Gateway of last resort is not set 10.0.0.0/24 is subnetted, 2 subnets C 10.3.3.0 is directly connected, Ethernet0/2 S 10.1.1.0 [1/0] via 192.168.23.2 C 192.168.23.0/24 is directly connected, Ethernet0/0
しかし、PC1からPC2へのPingはまだ成功しません。
PC1からPC2へPing
PC1> ping 10.3.3.100 10.3.3.100 icmp_seq=1 timeout 10.3.3.100 icmp_seq=2 timeout 10.3.3.100 icmp_seq=3 timeout 10.3.3.100 icmp_seq=4 timeout 10.3.3.100 icmp_seq=5 timeout
PC1からPC2へPingを実行すると、ICMPエコーリクエストはPC2まで転送されています。そして、PC2からPC1へ返事としてICMPエコーリプライを送っています。エコーリプライはR3からR2へ転送されているのですが、R2には宛先10.1.1.100に一致するルート情報がありません。ICMPエコーリプライをR2が破棄してしまうので、Pingは成功しません。
R2に10.1.1.0/24のスタティックルートを設定
PC1からPC2へのPingのICMPエコーリクエストに対する返事のICMPエコーリプライを返せるようにR2に10.1.1.0/24についてのスタティックルートを設定します。
R2 10.1.1.0/24のスタティックルート
ip route 10.1.1.0 255.255.255.0 192.168.12.1
R2のルーティングテーブルには、以下のように10.1.1.0/24のスタティックルートが登録されます。
R2 ルーティングテーブル
R2#show ip route ~省略~ Gateway of last resort is not set C 192.168.12.0/24 is directly connected, Ethernet0/0 10.0.0.0/24 is subnetted, 2 subnets S 10.3.3.0 [1/0] via 192.168.23.3 S 10.1.1.0 [1/0] via 192.168.12.1 C 192.168.23.0/24 is directly connected, Ethernet0/2
これでようやくPC1からPC2へのPingが成功します。
PC1からPC2へPing
PC1> ping 10.3.3.100 84 bytes from 10.3.3.100 icmp_seq=1 ttl=61 time=55.660 ms 84 bytes from 10.3.3.100 icmp_seq=2 ttl=61 time=63.150 ms 84 bytes from 10.3.3.100 icmp_seq=3 ttl=61 time=66.075 ms 84 bytes from 10.3.3.100 icmp_seq=4 ttl=61 time=57.319 ms 84 bytes from 10.3.3.100 icmp_seq=5 ttl=61 time=61.142 ms
R1-R3間の通信を行うためのスタティックルートの設定
R1からR3にPingできない・・・
ここまでのスタティックルートの設定によってPC1-PC2間は通信できるのですが、R1からR3にPingを実行すると失敗します。
R1からR3へPing
R1#ping 192.168.23.3 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.23.3, timeout is 2 seconds: ..... Success rate is 0 percent (0/5)
PC1-PC2間はPingの応答がきちんと返ってくるようになったのに、その経路上にあるR1-R3間でPingの応答が返ってきません。「それは当然」とすんなりと思える方は、冒頭のルーティングの大原則がしっかりと頭に入っています。R1からR3の192.168.23.3へPingを実行すると、宛先/送信元IPアドレスは以下のようになっています。
宛先IPアドレス : 192.168.23.3
送信元IPアドレス : 192.168.12.2
R1のルーティングテーブルに宛先IPアドレス192.168.23.3に一致するルート情報が存在しないので、PingのICMPエコーリクエストを送信できません。
R1に192.168.23.0/24のスタティックルートを設定
R1からR3(192.168.23.3)へのPingのICMPエコーリクエストを送信するためには、R1のルーティングテーブルに192.168.23.0/24のルート情報を登録します。
R1 192.168.23.0/24のスタティックルート
ip route 192.168.23.0 255.255.255.0 192.168.12.2
この設定により、R1のルーティングテーブルには、192.168.23.0/24のスタティックルートが登録されます。
R1 ルーティングテーブル
R1#show ip route ~省略~ Gateway of last resort is not set C 192.168.12.0/24 is directly connected, Ethernet0/0 10.0.0.0/24 is subnetted, 2 subnets S 10.3.3.0 [1/0] via 192.168.12.2 C 10.1.1.0 is directly connected, Ethernet0/2 S 192.168.23.0/24 [1/0] via 192.168.12.2
R1に192.168.23.0/24のスタティックルートを設定するだけでは、R1からR3へのPingはまだ失敗します。
R1からR3へPing
R1#ping 192.168.23.3 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.23.3, timeout is 2 seconds: ..... Success rate is 0 percent (0/5)
R1に192.168.23.0/24のスタティックルートを設定することで、R1からR3へのPingのICMPエコーリクエストは転送されるようになっています。
やはり、忘れてはいけないことが、「通信は双方向」ということです。R3からR1へPingの返事のICMPエコーリプライを返します。その宛先/送信元IPアドレスは次のようになります。
宛先IPアドレス : 192.168.12.1
送信元IPアドレス : 192.168.23.3
R3のルーティングテーブルには192.168.12.1宛てのIPパケットを転送するためのルート情報がないために破棄します。
R3に192.168.12.0/24のスタティックルートを設定
R3からPingの返事を返せるように、R3に192.168.12.0/24のスタティックルートを設定します。
R3 192.168.12.0/24のスタティックルート
ip route 192.168.12.0 255.255.255.0 192.168.23.2
R3のルーティングテーブルを確認すると、以下のようになります。
R3 ルーティングテーブル
R3#show ip route ~省略~ Gateway of last resort is not set S 192.168.12.0/24 [1/0] via 192.168.23.2 10.0.0.0/24 is subnetted, 2 subnets C 10.3.3.0 is directly connected, Ethernet0/2 S 10.1.1.0 [1/0] via 192.168.23.2 C 192.168.23.0/24 is directly connected, Ethernet0/0
これでようやくR1からR3へのPingが成功するようになります。
R1からR3へPing
R1#ping 192.168.23.3 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.23.3, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 60/67/92 ms
最終的なルーティングテーブル
R1~R3の最終的なルーティングテーブルは以下のようになります。
R1 最終的なルーティングテーブル
R1#show ip route ~省略~ Gateway of last resort is not set C 192.168.12.0/24 is directly connected, Ethernet0/0 10.0.0.0/24 is subnetted, 2 subnets S 10.3.3.0 [1/0] via 192.168.12.2 C 10.1.1.0 is directly connected, Ethernet0/2 S 192.168.23.0/24 [1/0] via 192.168.12.2
R2 最終的なルーティングテーブル
R2#show ip route ~省略~ Gateway of last resort is not set C 192.168.12.0/24 is directly connected, Ethernet0/0 10.0.0.0/24 is subnetted, 2 subnets S 10.3.3.0 [1/0] via 192.168.23.3 S 10.1.1.0 [1/0] via 192.168.12.1 C 192.168.23.0/24 is directly connected, Ethernet0/2
R3 最終的なルーティングテーブル
R3#show ip route ~省略~ Gateway of last resort is not set S 192.168.12.0/24 [1/0] via 192.168.23.2 10.0.0.0/24 is subnetted, 2 subnets C 10.3.3.0 is directly connected, Ethernet0/2 S 10.1.1.0 [1/0] via 192.168.23.2 C 192.168.23.0/24 is directly connected, Ethernet0/0
R1~R3のルーティングテーブルに以下の4つのネットワークのルート情報がすべて登録されている状態になってはじめて、これら4つのネットワーク間の通信ができるようになります。
- 10.1.1.0/24
- 10.3.3.0/24
- 192.168.12.0/24
- 192.168.23.0/24
実際にスタティックルートの設定を行うときには、こんなふうに一歩ずつ設定する必要はもちろんありません。ただ、ネットワークの規模が大きくなってきて、ルータや相互接続しているネットワークの数が増えてくると、設定するべきスタティックルートの数がどんどん増えていってしまうことは想像がつくことでしょう。そのため、スタティックルートでのルーティングテーブルの設定は、一般的にあまり規模が大きくないネットワークに向いています。
IPルーティングのキホン
- ルータ ~ルーティングを行う中心的な機器~
- ルータでネットワークを分割
- レイヤ3スイッチ
- ルーティングの動作
- ルーティングテーブル
- ルーティングテーブルの作り方
- ホストルート ~/32のルート情報~
- スタティックルーティング?それともダイナミックルーティング? ~設定の考え方の違い~
- スタティックルーティングとダイナミックルーティング(RIP)の設定の比較
- スタティックルートのメリット・デメリット
- ルーティングプロトコルのメリット・デメリット
- ルート情報をアドバタイズする意味
- 宛先ネットワークまでの距離を計測 ~アドミニストレイティブディスタンスとメトリック~
- 等コストロードバランシング
- ルート集約 ~まとめてルーティングテーブルに登録しよう~
- デフォルトルート ~究極の集約ルート~
- 最長一致検索(ロンゲストマッチ) ~詳しいルート情報を優先する~
- インターネットのルート情報を見てみよう AT&T Looking Glass
- ルーティングプロトコルの分類 ~適用範囲~
- ルーティングプロトコルの分類 ~アルゴリズム~
- ルーティングプロトコルの分類 ~ネットワークアドレスの認識(クラスフルルーティングプロトコル/クラスレスルーティングプロトコル)~
- Cisco スタティックルートの設定
- ip default-network ~特定のルート情報に「*」をつける~
- スタティックルートをバックアップに ~フローティングスタティック~
- スタティックルートの設定を一歩ずつわかりやすく行う設定例[Cisco]
- Ciscoスタティックルーティングの設定例
- IPルーティング基礎演習Part1
- IPルーティング基礎演習Part2
- IPルーティング基礎演習Part3
- Windows PCのスタティックルートの設定 route addコマンド
- RIPの概要
- RIPの動作 ~RIPルート情報を定期的に送りつける~
- RIPスプリットホライズン
- RIPタイマ
- RIPルートポイズニング ~不要なルート情報を速やかに削除~
- Cisco RIPの設定と確認
- Cisco RIPの設定例
- RIPでのデフォルトルートの生成 ~スタティックルートの再配送~
- RIPでのデフォルトルートの生成 ~default-information originate~
- RIPでのデフォルトルートの生成 ~ip default-network~
- RIP 設定ミスの切り分けと修正 Part1
- RIP 設定ミスの切り分けと修正 Part2
- RIP 設定ミスの切り分けと修正 Part3
- RIP 設定ミスの切り分けと修正 Part4
- パッシブインタフェース(passive-interface) ~ルーティングプロトコルのパケット送信を止める~
- 転送経路を決定する方法 ~アドミニストレイティブディスタンス/メトリックと最長一致検索~
- デフォルトゲートウェイの詳細 ~ホストもルーティングしている~
- デフォルトゲートウェイの冗長化の概要
- Cisco HSRPの仕組み
- Cisco HSRP 仮想ルータ宛てのパケットがアクティブルータへ転送される仕組み
- Cisco HSRPトラッキング ~より柔軟にアクティブルータを切り替える~
- Cisco HSRP設定と確認
- Cisco HSRPの負荷分散
- HSRP 設定ミスの切り分けと修正 Part1
- VRRPの仕組み
- VRRPの設定と確認コマンド [Cisco]
- ルーティングテーブルのトラッキング(Cisco HSRP/VRRP)
- Cisco HSRP ルーティングテーブルのトラッキング設定例
- VRRP ルーティングテーブルのトラッキング設定例
- GLBPの仕組み
- Cisco GLBPの設定と確認
- Cisco GLBPの設定例
- HSRP/VRRP/GLBPのアドレス情報のまとめ