Cisco IOS XR スタティックルート設定方法
Cisco IOS XR でスタティックルートを設定するコマンドです。router staticコンフィグレーションモードのaddress-family ipv4 unicastサブモードで実行します。
IOS XR のスタティックルートも、ipv4 addressコマンドと同様にプレフィックス長表記とサブネットマスク表記のどちらでも設定できます。
router static
address-family ipv4 unicast
[宛先ネットワーク]/[プレフィックス長] [ネクストホップIPアドレス]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アドレスと合わせて、送出インタフェースを指定することもできます。
router static
address-family ipv4 unicast
[宛先ネットワーク]/[プレフィックス長] [インタフェース名] [ネクストホップIPアドレス]| 入力箇所 | 入力内容 |
|---|---|
| [インタフェース名] | パケットを送出するインタフェース名(例: GigabitEthernet0/0/0/0) |
実際にXR1で検証用のテスト経路(192.0.2.0/24、検証後は削除)に対してこの書式を入力すると、以下のように設定されます。
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
!
!「実機での検証」ではXR1・XR2のスタティックルートを送出インタフェース指定の書式で設定しています。
アドミニストレーティブディスタンス(Distance)の指定
ネクストホップIPアドレスの後ろに数値を追加すると、そのスタティックルートのアドミニストレーティブディスタンス(AD)を明示的に指定できます(既定値は1)。
router static
address-family ipv4 unicast
[宛先ネットワーク]/[プレフィックス長] [ネクストホップIPアドレス] [Distance]| 入力箇所 | 入力内容 |
|---|---|
| [Distance] | 1〜254の範囲で指定するアドミニストレーティブディスタンスの値 |
こちらもXR1で192.0.2.0/24宛てにDistance 200を指定して検証しました。
router static
address-family ipv4 unicast
192.0.2.0/24 10.1.2.2 200RP/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の出力にも指定した値が反映されています。
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は、前述の理由により送出インタフェースを指定した書式で設定しています。
| ルータ | 設定するスタティックルート |
|---|---|
| XR1 | 0.0.0.0/0 via GigabitEthernet0/0/0/0 10.1.2.2(デフォルトルート、送出インタフェース指定) |
| XR2 | 10.3.4.0/24 via GigabitEthernet0/0/0/1 10.2.3.3(送出インタフェース指定) |
| XR3 | 10.1.2.0/24 via 10.2.3.2 |
| XR4 | 0.0.0.0/0 via 10.3.4.3(デフォルトルート) |
スタティックルート設定前のルーティングテーブル
スタティックルートを設定する前は、各ルータのルーティングテーブルには直接接続されたセグメントの経路しか存在せず、隣接していないセグメント宛ての経路情報がありません。
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#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#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#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に、プレフィックス長表記かつ送出インタフェースを指定してデフォルトルートを設定します。
router static
address-family ipv4 unicast
0.0.0.0/0 GigabitEthernet0/0/0/0 10.1.2.2RP/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には、サブネットマスク表記でデフォルトルートを設定します。
router static
address-family ipv4 unicast
0.0.0.0 0.0.0.0 10.3.4.3RP/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では同じプレフィックス長表記に統一されて表示されます。
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#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#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#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(プレフィックス長表記)に正規化されています。
スタティックルート設定後のルーティングテーブル
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#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#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#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を実行し、末端のセグメント同士の疎通を確認しました。
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への疎通も確認しています。
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) をダウンロード