【Juniper】スタティックルートの設定
スタティックルートを設定する
ルータは直接繋がっている(Connected)ネットワークの経路は把握することはできますが、その先のネットワークの経路情報は把握することができません。
下記の例だとOlive1のルーターから送信されるデータは直接つながるOlive2までは到達できますが、Olive3にまで到達する経路情報がないため送信することができません。
Olive3のルーターも同様です。Olive1までの経路情報を持っていないため、Olive1の先にある端末とこのままでは通信することができません。
今回は管理者がルーターに経路情報を静的に設定する方法について見ていきます。
経路情報は宛先ネットワークへ到達するためのネクストホップのIPアドレスを指定する形で行います。通常はルーターの物理インターフェイスやVLANインターフェイスに割り当てられたIPアドレスを指定します。
構成図
文法:
set routing-options static route <宛先ネットワーク>next-hop <ネクストホップのIPアドレス>
設定例:
宛先ネットワーク「192.168.20.0/24」のネクストホップをOlive2のem0インターフェイス「192.168.10.2」とする場合
[edit]
root@Olive1# set routing-options static route 192.168.20.0/24 next-hop 192.168.10.2root@Olive1# commit
commit complete
確認方法
「show route」コマンドを利用してルーティングテーブルの情報を確認します。
[edit]
root@Olive1# run show routeinet.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both192.168.5.0/24 *[Direct/0] 02:22:32
> via em2.0
192.168.5.1/32 *[Local/0] 02:22:32
Local via em2.0
192.168.10.0/24 *[Direct/0] 02:22:38
> via em0.0
192.168.10.1/32 *[Local/0] 02:22:38
Local via em0.0
192.168.20.0/24 *[Static/5] 00:03:10
> to 192.168.10.2 via em0.0
「192.168.20.0/24」への経路がスタティックで登録されていることが確認できます。
スタティックルートのデフォルトのプレファレンスは「5」です。
同様にOlive3側も設定します。
■Olive3
[edit]
root@Olive3# set interfaces em0 unit 0 family inet address 192.168.20.2/24root@Olive3#set routing-options static route 192.168.10.0/24 next-hop 192.168.20.1
両方設定したら、pingで「192.168.20.0/24」への疎通性を確認します。
[edit]
root@Olive1# run ping 192.168.20.1
PING 192.168.20.1 (192.168.20.1): 56 data bytes
64 bytes from 192.168.20.1: icmp_seq=0 ttl=64 time=1.236 ms
64 bytes from 192.168.20.1: icmp_seq=1 ttl=64 time=1.543 ms
^C
--- 192.168.20.1 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max/stddev = 1.236/1.389/1.543/0.154 ms
ネクストホップが有効ではない場合
スタティックルートがアクティブになる条件として対抗のネクストホップがに到達できる必要があります。
たとえば誤ってネクストホップの指定を存在しないIPアドレスである「192.168.11.2」と設定した場合を見てみます。
- 一度正しいスタティックルートの情報を削除し、
delete routing-options static route 192.168.20.0/24 next-hop 192.168.10.2
- 誤ったネクストホップで再度登録します。
set routing-options static route 192.168.20.0/24 next-hop 192.168.11.2
- 設定の内容を確認します。
[edit]
root@Olive1# show | compare
[edit routing-options static]
- route 192.168.20.0/24 next-hop 192.168.10.2;
+ route 192.168.20.0/24 next-hop 192.168.11.2;問題がないことを確認し、コミットします。
[edit]
root@Olive1# commit check
configuration check succeeds
この状態でルーティングテーブルを確認すると、設定したスタティックの経路がルーティングテーブルに表示されていないことがわかります。
[edit]
root@Olive1# run show routeinet.0: 4 destinations, 4 routes (4 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both192.168.5.0/24 *[Direct/0] 02:28:14
> via em2.0
192.168.5.1/32 *[Local/0] 02:28:14
Local via em2.0
192.168.10.0/24 *[Direct/0] 02:28:20
> via em0.0
192.168.10.1/32 *[Local/0] 02:28:20
Local via em0.0
もちろん、経路がないためpingも通りません。
[edit]
root@Olive1# run ping 192.168.20.1
PING 192.168.20.1 (192.168.20.1): 56 data bytes
ping: sendto: No route to host
^C
--- 192.168.20.1 ping statistics ---
1 packets transmitted, 0 packets received, 100% packet lost
デフォルトルートを静的に設定する
すべての通信したい宛先ネットワークに対して静的に経路情報を設定していくのは大変な作業なので、すべてのルートを意味する「0.0.0.0/0」アドレスに対しての経路情報を設定します。これをデフォルトルートとよびます。デフォルトルートにつながるネクストホップのIPアドレスをデフォルトゲートウェイと呼びます。ルーティングテーブルにない宛先ネットワーク行きのパケットはすべてデフォルトゲートウェイに転送されます。
文法:
set routing-options static route 0.0.0.0/0 next-hop <ネクストホップのIPアドレス>
設定例:
デフォルトルートのネクストホップを「192.168.10.2」とする場合
[edit]
root@Olive1# set routing-options static route 0.0.0.0/0 next-hop 192.168.10.2
確認方法
[edit]
root@Olive1# run show routeinet.0: 6 destinations, 6 routes (6 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both0.0.0.0/0 *[Static/5] 00:00:01
> to 192.168.10.2 via em0.0
192.168.5.0/24 *[Direct/0] 04:42:44
> via em2.0
192.168.5.1/32 *[Local/0] 04:42:44
Local via em2.0
192.168.10.0/24 *[Direct/0] 04:42:50
> via em0.0
192.168.10.1/32 *[Local/0] 04:42:50
Local via em0.0
192.168.20.0/24 *[Static/5] 00:28:14
> to 192.168.10.2 via em0.0
デフォルトルートが追加されていることがわかる。