はじめに
このドキュメントでは、スタティックルートについて説明し、ネクストホップ IP アドレスへの到達方法を指定することが望ましい場合を、問題のシナリオを使用して示します。
前提条件
要件
このドキュメントに関する固有の要件はありません。
使用するコンポーネント
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
スタティックルートはさまざまな理由で使用されますが、宛先 IP アドレスへのダイナミックルートがない場合、または動的に学習されたルートを上書きするために使用されることが多くあります。
デフォルトでは、スタティック ルートのアドミニストレーティブ ディスタンスは 1 となっているので、ダイナミック ルーティング プロトコルによるルートよりも優先されます。アドミニストレーティブ ディスタンスをダイナミック ルーティング プロトコルよりも大きい値に増やすと、ダイナミックルーティングが失敗したときにスタティックルートがセーフティネットになります。たとえば、Enhanced Interior Gateway Routing Protocol(EIGRP)によって生成されたルートのデフォルトのアドミニストレーティブディスタンスは、内部ルートでは90、外部ルートでは170です。 EIGRP ルートが優先されるスタティックルートを設定するには、スタティックルートに 170 よりも大きいアドミニストレーティブ ディスタンスを指定する必要があります。
アドミニストレーティブ ディスタンスが大きいスタティックルートは、フローティング スタティック ルートと呼ばれます。このルートはダイナミック ルートが消失した場合にだけルーティング テーブルにインストールされます。フローティング スタティック ルートの例:ip route 172.31.10.0 255.255.255.0 10.10.10.2 101。
注:アドミニストレーティブ ディスタンスが 255 の場合は到達不能と見なされるため、アドミニストレーティブ ディスタンスが 255 のスタティックルートはルーティングテーブルに入力されません。
表記法
ドキュメントの表記法の詳細は、「シスコ テクニカル ティップスの表記法」を参照してください。
ネクストホップ IP アドレスを使用しないインターフェイスへのスタティックルート
インターフェイスへのスタティックルートとしてポイントするように設定されている場合は、ネクストホップのIPアドレスを指定しないでください。インターフェイスがアクティブな場合にのみ、ルートがルーティングテーブルに入力されます。スタティックルートが、あるインターフェイスを指し、ネクストホップ情報を持たない場合、ルータはルートの範囲内の各ホストがそのインターフェイスを介して直接接続されていると見なすので、この設定は推奨されません。このようなスタティックルートの一例が、ip route 0.0.0.0 0.0.0.0 Ethernet0 です。
このタイプの設定では、ルータは、すべての宛先がイーサネット 0 に直接接続されていると見なすため、ルータがデフォルトルートを介して発見するすべての宛先に対して、イーサネット上で Address Resolution Protocol(ARP)を実行します。このタイプのスタティックルートでは、多くの異なる宛先サブネットに向かう多数のパケットによって使用される場合は特に、プロセッサの使用率が高くなり、ARP キャッシュが非常に大きくなる可能性があります(メモリ割り当ての失敗とあわせて)。したがって、このタイプのスタティックルートは推奨されません。
直接接続されたインターフェイスでネクストホップアドレスを指定すると、ルータは各宛先アドレスに対して ARP を実行しません。たとえば、IP ルート 0.0.0.0 0.0.0.0 Ethernet0 192.168.1.1 です。直接接続されたネクストホップアドレスのみが指定されますが、これは本ドキュメントで説明する理由により推奨されません。直接接続されたネクストホップアドレスを指定する必要はありませんが、リモート ネクスト ホップ アドレスと、リモートネクストホップが再帰するインターフェイスは指定できます。
ネクストホップを伴うインターフェイスがダウンし、ネクストホップが再帰ルートを介して到達できるようになる可能性がある場合は、ネクストホップ IP アドレスと共に、そのネクストホップを検出できる代替インターフェイスを指定する必要もあります。たとえば、ip route 10.0.0.1 255.255.255.255 Serial 3/3 192.168.20.1 がこれに該当します。代替インターフェイスを追加すると、スタティックルートのインストールがより明確になります。
フローティング スタティック ルートの例
この例では、フローティングスタティックルートの使用について説明し、static routeコマンドを使用してアウトバウンドインターフェイスとネクストホップアドレスの両方を指定する必要性について説明します。
問題
この画像に示しているネットワーク設定では、1 つのホスト 172.31.10.1 がインターネットに接続しています。この例では、ホストはリモート インターネット ホスト 10.100.1.1 への接続を行います。
この設定では、プライマリリンクは、R1 のシリアルポート 1/0 と R2 のシリアルポート 1/0 の間のリンクであり、ホスト 172.31.10.1 とインターネットとの間のトラフィックに使用されます。ホスト 10.100.1.1 は、インターネットホストの一例として使用されています。R1 のシリアル ポート 2/0 と R2 のシリアル ポート 2/0 との間のリンクがバックアップ リンクです。バックアップリンクは、プライマリリンクに障害が発生した場合にのみ使用されます。これは、プライマリ リンクを指すのにスタティック ルートを使用し、バックアップ リンクを指すのにフローティング スタティック ルートを使用することで展開されます。
R1 の同じ宛先(172.31.10.0/24)に 2 つのスタティック ルートがあります。1 つのルートは通常のスタティックルートで、もう 1 つのルートはフローティング スタティック ルートであり、これがバックアップまたは LAN 上の宛先ネットワークへの冗長パスとなります。このシナリオの問題点は、プライマリリンクがダウンしたときにフローティング スタティック ルートがルーティングテーブルにインストールされないことです。
これは R1 の設定です。
hostname R1
!
interface Serial1/0
ip address 10.10.10.1 255.255.255.252
!
interface Serial2/0
ip address 10.10.20.1 255.255.255.252
!
ip route 10.0.0.0 255.0.0.0 192.168.10.2
! This is the primary route to get to hosts on the internet.
ip route 172.31.10.0 255.255.255.0 10.10.10.2
! This is the preferred route to the LAN.
ip route 172.31.10.0 255.255.255.0 10.10.20.2 250
! This is the floating static route to the LAN.
これは R2 の設定です。
hostname R2
!
interface Serial1/0
ip address 10.10.10.2 255.255.255.252
!
interface Serial2/0
ip address 10.10.20.2 255.255.255.252
!
ip route 0.0.0.0 0.0.0.0 10.10.10.1
ip route 0.0.0.0 0.0.0.0 10.10.20.1 250
!
これは R1 のルーティング テーブルです。
R1#show ip route
Codes: L - local, 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, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 5 subnets, 3 masks
S 10.0.0.0/8 [1/0] via 192.168.10.2
C 10.10.10.0/30 is directly connected, Serial1/0
L 10.10.10.1/32 is directly connected, Serial1/0
C 10.10.20.0/30 is directly connected, Serial2/0
L 10.10.20.1/32 is directly connected, Serial2/0
172.31.0.0/24 is subnetted, 1 subnets
S 172.31.10.0 [1/0] via 10.10.10.2
192.168.10.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.10.0/30 is directly connected, Serial3/0
L 192.168.10.1/32 is directly connected, Serial3/0
ホストからインターネットホスト10.100.1.1に対してpingを実行すると、期待どおりに機能します。
host#ping 10.100.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.100.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 73/78/80 ms
ホストからインターネットホスト 10.100.1.1 へのトレースルートは、次のように表示されます。
host#traceroute 10.100.1.1
Type escape sequence to abort.
Tracing the route to 10.100.1.1
VRF info: (vrf in name/id, vrf out name/id)
1 172.31.10.2 1 msec 1 msec 1 msec
2 10.10.10.1 31 msec 39 msec 39 msec
3 192.168.10.2 80 msec * 80 msec
プライマリ リンク 10.10.10.0/30 が使用されています。
フェールオーバーをテストするために R1 のシリアルポート 1/0 をシャットダウンすると、R1 がローカル LAN 172.31.10.0 へのフローティング スタティック ルートをインストールし、R2 が 0.0.0.0 から 10.10.20.1 へのフローティング スタティック ルートをインストールすると予想されます。また、トラフィックがバックアップリンク上を流れるとも予想されます。
R1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)#interface serial1/0
R1(config-if)#shutdown
R1(config-if)#end
R1#
ただし、LAN 172.31.10.0/24 のスタティック ルートは R1 のルーティング テーブルに残ります。
R1#show ip route
Codes: L - local, 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, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 3 subnets, 3 masks
S 10.0.0.0/8 [1/0] via 192.168.10.2
C 10.10.20.0/30 is directly connected, Serial2/0
L 10.10.20.1/32 is directly connected, Serial2/0
172.31.0.0/24 is subnetted, 1 subnets
S 172.31.10.0 [1/0] via 10.10.10.2
192.168.10.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.10.0/30 is directly connected, Serial3/0
L 192.168.10.1/32 is directly connected, Serial3/0
R1#show ip route 172.31.10.0
Routing entry for 172.31.10.0/24
Known via "static", distance 1, metric 0
Routing Descriptor Blocks:
* 10.10.10.2
Route metric is 0, traffic share count is 1
R1#show ip route 10.10.10.2
Routing entry for 10.0.0.0/8
Known via "static", distance 1, metric 0
Routing Descriptor Blocks:
* 192.168.10.2
Route metric is 0, traffic share count is 1
ホストからの ping および traceroute はもう機能しません。
host#ping 10.100.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.100.1.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
host#traceroute 10.100.1.1
Type escape sequence to abort.
Tracing the route to 10.100.1.1
VRF info: (vrf in name/id, vrf out name/id)
1 172.31.10.2 1 msec 1 msec 1 msec
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
…
フローティング スタティック ルートは R1 にインストールされておらず、シリアルポート 1/0 リンクがシャットダウンされていても、まだプライマリ スタティック ルートは R1 のルーティングテーブルにあります。これが発生するのは、もともとスタティック ルートが再帰的であるからです。ネクストホップへのルートがある限り、スタティックルートは常にルーティングテーブルに保持されます。
この問題のシナリオでは、プライマリリンクがダウンしているため、R1 のルーティングテーブルにアドミニストレーティブ ディスタンスが 250 のフローティング スタティック ルートがインストールされることが予想されます。しかしながら、通常のスタティックルートがルーティングテーブルに残っているため、フローティング スタティック ルートはルーティングテーブルにインストールされません。ネクストホップ IP アドレス 10.10.10.2 は、ルーティングテーブルに存在するスタティックルート 10.0.0.0/8 を介して正常に(192.168.10.2 に)再帰されます。
解決方法
ネクスト ホップが別のスタティック ルートに再帰できない場合に、R1 にスタティック ルートを設定します。シスコでは、スタティックルートにアウトバウンド インターフェイスとネクストホップ IP アドレスの両方を設定することを推奨しています。シリアルインターフェイスの場合、シリアルインターフェイスはポイントツーポイント インターフェイスであるため、アウトバウンド インターフェイスを指定するだけで十分です。アウトバウンド インターフェイスがイーサネット インターフェイスの場合は、アウトバウンド インターフェイスとネクストホップ IP アドレスの両方を設定します。
この例では、アウトバウンド インターフェイスを指定して LAN のスタティックルートを設定しています。
R1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)#no ip route 172.31.10.0 255.255.255.0 10.10.10.2
R1(config)#ip route 172.31.10.0 255.255.255.0 Serial1/0
R1(config)#end
R1#show ip route
Codes: L - local, 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, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 3 subnets, 3 masks
S 10.0.0.0/8 [1/0] via 192.168.10.2
C 10.10.20.0/30 is directly connected, Serial2/0
L 10.10.20.1/32 is directly connected, Serial2/0
172.31.0.0/24 is subnetted, 1 subnets
S 172.31.10.0 [250/0] via 10.10.20.2
192.168.10.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.10.0/30 is directly connected, Serial3/0
L 192.168.10.1/32 is directly connected, Serial3/0
これで、ホストからのインターネット ホストへの ping および traceroute が動作でき、バックアップ リンクが使用されます。
R1#show ip route 172.31.10.0
Routing entry for 172.31.10.0/24
Known via "static", distance 250, metric 0 (connected)
Routing Descriptor Blocks:
* 10.10.20.2
Route metric is 0, traffic share count is 1
host#ping 10.100.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.100.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 76/79/80 ms
host#traceroute 10.100.1.1
Type escape sequence to abort.
Tracing the route to 10.100.1.1
VRF info: (vrf in name/id, vrf out name/id)
1 172.31.10.2 1 msec 1 msec 1 msec
2 10.10.20.1 38 msec 39 msec 40 msec
3 192.168.10.2 80 msec * 80 msec
結論
スタティックルートが設定される場合は、アウトバウンドインターフェイスとネクストホップIPアドレスを指定することを強く推奨します。アウトバウンド インターフェイスがポイントツーポイントのリンクタイプ(たとえば、シリアルリンク)である場合、ネクストホップ IP アドレスを指定する必要はありません。