スタティックルートの設定

スタティックルートの設定の手順は、次のとおりです。

  1. 各ルータにとってのリモートネットワークを明確にする
  2. ip routeコマンドでリモートネットワークのルート情報をもれなく登録する

スタティックルートの設定において重要なことは、各ルータにとってのリモートネットワークを明確にしておくことです。そして、1台のルータだけでスタティックルートの設定をしても意味はありません。スタティックルートでルーティングの設定を行うときには、関係するすべてのルータでスタティックルートの設定をもれなく正しく行わなければいけません。

リモートネットワークをひとつずつ登録するのではなくて、集約してしまってもOKです。

リモートネットワークを明確にしたうえで、次のコマンドでスタティックルートの設定を行います。

(config)#ip route <network> <subnetmask> <next-hop> [<interface>] [<AD>]

<network> : ネットワークアドレス
<subnetmask> : サブネットマスク
<next-hop> : ネクストホップアドレス
<interface> : 出力インタフェース
<AD> : アドミニストレイティブディスタンス

ネクストホップアドレスは、原則として同一ネットワークの次のルータのIPアドレスです。また、出力インタフェースを指定するのは、ポイントツーポイントインタフェースのときのみです。イーサネットのようなマルチアクセスインタフェースを出力インタフェースとして指定すると、アドレス解決ができないので、パケットを適切に出力できなくなってしまいます。

アドミニストレイティブディスタンスは、省略するとデフォルトの1です。アドミニストレイティブディスタンスを大きくすることで、スタティックルートをバックアップルートとして設定することも可能です。

アドミニストレイティブディスタンスを大きく設定してバックアップルートとしたスタティックルートはフローティングスタティックルートと呼びます。

スタティックルートの確認はshow ip routeコマンドでルーティングテーブルを表示します。show ip route staticとすれば、ルーティングテーブルの中からスタティックルートのみを表示できます。

なお、スタティックルートはネクストホップに到達できなければ、ルーティングテーブルから削除されます。以下の図でR1 Fa0/0がダウンすると、ネクストホップに到達できなくなるので、ルーティングテーブルからスタティックルートは削除されます。

図 スタティックルートの削除 その1

しかし、R2 Fa0/1がダウンして192.168.1.0/24のネットワークそのものに到達できなくなったとしても、R1のスタティックルートは残ったままです。

図 スタティックルートの削除 その2

デフォルトルートをスタティックルートで設定

スタティックルートとしてデフォルトルートを登録する場合には、グローバルコンフィグレーションモードで以下のように設定します。

(config)#ip route 0.0.0.0 0.0.0.0 <next-hop>

通常のスタティックルートの設定コマンドでネットワークアドレスとサブネットマスクをともに「0.0.0.0」とすればよいだけです。

そして、Ciscoルータのルーティングテーブルにデフォルトルートを登録した場合、ルーティングテーブルは次のような例になります。

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 200.0.0.2 to network 0.0.0.0

C    192.168.12.0/24 is directly connected, Ethernet0/0
     200.0.0.0/24 is variably subnetted, 2 subnets, 2 masks
C       200.0.0.0/30 is directly connected, Serial1/0
C       200.0.0.2/32 is directly connected, Serial1/0
C    192.168.21.0/24 is directly connected, Ethernet0/1
     10.0.0.0/24 is subnetted, 2 subnets
O IA    10.3.3.0 [110/11] via 192.168.32.3, 00:00:06, Ethernet0/3
O IA    10.1.1.0 [110/20] via 192.168.21.1, 00:00:06, Ethernet0/1
                 [110/20] via 192.168.12.1, 00:00:08, Ethernet0/0
C    192.168.23.0/24 is directly connected, Ethernet0/2
C    192.168.32.0/24 is directly connected, Ethernet0/3
S*   0.0.0.0/0 [1/0] via 200.0.0.2

ルーティングテーブルにデフォルトルートが登録されていると、ルート情報の個別のエントリの上部に「Gateway of last resort is 200.0.0.2 to network 0.0.0.0」と表示されます。これは、「ネットワークアドレス 0.0.0.0でデフォルトルートが設定されていて、そのネクストホップが200.0.0.2」ということを意味しています。last resortとは、最後の手段という意味です。

そして、ルート情報の個別のエントリに、「S*   0.0.0.0/0 [1/0] via 200.0.0.2」のように「*」が付加されます。「*」はデフォルトルートとして利用するルート情報であることを意味していて、「0.0.0.0/0」のルート情報には自動的に「*」が付加されます。

あらためて確認ですが、デフォルトルートはスタティックルートの設定以外でもルーティングプロトコルを使ってルーティングテーブルに登録することが可能です。

ip default-networkコマンド

Ciscoルータでは、デフォルトルート「0.0.0.0/0」以外のルート情報に「*」のフラグを付けてデフォルトルートのように扱うこともできます。そのための設定コマンドとして、ip default networkコマンドがあります。

以下は、「0.0.0.0/0」以外のルート情報をデフォルトルートとして利用しているルーティングテーブルのサンプルです。R2には、次のような設定をしています。

R2(config)#ip default-network172.16.0.0

この設定により、172.16.0.0/16に「*」のフラグを付けてデフォルトルートのように扱うものとしています。すると、ルーティングテーブルの上部に「Gateway of last resort is 192.168.23.3 to network 172.16.0.0」と表示されます。これは、「172.16.0.0/16のルート情報をデフォルトルート扱いとして、そのネクストホップは192.168.23.3である」ことを意味しています。「Gateway of last resort(ラストリゾートゲートウェイ)」とは、デフォルトルートのネクストホップのことを指しています。

R2#show ip route
~省略~

Gateway of last resort is 192.168.23.3 to network 172.16.0.0

C    192.168.12.0/24 is directly connected, Ethernet0/0
S*   172.16.0.0/16 [1/0] via 192.168.23.3
C    192.168.21.0/24 is directly connected, Ethernet0/1
     10.0.0.0/8 is variably subnetted, 4 subnets, 3 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.0.0.0/8 [1/0] via 10.1.0.0
S       10.1.0.0/16 [1/0] via 192.168.21.1
C    192.168.23.0/24 is directly connected, Ethernet0/2
C    192.168.32.0/24 is directly connected, Ethernet0/3
ip default-networkコマンドを使うことはあまりないでしょう。素直にデフォルトルート0.0.0.0/0を登録するほうがよいです。