17

Nov

ASCII.jp デフォルトゲートウェイの設定を間違えるとどうなる?

デフォルトゲートウェイとは、異なるネットワークへの出口となるルータのことである。したがってデフォルトゲートウェイのアドレスを設定しなければ、他のネットワークとはやり取りできなくなる。このとき、どのようなことが起きているのだろうか。

デフォルトゲートウェイの役割とは?

 デフォルトゲートウェイとは「ルーティング」(経路制御)に使うルータの一種だ。ルーティングとは、送信元のコンピュータから宛先のコンピュータまで、パケットをどのような経路で送信するかを制御することである。

 ルーティングの方法には、送信元のコンピュータ自身が直接宛先のコンピュータにパケットを送信する「直接ルーティング」と、ルータにパケットの中継を依頼する「間接ルーティング」の2つがある。

 あるコンピュータにパケットをどのような方法で送るのかは、コンピュータ内にある「ルーティングテーブル」(経路制御表)を使って判断する。ルーティングテーブルには、どのLANカード(ネットワークインターフェイス)を使って、どのルータからどのネットワークやコンピュータにパケットを送信したらよいのかの基準となる項目が登録される。

 ネットワークインターフェイスは、それぞれ異なるサブネットに接続できる。そして、それぞれのサブネットはルータを中継点として、さらに外側のネットワークにつながっている。この中継点が「ゲートウェイ」である。ゲートウェイの先には、他のネットワークやコンピュータが存在する。つまりルーティングテーブルには、コンピュータからパケットを送信するときの出口、出口からさらに外側のネットワークに行くための中継点、そしてパケットの最終的な行き先になるネットワークやコンピュータが登録されている。

ASCII.jp デフォルトゲートウェイの設定を間違えるとどうなる?

 直接ルーティングは、サブネット内のコンピュータにパケットを送るときに使う。ルーティングテーブルには、ネットワークインターフェイスごとにサブネットの範囲が自動的に登録される。同じサブネット内にあるコンピュータであれば、ルータがなくてもEthernetとARPの仕組みだけでデータを送信できる。

 直接ルーティングでは送信できない場合、ルータにパケットを中継してもらう間接ルーティングを使う。間接ルーティングの場合、宛先コンピュータまでの経路はルーティングテーブルに登録された「ホストルート」、「ネットワークルート」、「デフォルトルート」の3つから選ばれる(図1)。

図1 ルーティング(経路制御)にはいろいろな方法がある

 ホストルートとは、特定の宛先コンピュータまでの経路のことだ。たとえば有線のEthernetポートは社内LAN、AirH”はプロバイダのネットワークに同時に接続しているノートパソコンがあるとしよう。Windowsの場合、ユーザーが任意に接続するダイヤルアップ接続の方が優先度が高くなるので、社内LANのサーバーにAirH”経由でアクセスしようとしてしまうことがある。

 しかし、プロバイダのネットワークは社内LANとはつながっていないはずなので、このままでは社内LANのサーバーを利用できない。そこで、社内LANのサーバーをIPアドレスとサブネットマスクで指定し、経路となるルータとネットワークインターフェイスをルーティングテーブルに登録する。この特定のホストへの経路がホストルートである。また、特定のホストではなく、社内LAN全体をIPアドレスとサブネットマスクで指定すれば、特定のネットワークへの経路を指定できる。これがネットワークルートである。

 一方、デフォルトルートとは、直接ルーティングでも、ホストルートでも、ネットワークルートでもない、「その他」の経路を指す。あるコンピュータにパケットを送信することになったとき、OSのTCP/IP機能はルーティングテーブルで経路を選択しようとする。このとき、ルーティングテーブルで適切な経路が見つからなかったときに使われるのがデフォルトルートなのだ。

 コマンドプロンプトで「route print」を実行すると、コンピュータのルーティングテーブルを表示できる。いくつかある項目の中で、「Network Destination」と「Net Mask」がともに「0.0.0.0」になっているのがデフォルトルートである。また、デフォルトゲートウェイとして設定したルータは、デフォルトルートの「Gateway」にあるIPアドレスとしてルーティングテーブルに登録されていることも分かる。デフォルトゲートウェイとは、デフォルトルート用のゲートウェイという意味だ。

(次ページ、「デフォルトゲートウェイを間違えてみる」に続く)