【3/18〜】Amazon、VMwareが語る『クラウドの未来』 スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷
Windows TIPS
[Network]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

デフォルト・ゲートウェイは1つのみ有効

デジタルアドバンテージ
2002/12/14
対象OS
Windows 2000 Professional
Windows XP Professional
Windows XP Home Edition
Windows 2000 Server
Windows 2000 Advanced Server
デフォルト・ゲートウェイ指定は1つのみが有効である。
複数指定すると、最初のものが無効な場合にのみ、代替として利用される。
2つのデフォルト・ルートを使いたければ、ルーティング指定を明示的に行う必要がある。

解説

IPアドレスとネットマスク、デフォルト・ゲートウェイ

 システムに装着したネットワーク・インターフェイスに対してTCP/IPの設定を行う場合、IPアドレスやネットマスクなどのほかに、「デフォルト ゲートウェイ」情報も設定する必要がある。デフォルト・ゲートウェイとは、ネットワーク・パケットのデフォルトのあて先として指定するルータ(のIPアドレス)のことであり、スタンド・アロンのLAN環境でない限り、必ず指定する必要があるだろう。

TCP/IPのプロパティ
これは、Windows 2000の[ネットワークとダイヤルアップ接続]で、ネットワーク・カード「ローカル エリア接続」のTCP/IPのプロパティを表示させたところ。TCP/IPの設定では、IPアドレスやサブネット・マスク情報に加えて、通常はデフォルト・ゲートウェイ情報もセットする必要がある。
  このインターフェイスに割り当てるIPアドレスを指定する。
  ネットマスクとIPアドレスを組み合わせることにより、ネットワーク・アドレスが計算される。
  IPパケットのあて先が不明な場合には、このデフォルト・ゲートウェイで指定されたIPルータにパケットが送信される。

 TCP/IPでは、IPアドレス(とサブネット・マスク情報)に基づいてIPパケットの送信先を決定している。もしパケットの送信先がローカルのLAN上のホストならば、IPパケットは直接そのあて先へと送信される。しかし、ネットワーク・アドレスが異なる場合は、デフォルト・ゲートウェイとなっているルータへパケットを送信するだけで送信操作は完了となる。その後はルータが、実際のあて先のホストまでパケットを届けることになる(同一ネットワークであるかどうかはネットワーク・アドレス部が同じかどうかで判断する。ネットワーク・アドレスについては「基礎から学ぶWindowsネットワーク―1.IPアドレスとは」などを参照)。TCP/IPネットワークでは、このようにしてIPパケットをルータ間で順次転送することにより、1つの巨大なネットワーク・システムを構築している。

2つ以上のネットワークへ同時に接続する

 さて、それではシステムにネットワーク・カードが2つ以上装着されているとどうなるのだろうか? ネットワークの環境によっては、2つ以上のネットワークへ同時に接続しなければならないことがある。例えば社内用のネットワーク・システムとインターネットへのアクセス用のネットワークが、セキュリティやネットワーク管理の都合などで分かれている場合や、複数の拠点へのVPN回線などを構築している場合は、管理などの目的でそれらのネットワークへ同時に接続したい場合もあるだろう。このような場合は、1台のマシンに複数のネットワーク・カードを装着して、複数のネットワークへ同時に接続することになる。

 システムに2つ目のネットワーク・カードを装着すると、それに対してもTCP/IPの設定を行う必要がある。IPアドレスやサブネット・マスクなどの値は当然設定しなければならないが、「デフォルト ゲートウェイ」の値はどうするべきだろうか?

 WindowsのTCP/IP設定では、このように各ネットワーク・インターフェイスごとにデフォルト・ゲートウェイの設定項目があるので、ついついそこにも値を設定してしまいがちだ。だが結論からいうと、これは正しくない設定方法である。デフォルト・ゲートウェイは、あくまでも「デフォルト時のパケットのあて先(となるルータ)」を決めるものであり、それはただ1つしかあってはいけないものである。だから2つの「デフォルト」が存在することはあり得ないはずである。

デフォルト・ゲートウェイの意味

 このことは、デフォルト・ゲートウェイがどのように使われているかが分かれば理解できるだろう。以下は、ネットワーク・インターフェイスが1つしかない場合のWindows 2000のルーティング・テーブルの例である(「netstat -r」コマンドか「route print」コマンドで表示できる)。ルーティング・テーブルは、IPパケットの送信先を決めるために使われる内部的な管理テーブルである。システム内部にあるTCP/IPのプロトコル・スタックは、このテーブルを参照してIPパケットの送信先を決めている。

C:\>netstat -r

Route Table
===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x2 ...00 50 da 05 4e 40 ...... 3Com EtherLink PCI
===========================================================================
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0     192.168.0.13    192.168.0.59       1 …デフォルト
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
      192.168.0.0    255.255.255.0     192.168.0.59    192.168.0.59       1
     192.168.0.59  255.255.255.255        127.0.0.1       127.0.0.1       1
    192.168.0.255  255.255.255.255     192.168.0.59    192.168.0.59       1
        224.0.0.0        224.0.0.0     192.168.0.59    192.168.0.59       1
  255.255.255.255  255.255.255.255     192.168.0.59    192.168.0.59       1
Default Gateway:      192.168.0.13
============================================================================
Persistent Routes:
  None

 一番上にある、Network Destinationも、Netmaskもともに「0.0.0.0」となっている行を見ていただきたい。この行の「Gateway」欄に表示されているのが、TCP/IPのプロパティ・ページで入力した「デフォルト ゲートウェイ」の値である。この意味を簡単に述べると、ほかのどのネットワーク・アドレス(2行目以下の各行)にもマッチしないIPパケットは、「192.168.0.13」へ送信する、という意味である。

 次に示すのは、2つのネットワーク・インターフェイスが装着されたシステムの例である。インターフェイスごとに異なるデフォルト・ゲートウェイを設定している。

C:\>netstat -r

Route Table
===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x2 ...00 50 da 05 4e 40 ...... 3Com EtherLink PCI
0x1000004 ...00 e0 18 00 1d de ...... Intel(R) PRO Adapter
===========================================================================
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0        10.10.0.1     10.10.0.122       1 …1つ目のルート
          0.0.0.0          0.0.0.0     192.168.0.13    192.168.0.59       1 …2つ目のルート
        10.10.0.0    255.255.255.0      10.10.0.122     10.10.0.122       1
      10.10.0.122  255.255.255.255        127.0.0.1       127.0.0.1       1
   10.255.255.255  255.255.255.255      10.10.0.122     10.10.0.122       1
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
      192.168.0.0    255.255.255.0     192.168.0.59    192.168.0.59       1
     192.168.0.59  255.255.255.255        127.0.0.1       127.0.0.1       1
    192.168.0.255  255.255.255.255     192.168.0.59    192.168.0.59       1
        224.0.0.0        224.0.0.0      10.10.0.122     10.10.0.122       1
        224.0.0.0        224.0.0.0     192.168.0.59    192.168.0.59       1
  255.255.255.255  255.255.255.255     192.168.0.59    192.168.0.59       1
Default Gateway:      192.168.0.13
===========================================================================
Persistent Routes:
  None

 この例では、Network DestinationもNetmaskもともに「0.0.0.0」となっている行が2行あることが分かるだろう(1行目と2行目)。つまり、デフォルトが2通りあるということである。TCP/IPのルーティングという視点から見ると、いずれも対等なので、TCP/IPのプロトコル・スタックでは、どちらか一方だけを正式なデフォルト・ゲートウェイとして扱うことになる。ただし、実際にどちらのルート(インターフェイス)がデフォルト・ゲートウェイになるかは分からない。このnetstatコマンドの表示結果では、上と下という上下関係があるので、上の方(あるいは下の方)が優先されるような気がするかもしれないが、それはたまたま表示がそうなっているだけで、どちらが選ばれるかは分からない。実際のWindowsのTCP/IPでは、内部のインターフェイスの登録(活性化)の順番などにも依存しているようであり、はっきりとしたことはいえない。ルーティングの仕様では、右端に表示されている「Metric」の値を基にして、これの小さい方が優先されることになっている。だが、ご覧の通り、どちらも同じ「1」なので、どちらが選択されるかは分からないし、どちらが選ばれたとしてもそれは正しい動作といえる。

デフォルト・ゲートウェイは1つだけにする

 このようにデフォルト・ゲートウェイの設定は、各TCP/IPのインターフェイスごとに可能であるが、正しい設定方法としては、どれか1つのインターフェイスでのみこの値を設定し、そのほかのインターフェイスでは未記入(空白)のままにしておかなければならない。そうするとデフォルト・ルートがただ1つだけに決まり、常に正しく管理者の意図した通りのルーティングが行われるようになる。

 それでは、インターフェイスごとに異なるルーティングをしたい場合はどうすればよいのであろうか? このような場合は、管理者自身が静的なルートをrouteコマンドで追加するか(route addコマンドを使い、あて先ネットワークごとにゲートウェイを追加する)、RIPのような動的なルーティング情報を受け取るサービスを利用すればよい(Windows XPならば「RIPリスナ」サービスをインストールする)。なおroute addコマンドで追加したルートは、システムを再起動するとなくなってしまうので、常に同じルートを使いたい場合は、「-p」オプションを指定する必要がある。routeコマンドの詳細についてはWindowsに付属のヘルプ・ファイルなどを参照していただきたい。

複数のデフォルト・ゲートウェイを指定する意味

 WindowsのTCP/IPプロパティでは、インターフェイスごとにデフォルト・ゲートウェイを指定できるだけでなく、それぞれのインターフェイスに「複数」のデフォルト・ゲートウェイを指定することもできる。これは実はゲートウェイの冗長化(耐障害性の向上)のために使われる。ちょっと分かりにくいかもしれないが、複数のルートを定義するためにではなく(そのためには、上で述べたように、routeコマンドで追加すること)、あるデフォルト・ゲートウェイが利用できない場合に、「代替として」利用するためにこのような設定が可能になっている。

 WindowsのTCP/IPでは、常に1つのデフォルト・ゲートウェイしか利用しない。しかし何らかの理由でそのゲートウェイへの送信ができない場合(インターフェイスがダウンしていたり、ARP呼び出しに応答しなかったり、送信したもののエラー通知が戻ってきたりするなど)、代替として指定されているゲートウェイへ通信を行うことになっている。このような場合に備えて、複数のゲートウェイを指定できるようになっている。

 もしデフォルト・ゲートウェイを2つ(以上)設定するのなら、そのいずれのルートを通っても、目的とするあて先へ到達できるようなルートを設定しなければならない。片方はインターネットへつながっているが、もう片方はローカルのネットワークへしかつながっていないというようなネットワークを、2つのデフォルト・ゲートウェイとして指定してはいけない。例えばインターネットへのルートをデフォルト・ゲートウェイとして指定するのなら、いずれのルートを通ってもインターネットへ到達できるような、2つのルータを、デフォルト・ゲートウェイとして設定する。End of Article

関連記事(Windows Server Insider)
  連載:基礎から学ぶWindowsネットワーク―1.IPアドレスとは
  TIPS:ルーティング・テーブルを操作する
  TIPS:ネットワークのバインド順序を制御する方法
  TIPS:優先DNSサーバと代替DNSサーバの動作について
     
  関連リンク
  マルチホーム コンピュータのデフォルト ゲートウェイ設定(マイクロソフト)
  デフォルト ゲートウェイの複数使用による接続上の問題(マイクロソフト)
 
この記事と関連性の高い別のWindows TIPS
ルーティング・テーブルを操作する
ICMPリダイレクト使用時のファイアウォール設定に注意
IPルーティングを有効にする方法(レジストリ設定編)
ネットワークのルーティングは双方向で設定する
IPルーティングを有効にする方法(Server OS編)
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

更新履歴
 【2003/08/23】複数のデフォルト・ゲートウェイに関する記述を、より詳細に加筆しました。
 
「Windows TIPS」
 

ホワイトペーパーTechTargetジャパン

Windows Server Insider フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)

- PR -
- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  TomcatやJBossなどAPサーバ環境に関する
情報を集約! “業務”用APサーバ大百科

New!
  一気に解説! 最新のクラスタストレージ
「RAIDを超えたストレージ基準」……など

New!
  クラウド的ユーザー体験の変化は脅威か?
仮想化技術を使いこなす運用管理術を紹介

New!

  上司や部下、部署内メンバーとの情報共有
を“ガラッ”と変えるコラボツールとは?

New!
  おばかアプリ選手権、第4弾開催中!!
ムダにカッコよくてくだらない作品求ム!

  社内ファイルサーバを“クラウド”に統合
VPN直結「クラウド型ストレージ」を紹介

  Twitterのアカウントはなぜ突破された?
メールによる新手の攻撃手法とその対策

  もう仮想化のお試しフェイズは終わりだ!
Hyper-V 2.0が基幹システムも仮想化

  美人!? まあまあ? 気になる いやし系!!
PV急増で「美人時計」がとった手段とは?

  クライアント企業から求められる人材
⇒IT技術と経営戦略を併せ持つ「戦略家」

  .NET編集長が実践する「技術情報検索術」
サンプル・コードを簡単に探す“技”は?

  業務効率と情報セキュリティ対策を両立!
手間なく確実に機密情報を守る方法とは?

  進化を続ける富士通ストレージETERNUS DX
製品開発者の自信を裏付けるものとは何か

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  【CTC事例】約30の基幹システムを統合!
膨大なバッジジョブを制御した方法は?

  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  その数、なんと400台以上! グループ内
サーバの「統合管理」によるメリットは?