ルータのメインの動作はルーティングです。ルーティングの設定をしないことにはルータはルータとしての役割を果たしません。ルーティング,特にルーティングプロトコルには種類があり,それぞれ個別の設定が必要です。今回はRIPを例にして,ルーティング設定の基礎を学びましょう。なお,ルーティングプロトコル特有の設定は,あとの回で説明します。

ルーティングプロトコルの基本設定

 ルーティングプロトコルの設定には,グローバルコンフィギュレーションモードから,ルーティング設定モードに入らなければいけません(図1)。

  • (config)# router [プロトコル] {AS番号 | プロセスID} ・・・ 指定したルーティング設定モードに入る
    • [プロトコル]
      • ルーティングプロトコル名。rip,igrp,ospf,eigrpなど
    • {AS番号 | プロセスID}
      • RIPの場合は省略。IGRP,EIGRPの場合はAS番号,OSPFの場合はプロセスIDを入れる

 図1 RIPルーティング設定モードに入る
RIPルーティング設定モードに入る

 このコマンドにより,ルーティングプロトコルが有効になります。ただし,プロンプトには「 (config-router)#」と出るだけで,どのルーティングプロトコルの設定モードかはわかりませんので注意が必要です。

 使用するルーティングプロトコルを決定し,ルーティング設定モードに入った後は,ルーティングプロトコルを有効にするネットワークを決定します(図2)。

  • (config-router)# network [ネットワークアドレス] ・・・ ルーティングプロトコルを有効にするネットワークを決定
    • [ネットワークアドレス]
      • ルーティングプロトコルを有効にするネットワークのネットワークアドレス

 図2 ルーティングプロトコルを有効にするネットワークを決める
network

 networkコマンドで指定したネットワークに接続しているインタフェースからは,ルーティングアップデートが送受信されるようになります。また,networkコマンドで指定したネットワークがルーティングアップデートに含まれるようになります。

 ルータに接続されていないネットワークを指定した場合,そのコマンドは無効になります。また,networkコマンドはルーティングプロトコルにより多少動作が異なります。RIPやIGRPなどのクラスフルルーティングプロトコルでは指定したクラスのネットワークに所属するすべてのサブネットでルーティングプロトコルが有効になります(図3)。

 図3 networkコマンドでの設定例
no ip address

 図3では二つのサブネット,172.16.1.0/24と172.16.2.0/24があり,ルータでは「network 172.16.0.0」を指定していますので,この二つのサブネットでルーティングプロトコルが有効になります。

 基本的には,routerコマンドでルーティングプロトコルを有効化し,networkコマンドでルーティングプロトコルを有効にするネットワークを指定すれば,ルーティングプロトコルが動作し,ルーティングテーブルが作成されます。ルーティングテーブルの確認は,以前にも説明したshow ip routeコマンドを使います(図4)。

 図4 show ip routeコマンドでルーティングテーブルを確認
show ip route

 図4では,ルーティングテーブルの各行(エントリ)の一番左の入手ソース部分が「R」と「C」の2種類になっています。「C」はルータに直接接続しているルートを示します。一方の「R」はRIPにより入手したルートであることを示し,RIPが動作していることがわかります。

 また,対向にルータがないインタフェースからはルーティングアップデートを送信する必要がありません。このため,ルーティングアップデートを送らない設定が可能です。

 図5 ルーティングアップデートを送る必要がないインタフェース
ルーティングアップデートを送る必要のないインタフェース

 図5では,FastEthernet0に接続しているネットワークにはルータが存在しないため,ルーティングアップデートを送る必要がありません。このような場合,「ルーティングアップデートを受信するが,送信しない」という設定にします。このようなインタフェースをパッシブインタフェースと呼びます(図6)。

  • (config-router)# passive-interface [インタフェースタイプ] [ポート] ・・・ 指定したインタフェースをパッシブにする

 図6 passive-interface
passive-interface

スタティックルートの設定

 ルーティングプロトコルではなく,手動でルーティングテーブルにルートを追加したい場合もあります。そのようなルートをスタティックルートと呼びます。スタティックルートの追加は,グローバルコンフィギュレーションモードで行います(図7)。

  • (config)# ip route [ネットワークアドレス] [サブネットマスク] [インタフェース | ネクストホップ] {管理距離} {parmanet}
    • [ネットワークアドレス] [サブネットマスク]
      • 追加するルートのネットワークアドレスとサブネットマスク
    • [インタフェース | ネクストホップ]
      • 追加したルートへ送信する際のインタフェース,または次のルータのアドレス
    • {管理距離}
      • 省略可能。管理距離を指定された値に変更する。デフォルトは1
    • {parmanet}
      • 省略可能。インタフェースを指定した場合,通常はインタフェースがダウンするとルートは消えてしまうが,消えないように設定する

 図7 ip routeコマンドでスタティックルートを追加
ip route

 スタティックルートの主な使い道は,デフォルトルートの設定です。デフォルトルートの設定には,2種類の方法があります。一つはip routeコマンドを使用する方法です。この場合,あて先ネットワークアドレス,サブネットマスクの両方に0.0.0.0を指定します(図8)。

  • (config)# ip route 0.0.0.0 0.0.0.0 [インタフェース | ネクストホップ] {管理距離} {parmanet}

 図8 ip routeコマンドでのデフォルトルートを設定
ip routeでのデフォルトルート設定

 デフォルトルートを設定してから,ルーティングテーブルを表示(show ip routeコマンド)すると,「Gateway of last resort(最後の手段のゲートウェイ)」として,そのルートが表示されます。また,入手ソースのところに「*(アスタリスク)」があるものが,有効なデフォルトルートとなります(図9)。

 図9 ルーティングテーブルの表示
ルーティングテーブルの表示

 デフォルトゲートウェイを設定する際に使うもう一つのコマンドは,ip default-networkコマンドです。ip default-networkコマンドで指定されたネットワークへのルートがデフォルトルートになります(図10)。

  • (config)# ip default-network [ネットワークアドレス]
    • [ネットワークアドレス]
      • デフォルトルートとして使うルート

 図10 ip default-networkコマンドでのデフォルトルート設定
ip default-networkでのデフォルトルート設定

 ただし,ip default-networkコマンドはルーティングプロトコルによって扱いが多少違うので,一般的にはip route 0.0.0.0 0.0.0.0を使うことが多いようです。また,ip route 0.0.0.0 0.0.0.0は,「ネクストホップ」を指定,ip default-networkは「ネットワークアドレス」を指定という違いがあります。混同しないようにしましょう。

 さらに,ip default-networkコマンドと間違いやすいコマンドとして,ip default-gatewayがあります(図11)。

  • (config)# ip default-gateway [ゲートウェイアドレス]
    • [ [ゲートウェイアドレス]
      • ルータのデフォルトゲートウェイのアドレス

 図11 ip default-gatewayコマンド
ip default-gateway

 ip default-gatewayコマンドはルータでルーティングが無効になっている場合,つまりルータがルータとしてではなくホストとしてしか動作していない場合のデフォルトゲートウェイを設定するためのコマンドです。ルーティングのデフォルトルートを設定するためのコマンドではありません。