メインコンテンツへスキップ
  1. Router および Switch 関連記事一覧/
  2. IOS-XR/

IOS XR IPv4スタティックルート設定

目次

Cisco IOS XR スタティックルート設定方法

Cisco IOS XR でスタティックルートを設定するコマンドです。router staticコンフィグレーションモードのaddress-family ipv4 unicastサブモードで実行します。

IOS XR のスタティックルートも、ipv4 addressコマンドと同様にプレフィックス長表記とサブネットマスク表記のどちらでも設定できます。

IOS XR スタティックルート設定(プレフィックス長表記)
router static
 address-family ipv4 unicast
  [宛先ネットワーク]/[プレフィックス長] [ネクストホップIPアドレス]
IOS XR スタティックルート設定(サブネットマスク表記)
router static
 address-family ipv4 unicast
  [宛先ネットワーク] [サブネットマスク] [ネクストホップIPアドレス]
入力箇所入力内容
[宛先ネットワーク]スタティックルートの宛先となるネットワークアドレス(デフォルトルートの場合は0.0.0.0
[プレフィックス長]CIDR表記のプレフィックス長(例: /24
[サブネットマスク]ドット付き10進表記のサブネットマスク(例: 255.255.255.0
[ネクストホップIPアドレス]パケットを転送する隣接ルータのIPアドレス

インタフェースへのIPv4アドレス設定についてはIOS XR インタフェースへのIPv4アドレス設定を、スタティックルーティングの基本的な考え方についてはスタティックルーティングを参照してください。

ipv4 addressコマンドと同様、どちらの書式で入力しても show running-config 上では常にプレフィックス長表記に正規化されて保存されます(Cisco IOS(-XE)のスタティックルートが常にサブネットマスク表記に正規化されるのとは逆の挙動である点に注意してください)。

送出インタフェースの指定

ネクストホップIPアドレスの代わりに、あるいはネクストホップIPアドレスと合わせて、送出インタフェースを指定することもできます。

IOS XR スタティックルート設定(送出インタフェース + ネクストホップ指定)
router static
 address-family ipv4 unicast
  [宛先ネットワーク]/[プレフィックス長] [インタフェース名] [ネクストホップIPアドレス]
入力箇所入力内容
[インタフェース名]パケットを送出するインタフェース名(例: GigabitEthernet0/0/0/0)

実際にXR1で検証用のテスト経路(192.0.2.0/24、検証後は削除)に対してこの書式を入力すると、以下のように設定されます。

XR1 送出インタフェース + ネクストホップ指定 実行例(検証用)
RP/0/RP0/CPU0:XR1(config-static-afi)#192.0.2.0/24 GigabitEthernet0/0/0/0 10.1.2.2
RP/0/RP0/CPU0:XR1#show running-config router static
router static
 address-family ipv4 unicast
  0.0.0.0/0 10.1.2.2
  192.0.2.0/24 GigabitEthernet0/0/0/0 10.1.2.2
 !
!
送出インタフェースを指定する最大のメリットは、そのインタフェースがダウンした際にスタティックルート自体がルーティングテーブルから自動的に無効化される点です。ネクストホップIPアドレスのみを指定した場合、経路の到達性は再帰的ルックアップによって間接的に判定されるため、実際にはリンクがダウンしていても、ネクストホップへの経路情報が別の経路から得られる限りそのスタティックルートが有効なまま残ってしまう可能性があります。

「実機での検証」ではXR1・XR2のスタティックルートを送出インタフェース指定の書式で設定しています。

アドミニストレーティブディスタンス(Distance)の指定

ネクストホップIPアドレスの後ろに数値を追加すると、そのスタティックルートのアドミニストレーティブディスタンス(AD)を明示的に指定できます(既定値は1)。

IOS XR スタティックルート設定(Distance指定)
router static
 address-family ipv4 unicast
  [宛先ネットワーク]/[プレフィックス長] [ネクストホップIPアドレス] [Distance]
入力箇所入力内容
[Distance]1〜254の範囲で指定するアドミニストレーティブディスタンスの値

こちらもXR1で192.0.2.0/24宛てにDistance 200を指定して検証しました。

XR1 Distance指定(検証用)設定Config
router static
 address-family ipv4 unicast
  192.0.2.0/24 10.1.2.2 200
XR1 Distance指定 実行例(検証用)
RP/0/RP0/CPU0:XR1#configure
RP/0/RP0/CPU0:XR1(config)#router static
RP/0/RP0/CPU0:XR1(config-static)#address-family ipv4 unicast
RP/0/RP0/CPU0:XR1(config-static-afi)#192.0.2.0/24 10.1.2.2 200
RP/0/RP0/CPU0:XR1(config-static-afi)#commit
Sun Aug 16 10:19:34.035 UTC
RP/0/RP0/CPU0:XR1(config-static-afi)#end
RP/0/RP0/CPU0:XR1#

show routeの出力にも指定した値が反映されています。

XR1 show route 192.0.2.0/24(検証用)
RP/0/RP0/CPU0:XR1#show route 192.0.2.0/24

Routing entry for 192.0.2.0/24
  Known via "static", distance 200, metric 0
  Installed Aug 16 10:19:34.271 for 00:00:22
  Routing Descriptor Blocks
    10.1.2.2
      Route metric is 0
  No advertising protos.

アドミニストレーティブディスタンスの基本的な考え方についてはアドミニストレーティブディスタンス(AD)を参照してください。

実機での検証

XR1〜XR4の4台をGigabitEthernetで直列に接続した検証環境で、スタティックルートを設定して疎通を確認しました。

XR1・XR4はそれぞれセグメントの末端にあたり、対向方向以外に転送先がないためデフォルトルートのみを設定します。中継役のXR2・XR3は、自身が直接接続していない反対側のセグメントへの経路をそれぞれ個別に設定します。XR1・XR2は、前述の理由により送出インタフェースを指定した書式で設定しています。

ルータ設定するスタティックルート
XR10.0.0.0/0 via GigabitEthernet0/0/0/0 10.1.2.2(デフォルトルート、送出インタフェース指定)
XR210.3.4.0/24 via GigabitEthernet0/0/0/1 10.2.3.3(送出インタフェース指定)
XR310.1.2.0/24 via 10.2.3.2
XR40.0.0.0/0 via 10.3.4.3(デフォルトルート)

スタティックルート設定前のルーティングテーブル

スタティックルートを設定する前は、各ルータのルーティングテーブルには直接接続されたセグメントの経路しか存在せず、隣接していないセグメント宛ての経路情報がありません。

XR1 show route(設定前)
RP/0/RP0/CPU0:XR1#show route

Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path
       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, E - EGP
       i - ISIS, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, su - IS-IS summary null, * - candidate default
       U - per-user static route, o - ODR, L - local, G  - DAGR, l - LISP
       A - access/subscriber, a - Application route
       M - mobile route, r - RPL, t - Traffic Engineering, (!) - FRR Backup path
       s - local SRv6 route, z - local IID route

Gateway of last resort is not set

C    10.1.2.0/24 is directly connected, 00:07:14, GigabitEthernet0/0/0/0
L    10.1.2.1/32 is directly connected, 00:07:14, GigabitEthernet0/0/0/0
RP/0/RP0/CPU0:XR1#
XR2 show route(設定前)
RP/0/RP0/CPU0:XR2#show route

Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path
       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, E - EGP
       i - ISIS, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, su - IS-IS summary null, * - candidate default
       U - per-user static route, o - ODR, L - local, G  - DAGR, l - LISP
       A - access/subscriber, a - Application route
       M - mobile route, r - RPL, t - Traffic Engineering, (!) - FRR Backup path
       s - local SRv6 route, z - local IID route

Gateway of last resort is not set

C    10.1.2.0/24 is directly connected, 00:06:38, GigabitEthernet0/0/0/0
L    10.1.2.2/32 is directly connected, 00:06:38, GigabitEthernet0/0/0/0
C    10.2.3.0/24 is directly connected, 00:06:38, GigabitEthernet0/0/0/1
L    10.2.3.2/32 is directly connected, 00:06:38, GigabitEthernet0/0/0/1
RP/0/RP0/CPU0:XR2#
XR3 show route(設定前)
RP/0/RP0/CPU0:XR3#show route

Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path
       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, E - EGP
       i - ISIS, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, su - IS-IS summary null, * - candidate default
       U - per-user static route, o - ODR, L - local, G  - DAGR, l - LISP
       A - access/subscriber, a - Application route
       M - mobile route, r - RPL, t - Traffic Engineering, (!) - FRR Backup path
       s - local SRv6 route, z - local IID route

Gateway of last resort is not set

C    10.2.3.0/24 is directly connected, 00:05:59, GigabitEthernet0/0/0/0
L    10.2.3.3/32 is directly connected, 00:05:59, GigabitEthernet0/0/0/0
C    10.3.4.0/24 is directly connected, 00:05:59, GigabitEthernet0/0/0/1
L    10.3.4.3/32 is directly connected, 00:05:59, GigabitEthernet0/0/0/1
RP/0/RP0/CPU0:XR3#
XR4 show route(設定前)
RP/0/RP0/CPU0:XR4#show route

Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path
       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, E - EGP
       i - ISIS, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, su - IS-IS summary null, * - candidate default
       U - per-user static route, o - ODR, L - local, G  - DAGR, l - LISP
       A - access/subscriber, a - Application route
       M - mobile route, r - RPL, t - Traffic Engineering, (!) - FRR Backup path
       s - local SRv6 route, z - local IID route

Gateway of last resort is not set

C    10.3.4.0/24 is directly connected, 00:05:20, GigabitEthernet0/0/0/0
L    10.3.4.4/32 is directly connected, 00:05:20, GigabitEthernet0/0/0/0
RP/0/RP0/CPU0:XR4#

いずれも「Gateway of last resort is not set」であり、直接接続された経路(C/L)以外の経路情報を持っていないことがわかります。

プレフィックス長表記・送出インタフェース指定での設定例(XR1)

XR1に、プレフィックス長表記かつ送出インタフェースを指定してデフォルトルートを設定します。

XR1 スタティックルート(プレフィックス長表記+送出インタフェース指定)設定Config
router static
 address-family ipv4 unicast
  0.0.0.0/0 GigabitEthernet0/0/0/0 10.1.2.2
XR1 スタティックルート設定(プレフィックス長表記+送出インタフェース指定)実行例
RP/0/RP0/CPU0:XR1#configure
RP/0/RP0/CPU0:XR1(config)#router static
RP/0/RP0/CPU0:XR1(config-static)#address-family ipv4 unicast
RP/0/RP0/CPU0:XR1(config-static-afi)#0.0.0.0/0 GigabitEthernet0/0/0/0 10.1.2.2
RP/0/RP0/CPU0:XR1(config-static-afi)#commit
Sun Aug 16 10:25:55.482 UTC
RP/0/RP0/CPU0:XR1(config-static-afi)#end
RP/0/RP0/CPU0:XR1#

サブネットマスク表記での設定例(XR4)

XR4には、サブネットマスク表記でデフォルトルートを設定します。

XR4 スタティックルート(サブネットマスク表記)設定Config
router static
 address-family ipv4 unicast
  0.0.0.0 0.0.0.0 10.3.4.3
XR4 スタティックルート設定(サブネットマスク表記)実行例
RP/0/RP0/CPU0:XR4#configure
RP/0/RP0/CPU0:XR4(config)#router static
RP/0/RP0/CPU0:XR4(config-static)#address-family ipv4 unicast
RP/0/RP0/CPU0:XR4(config-static-afi)#0.0.0.0 0.0.0.0 10.3.4.3
RP/0/RP0/CPU0:XR4(config-static-afi)#commit
Sun Aug 16 10:04:38.964 UTC
RP/0/RP0/CPU0:XR4(config-static-afi)#end
RP/0/RP0/CPU0:XR4#

XR2にも同様に送出インタフェースを指定した10.3.4.0/24 GigabitEthernet0/0/0/1 10.2.3.3を、XR3にはネクストホップのみの10.1.2.0/24 10.2.3.2を設定しています。

show running-config router static での表示

どちらの書式で入力しても、show running-config router staticでは同じプレフィックス長表記に統一されて表示されます。

XR1 show running-config router static
RP/0/RP0/CPU0:XR1#show running-config router static

router static
 address-family ipv4 unicast
  0.0.0.0/0 GigabitEthernet0/0/0/0 10.1.2.2
 !
!

RP/0/RP0/CPU0:XR1#
XR2 show running-config router static
RP/0/RP0/CPU0:XR2#show running-config router static

router static
 address-family ipv4 unicast
  10.3.4.0/24 GigabitEthernet0/0/0/1 10.2.3.3
 !
!

RP/0/RP0/CPU0:XR2#
XR3 show running-config router static
RP/0/RP0/CPU0:XR3#show running-config router static

router static
 address-family ipv4 unicast
  10.1.2.0/24 10.2.3.2
 !
!

RP/0/RP0/CPU0:XR3#
XR4 show running-config router static
RP/0/RP0/CPU0:XR4#show running-config router static

router static
 address-family ipv4 unicast
  0.0.0.0/0 10.3.4.3
 !
!

RP/0/RP0/CPU0:XR4#

XR4は0.0.0.0 0.0.0.0 10.3.4.3(サブネットマスク表記)で入力しましたが、show running-config上ではXR1と同じ0.0.0.0/0(プレフィックス長表記)に正規化されています。

スタティックルート設定後のルーティングテーブル

XR1 show route(設定後)
RP/0/RP0/CPU0:XR1#show route

Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path
       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, E - EGP
       i - ISIS, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, su - IS-IS summary null, * - candidate default
       U - per-user static route, o - ODR, L - local, G  - DAGR, l - LISP
       A - access/subscriber, a - Application route
       M - mobile route, r - RPL, t - Traffic Engineering, (!) - FRR Backup path
       s - local SRv6 route, z - local IID route

Gateway of last resort is 10.1.2.2 to network 0.0.0.0

S*   0.0.0.0/0 [1/0] via 10.1.2.2, 00:00:24, GigabitEthernet0/0/0/0
C    10.1.2.0/24 is directly connected, 00:30:13, GigabitEthernet0/0/0/0
L    10.1.2.1/32 is directly connected, 00:30:13, GigabitEthernet0/0/0/0
RP/0/RP0/CPU0:XR1#
XR2 show route(設定後)
RP/0/RP0/CPU0:XR2#show route

Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path
       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, E - EGP
       i - ISIS, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, su - IS-IS summary null, * - candidate default
       U - per-user static route, o - ODR, L - local, G  - DAGR, l - LISP
       A - access/subscriber, a - Application route
       M - mobile route, r - RPL, t - Traffic Engineering, (!) - FRR Backup path
       s - local SRv6 route, z - local IID route

Gateway of last resort is not set

C    10.1.2.0/24 is directly connected, 00:31:48, GigabitEthernet0/0/0/0
L    10.1.2.2/32 is directly connected, 00:31:48, GigabitEthernet0/0/0/0
C    10.2.3.0/24 is directly connected, 00:31:48, GigabitEthernet0/0/0/1
L    10.2.3.2/32 is directly connected, 00:31:48, GigabitEthernet0/0/0/1
S    10.3.4.0/24 [1/0] via 10.2.3.3, 00:02:32, GigabitEthernet0/0/0/1
RP/0/RP0/CPU0:XR2#
XR3 show route(設定後)
RP/0/RP0/CPU0:XR3#show route

Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path
       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, E - EGP
       i - ISIS, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, su - IS-IS summary null, * - candidate default
       U - per-user static route, o - ODR, L - local, G  - DAGR, l - LISP
       A - access/subscriber, a - Application route
       M - mobile route, r - RPL, t - Traffic Engineering, (!) - FRR Backup path
       s - local SRv6 route, z - local IID route

Gateway of last resort is not set

S    10.1.2.0/24 [1/0] via 10.2.3.2, 00:01:19
C    10.2.3.0/24 is directly connected, 00:08:55, GigabitEthernet0/0/0/0
L    10.2.3.3/32 is directly connected, 00:08:55, GigabitEthernet0/0/0/0
C    10.3.4.0/24 is directly connected, 00:08:55, GigabitEthernet0/0/0/1
L    10.3.4.3/32 is directly connected, 00:08:55, GigabitEthernet0/0/0/1
RP/0/RP0/CPU0:XR3#
XR4 show route(設定後)
RP/0/RP0/CPU0:XR4#show route

Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path
       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, E - EGP
       i - ISIS, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, su - IS-IS summary null, * - candidate default
       U - per-user static route, o - ODR, L - local, G  - DAGR, l - LISP
       A - access/subscriber, a - Application route
       M - mobile route, r - RPL, t - Traffic Engineering, (!) - FRR Backup path
       s - local SRv6 route, z - local IID route

Gateway of last resort is 10.3.4.3 to network 0.0.0.0

S*   0.0.0.0/0 [1/0] via 10.3.4.3, 00:02:07
C    10.3.4.0/24 is directly connected, 00:08:17, GigabitEthernet0/0/0/0
L    10.3.4.4/32 is directly connected, 00:08:17, GigabitEthernet0/0/0/0
RP/0/RP0/CPU0:XR4#

XR2・XR3にはそれぞれ設定した経路がS(スタティックルート)として、XR1・XR4にはS*(candidate default、デフォルトルート)として追加されています。

疎通確認

XR1からXR4(3ホップ先)へpingを実行し、末端のセグメント同士の疎通を確認しました。

XR1 ping 10.3.4.4
RP/0/RP0/CPU0:XR1#ping 10.3.4.4
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.3.4.4 timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 7/9/11 ms
RP/0/RP0/CPU0:XR1#

逆方向のXR4からXR1への疎通も確認しています。

XR4 ping 10.1.2.1
RP/0/RP0/CPU0:XR4#ping 10.1.2.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.2.1 timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/9/12 ms
RP/0/RP0/CPU0:XR4#

いずれも成功率100%で応答が返り、直接接続されていないXR1・XR4間も、XR2・XR3が中継することで正しく疎通できていることが確認できます。XR1・XR4はデフォルトルートで相手側の存在を意識せずにパケットを送出し、中継役のXR2・XR3がそれぞれ持つ経路情報によって正しい方向へ転送されています。

検証Config

XR1 config(r1_ipv4-static.cfg) をダウンロード

XR2 config(r2_ipv4-static.cfg) をダウンロード

XR3 config(r3_ipv4-static.cfg) をダウンロード

XR4 config(r4_ipv4-static.cfg) をダウンロード

検証環境およびshow結果

XR1 show出力(r1_ipv4-static_show.txt) をダウンロード

XR2 show出力(r2_ipv4-static_show.txt) をダウンロード

XR3 show出力(r3_ipv4-static_show.txt) をダウンロード

XR4 show出力(r4_ipv4-static_show.txt) をダウンロード

関連記事