【PCセットアップ情報】ルーティングテーブルの表示と設定



こんにちは、サポート担当の武田です。今日は現場で設定を行った際に、私自身も調査して知り、設定した内容を備忘録として上げさせて頂きます。

内容は「ルーティングテーブルの表示と設定」です。

今回の背景として以下のような構成が前提となります。

ネットワーク構成図

簡単に上図説明をさせて頂きます。

まず、専用端末にはネットワークインターフェイスが2つあり、今回は「NIC1がワイヤレスLAN接続」、「NIC2が有線LAN接続」となっております。

NIC1は外部のグローバルインターネットに接続が可能なネットワーク(上図では192.168.10.0ネットワーク)に接続されております。

NIC2はL3スイッチによりVLANで構成されたネットワークに接続されており、VLAN設定上「192.168.20.0ネットワークと192.168.30.0ネットワーク」は相互に通信が可能となっております。

そのため、NIC2はデフォルトゲートウェイ(192.168.20.254)に接続すれば、「192.168.30.0ネットワーク」へも接続が可能になります。

ところが、実際に上図構成に専用端末を接続したところ、下記のような状態になりました。

  • 1.グローバルインターネットに接続された場合、「192.168.30.0ネットワーク」に接続できない。
  • 2.次に「192.168.30.0ネットワーク」に接続できるようにネットワーク接続順番を工夫して試すと、次はグローバルインターネットに接続できない。

通常は自動でルーティングをしているのですが、デフォルトゲートウェイを設定しているだけでは通信要件が満たせないようです。

今回の場合は、ルーティングを手動で設定して、特定の宛先ネットワークに対して、デフォルトゲートウェイとは異なるゲートウェイのIPアドレスを指定してあげる必要がありました。

まず、専用端末の現在のルーティングテーブルを確認するには以下のコマンドを入力します。

route print

コマンド「route print」を入力して実行する。

 「route print」コマンド結果の見方
 ① インターフェイス一覧 今回の専用端末で有効なインターフェースのリストが表示されています。今回の専用端末では「7:NIC2の有線LAN」、「33:ワイヤレスLANの仮想アダプタ(今回使用しない)」、「15:NIC1のワイヤレスLAN」、「1:自分自身を表す特殊なネットワークアダプタ(今回使用しない)」、「2:仮想インターフェース(今回使用しない)
 ② ネットワーク宛先 宛先ネットワークのアドレス
 ③ ネットマスク 宛先ネットワークのサブネットマスク
 ④ ゲートウェイ ゲートウェイのIPアドレス
 ⑤ インターフェイス パケットを送出するインターフェースのIPアドレス
 ⑥ メトリック メトリック値。宛先ネットワークへのルートが複数ある場合小さいメトリック値のパスが選択される。

上サンプル画像の「アクティブルート」情報より

  1. 「ネットワーク:192.168.10.xx」へのアクセスは「インターフェイス:192.168.10.2」を使用する。
  2. 「ネットワーク:192.168.20.xx」へのアクセスは「インターフェイス:192.168.20.2」を使用する。

というルーティングがされていることが分かります。

ゲートウェイ「リンク上」というのは「相手が同じネットワーク上なので,ゲートウェイを通さずに直接アクセスするという意味」になります。

今回は「インターフェイス:192.168.20.2」を「ゲートウェイ:192.168.30.254」を介して「ネットワーク:192.168.30.xx」に接続したいのですがこのままでは接続ができません。

そのために下記コマンドにより、特定の宛先ネットワークに対して、デフォルトゲートウェイとは異なるゲートウェイのIPアドレスを指定します。

route -p add 192.168.30.0 mask 255.255.255.0 192.168.30.254 metric 1 if 7

コマンド「route -p add 192.168.30.0 mask 255.255.255.0 192.168.30.254 metric 1 if 7 」を実行した。

 

「route add」コマンドのパラメータの説明
 ① route addコマンドの間に 「 -p 」 を指定することにより、OSの再起動後にもroute addのルートが保持されます。「 -p 」を指定しない場合はOS再起動後にroute addが消えてしまいます。
 ② 宛先ネットワークを指定
 ③ 宛先ネットワークのサブネットマスクを指定
 ④ ゲートウェイのIPアドレスを指定
 ⑤ 経路のメトリック値を指定。※同じ宛先へのルートが複数ある場合は数値が小さいルートが優先されます。(※オプション設定)
 ⑥ パケットを送出するインターフェースを指定。指定しない場合はゲートウェイなどから最も最適と考えられるインターフェイスが自動的に選ばれる。(※オプション設定)

今回であれば、NIC2の有線LANを指定するのでインターフェイス一覧に記載の「7」を指定する。

「route add」コマンドの結果が以下の通りになりました。(再度「route print」です。)

「route add」追加結果

「アクティブルート」と「固定ルート」に「route add」コマンドを行った結果が反映されました。

これにより、「インターフェイス:192.168.20.2」は「ゲートウェイ:192.168.30.254」を介して「ネットワーク:192.168.30.xx」への接続ができるようにスタティックルーティングがなされ、その結果NIC1では外部グローバルインターネットに接続しながら、NIC2で「ネットワーク:192.168.30.xx」への接続もできるようになりました。

以前までは「route add」コマンドによる、インターフェイス指定は行っていなかったのですが、インターフェイス指定をしないとOS側で自動制御しますので、うまくいかない場合があることが分かりました。

もしも、「route add」を誤って登録した場合には、「route delete」で削除が可能です。

route delete 192.168.30.0(※宛先ネットワークアドレス)

以上、私事の備忘録になりますが、どなたかの参考になれば幸いです。