「このネットワーク宛てのパケットは、あのルーターへ送ってね」という指示を、ルーターにどうやって手動で教えるのでしょうか?
ダイナミックルーティングプロトコルを使わずに、管理者が直接ルートを教える方法があります。どんな情報を、どんな順番で伝える必要があるか、考えてみてください。
手書きの地図を渡すイメージ
前回、ルーティングテーブルには直接接続・スタティック・ダイナミックの3種類のルートがあると学びました。今回はそのうちスタティックルート、つまり管理者が手動でルーティングテーブルに追加するルートの設定方法を見ていきます。
自動で地図を作ってくれるカーナビ(ダイナミックルーティング)に対して、スタティックルートは「この交差点はこっちに曲がってね」と手書きでメモを渡すようなものです。小規模なネットワークや、経路を確実に固定したい場面でよく使われます。
ip route コマンドの書式
スタティックルートを設定するコマンドは ip route です。グローバルコンフィギュレーションモードで入力します。
Router(config)# ip route 192.168.10.0 255.255.255.0 192.168.2.2
この行は「192.168.10.0/24 宛てのパケットは、192.168.2.2 というネクストホップへ送りなさい」という指示です。書式は次の順番で覚えましょう。
ip route <宛先ネットワークアドレス> <サブネットマスク> <ネクストホップIPアドレス または 出力インターフェース>
宛先ネットワークアドレスとサブネットマスクは、CIDR表記(/24など)ではなく、255.255.255.0 のようなドット付き10進数で入力する点に注意してください。これはStage02で学んだ ip address コマンドと同じ書式ルールです。
ネクストホップ指定と出力インターフェース指定
ip route の最後の部分には、ネクストホップのIPアドレスの代わりに、自分のルーターの出力インターフェースを指定することもできます。
Router(config)# ip route 192.168.10.0 255.255.255.0 GigabitEthernet0/1
どちらの書き方でも動作しますが、一般的にはネクストホップIPアドレスを指定する方法が推奨されます。イーサネットのようなマルチアクセス媒体では、出力インターフェースだけの指定だとARPの解決に余計な負荷がかかることがあるためです。
設定を確認する
設定したスタティックルートが正しく反映されているかは、おなじみの show ip route で確認します。
Router# show ip route
Codes: C - connected, S - static, O - OSPF
C 192.168.1.0/24 is directly connected, GigabitEthernet0/0
C 192.168.2.0/24 is directly connected, GigabitEthernet0/1
S 192.168.10.0/24 [1/0] via 192.168.2.2
S 192.168.10.0/24 [1/0] via 192.168.2.2 の行が、今設定したスタティックルートです。[1/0] の最初の数字「1」がAD値(スタティックルートのAD)、後ろの「0」がメトリックです。
スタティックルートが有効になる条件
スタティックルートは、ただコマンドを入力しただけでは有効になりません。ルーティングテーブルに載る(アクティブになる)ためには、指定したネクストホップに実際に到達できることが必要です。ネクストホップへの経路が無い、あるいはリンクがダウンしている場合、そのスタティックルートは show ip route に表示されません。
たとえば 192.168.2.2 へのリンクがダウンしている状態で ip route 192.168.10.0 255.255.255.0 192.168.2.2 を設定しても、ネクストホップに到達できないため、そのルートはルーティングテーブルに反映されません。ケーブル接続や no shutdown の設定漏れがないか、あわせて確認する習慣をつけましょう。
ip route 172.16.0.0 255.255.0.0 10.1.1.1 というコマンドの意味を説明してください。
答えを見る
答えは「172.16.0.0/16 宛てのパケットを、10.1.1.1 というネクストホップへ送る」というスタティックルートの設定です。ip route の後ろは「宛先ネットワークアドレス → サブネットマスク(ドット付き10進) → ネクストホップIPアドレス」の順番になっています。
まとめると「宛先・マスク・次の一歩」を教える
スタティックルートは ip route 宛先 マスク ネクストホップ という書式で設定し、show ip route の S で確認できます。ネクストホップへの到達性が無いと、設定してもルーティングテーブルに反映されない点も忘れずに押さえておきましょう。
スタティックルートを設定したのに show ip route に表示されません。まず疑うべき原因は何でしょうか?
答えを見る
最も可能性が高いのは、指定したネクストホップIPアドレスに到達できていないことです。リンクがダウンしている、no shutdown を忘れている、途中の経路が無いといった理由でネクストホップに到達できない場合、スタティックルートはルーティングテーブルにアクティブなルートとして反映されません。
試験でのポイント
CCNA試験では、ip route コマンドの引数の順番(宛先ネットワーク→サブネットマスク→ネクストホップ)を正確に書けるかがよく問われます。サブネットマスクをCIDR表記(/24など)で書いてしまう誤りは定番のひっかけです。また、「設定したのにルートが反映されない」というトラブルシューティング問題では、ネクストホップへの到達性を疑うのが定石です。あわせて show ip route の [AD/メトリック] の読み方(前がAD、後ろがメトリック)も押さえておきましょう。
ip route 宛先 マスク ネクストホップ、この順番をしっかり覚えてね。ネクストホップに届かないとルートが有効にならないという点も要注意。次は、すべての宛先をまとめて指し示すデフォルトルートと、バックアップ用のフローティングスタティックを見ていくよ。