こんにちは、サポート担当の武田です。
今日は現場で設定を行った際に、私自身も調査して知り、設定した内容を備忘録として上げさせて頂きます。
内容は「ルーティングテーブルの表示と設定」です。
今回の背景として以下のような構成が前提となります。
簡単に上図説明をさせて頂きます。
まず、専用端末にはネットワークインターフェイスが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」コマンド結果の見方
① インターフェイス一覧 | 今回の専用端末で有効なインターフェースのリストが表示されています。今回の専用端末では「7:NIC2の有線LAN」、「33:ワイヤレスLANの仮想アダプタ(今回使用しない)」、「15:NIC1のワイヤレスLAN」、「1:自分自身を表す特殊なネットワークアダプタ(今回使用しない)」、「2:仮想インターフェース(今回使用しない) |
---|---|
② ネットワーク宛先 | 宛先ネットワークのアドレス |
③ ネットマスク | 宛先ネットワークのサブネットマスク |
④ ゲートウェイ | ゲートウェイのIPアドレス |
⑤ インターフェイス | パケットを送出するインターフェースのIPアドレス |
⑥ メトリック | メトリック値。宛先ネットワークへのルートが複数ある場合小さいメトリック値のパスが選択される。 |
上サンプル画像の「アクティブルート」情報より
- 「ネットワーク:192.168.10.xx」へのアクセスは「インターフェイス:192.168.10.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 add」コマンドのパラメータの説明
① | route addコマンドの間に 「 -p 」 を指定することにより、OSの再起動後にもroute addのルートが保持されます。「 -p 」を指定しない場合はOS再起動後にroute addが消えてしまいます。 |
---|---|
② | 宛先ネットワークを指定 |
③ | 宛先ネットワークのサブネットマスクを指定 |
④ | ゲートウェイのIPアドレスを指定 |
⑤ | 経路のメトリック値を指定。※同じ宛先へのルートが複数ある場合は数値が小さいルートが優先されます。(※オプション設定) |
⑥ | パケットを送出するインターフェースを指定。指定しない場合はゲートウェイなどから最も最適と考えられるインターフェイスが自動的に選ばれる。(※オプション設定)
今回であれば、NIC2の有線LANを指定するのでインターフェイス一覧に記載の「7」を指定する。 |
「route add」コマンドの結果が以下の通りになりました。(再度「route print」です。)
「アクティブルート」と「固定ルート」に「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(※宛先ネットワークアドレス)
以上、私事の備忘録になりますが、どなたかの参考になれば幸いです。