連載

究極ホーム・ネットワークへの道
−実例に学ぶホーム・ネットワーク・デザイン−

第3回 「インターネット接続の共有」の裏技的設定法 その1

渡邉利和
2001/04/17

 前回は、机上設計を終えて全体の構成を確定したところまでを説明した。この結果、筆者宅のネットワークは、IPレベルでは3つのネットワークが直列に接続され、IPルータが2台置かれる、という構造に決まった。次はいよいよ、この構造を実際のハードウェア/ソフトウェアで実現し、設計どおりの環境を実際に作り上げる作業を行う。

インターネット接続の共有をどうするか

 まずは、ネットワークの出口に近いところから順番に取り組んでいこう。というわけで、最初はリビング・ルームに設置したPC(ホスト名は「compaq」)の設定からだ。

 このPCの役割は多い。

  • DHCPクライアントとしてOCN側からIPアドレスの割り当てを受ける
  • IPマスカレード機能でOCN側から割り当てられたIPアドレスをLAN全体で共有する
  • イーサネット(OCN側)とHomePNA(LAN側)の2種類のネットワーク・インターフェイス間でパケットを中継する
  • OCNとLAN間でIPルータとなる

 ざっと挙げるとこのくらいだ。実は、これに加えてLANにストレージ・サービスを提供するファイル・サーバの機能も担っていた。現在はその重要度は大幅に低下し、単に24時間いつでも電源が入っている便利屋的なマシンに位置付けられてしまっているが、一時期は筆者宅で最も重要なサーバであった。そもそも、実はコンパクトなケースを採用した企業クライアント・モデル(ホスト名から分かるとおり、コンパック製)なので、ホーム・サーバとして使うには十分だが、サーバとしてのありがたみはあまりなかった。しかし、コンパクトなケース故の省スペース性と静音設計(ほかの自作ミニ・タワー・マシンに比べれば、というレベルだが)には大いに助けられたものだ。

 さて、本題に戻ろう。このマシンではOSとしてWindows 2000 Professionalを利用することになっているので、上で挙げた役割をWindows 2000 Professionalの機能を使って実現していくことになる。ここで利用するのが、「インターネット接続の共有」の機能だ。この機能では、2つのネットワーク接続が前提となる。想定としては、「WAN接続を宅内の複数台のPCで共有する」というまさに筆者がやろうとしていることを直接サポートする機能だ。Windows 2000 Professionalが提供する「インターネット接続の共有」は、Windows 2000 Serverが提供するNAT機能の簡易版といった位置付けである。設定すべき事柄が最低限で済む半面、あまり複雑な構成のネットワークでの利用は想定されていない。この機能が標準で想定している環境は以下の図のようなものだと考えられる。

Windows 2000 Professionalの「インターネット接続の共有」が想定するネットワーク構成
「インターネット接続の共有」機能が想定するネットワーク構成は、ごく単純なものだ。基本的には、クライアントをすべてDHCPクライアントとして設定するだけで利用できるように想定されている。独自にサブネット分割をするような用途は、想定範囲外だと考えてよいだろう。

 WAN側ではDHCPクライアントとして、ISPからIPアドレスの割り当てを受ける。LAN側ではこのマシンがDHCPサーバとなり、LAN内の全マシンにプライベートIPアドレスを提供する。このとき、クライアントに配布するのは、

である。デフォルト・ゲートウェイ・アドレスとDNSサーバ・アドレスには自分自身のLAN側インターフェイスのIPアドレスを設定し、ネットマスクは255.255.255.0になる。

 筆者が設定した際には、OCN側からDHCPでホーム・サーバの「compaq」に割り当てられるIPアドレスは、192.168.1.2〜254という範囲だった。OCN接続のためのアクセス・ルータがDHCPサーバとなっており、このアクセス・ルータのIPアドレスが192.168.1.1というわけだ。このアクセス・ルータもNAT(IPマスカレード)機能を実行しており、WAN側にはグローバルIPアドレスが割り当てられているはずだが、そのアドレスは筆者宅からは分からない。一方、「compaq」のLAN側インターフェイスのIPアドレスは、192.168.0.1に設定された。この設定は「インターネット接続の共有」機能が固定的に行う。従って、LAN内のクライアントPCには、デフォルト・ゲートウェイ・アドレスとDNSサーバ・アドレスとして、192.168.0.1が設定されることになる。

まずはインターネット側の設定を行う

 では、「インターネット接続の共有」の設定手順を具体的に見ていこう。まず始めに行なうことは、ネットワーク・インターフェイスを物理的に増設することだ。「compaq」は、標準でイーサネット・インターフェイスを内蔵しているモデルなので、これをOCN側のインターフェイスとして使用し、LAN側インターフェイスとしてLINKSYSのHomePNA 2.0対応のPCIカード「HPN200」を増設した(LINKSYSのHPN200の製品情報ページ)。このカードは、Windows 2000上では単なるネットワーク・インターフェイスとして認識されるので、通常のイーサネット・インターフェイスの増設の手順と何も変わらない。

HomePNA 2.0に対応したPCIカード「LINKSYS HPN200」
このカードは、残念ながら日本国内では販売されていない。電話線を使って10Mbpsの通信が行える数少ないPCIカードなだけに、日本での販売開始が待たれる。

 Windows 2000では、「ネットワークとダイヤルアップ接続」にネットワーク・インターフェイスごとにアイコンが作成される。ここでは、[ローカル エリア接続]アイコンがOCN側のイーサネット、[ローカルエリア接続2]アイコンがLAN側のHomePNAであるが、見た目に分かりにくい。アイコンに付けられている名前は変更できるので、[ローカルエリア接続]アイコンを「WAN」、[ローカル エリア接続 2]アイコンを「LAN」などと変更しておけば、うっかり間違うこともなくなるだろう。

Windows 2000の「ネットワークとダイヤルアップ接続」の画面
Windows 2000では、ネットワーク・インターフェイスごとにアイコンが作成される。「compaq」にはイーサネット・インターフェイスとHomePNAインターフェイスの2つがあるため、アイコンも2つできる。

 2つのネットワーク・インターフェイスのそれぞれに対して、ネットワークの設定を行うが、ここではまずOCN側の設定を優先して行なう。これは、通常のISP接続のための設定と何ら変わるところがない。OCNによる常時接続のため、ダイヤルアップの設定がない分むしろ簡単だ。[ローカル エリア接続]アイコンの右クリック・メニューから[プロパティ]を選び、[インターネットプロトコル(TCP/IP)]を選択して、[プロパティ]ボタンをクリックすれば、見慣れた設定パネルが現れる。設定内容もいつものとおりで、[IPアドレスを自動的に取得する]を選び、DNSサーバ・アドレスにはISP(この場合はOCN)から指定されたIPアドレスを設定すればよい。次いで[詳細設定]ボタンをクリックし、[IP設定]パネルでデフォルト・ゲートウェイ・アドレスの設定をすればよい(デフォルト・ゲートウェイ・アドレスは、ISPによっては自動設定になっており、設定不要だ)。筆者の場合は、ここにはOCNアクセス・ルータのIPアドレスである192.168.1.1を設定した。

OCN側のTCP/IPの[プロパティ]画面
DHCPクライアントとして設定するのはごく簡単で、の[IPアドレスを自動的に取得する]を選択すればよい。一方、DHCPサーバによるが、[DNSサーバーのアドレスを自動的に取得する]の機能をサポートしている例は多くはないので、たいていはISPから指定されたDNSサーバ・アドレスをに手動で設定することになる。

 これで、「compaq」はOCN経由でインターネット・アクセスが可能になったはずだ。そこで、まずはこの段階でWebブラウザなどを使って、正常にアクセスできることを確認しておこう。問題をいたずらに複雑化せず、順序よく確実に確認を行うことは、一見無駄な作業のように思えても、結果的には大幅な時間の節約につながる。

LAN側の設定を行う

 「compaq」単体でOCN経由でのアクセスができることが確認できたところで、今度はLAN側の設定を行う。といっても、「インターネット接続の共有」機能を利用するという前提があるため、実は設定すべき点はほとんどない。逆に、ここでは再度OCN側(WAN側)のインターフェイスに対して設定を行うことになる。この点は、ややトリッキーな感じなので、気を付けていただきたい。[ローカル エリア接続]アイコン(OCN側インターフェイス)の右クリック・メニューから[プロパティ]を選ぶと、[共有]というタブがあるのに気が付くだろう。このタブを開くと、[この接続でインターネット接続の共有を使用可能にする]というチェック・ボックスがある(下の画面の)。ここにチェックを入れると、「インターネット接続の共有」機能が有効になる。くれぐれも、このチェックはWAN側のインターフェイスに付ける点を間違わないようにしよう。

[ローカルエリア接続]の[プロパティ]に用意された[共有]タブ
この設定は、LAN側ではなく、WAN側インターフェイスについて実行する必要がある点に注意したい。なお、ネットワーク・インターフェイスが複数装備されていないと[共有]タブは表示されない。

 WAN側インターフェイスで「インターネット接続の共有」を有効にしてしまえば、LAN側インターフェイスでは特に設定の必要はない。IPアドレスやネットマスクは、自動的に設定される。また、LAN内のほかのクライアントは、単にDHCPクライアント(TCP/IPの設定を[IPアドレスを自動的に取得する]にする)として設定しさえすれば、必要な情報はすべてサーバ(この場合は「compaq」)から設定される。特別な設定は必要なく、ネットワークに関する知識もさほど要求されず、簡単に利用できるようになっているというわけだ。その点では、「インターネット接続の共有」機能は初心者向けだともいえる。

「インターネット接続の共有」の設定変更

 「インターネット接続の共有」機能を有効にすれば、とりあえずLAN内の「compaq」以外のクライアントからもOCN経由でインターネットへアクセスできるようになる。念のため、この段階でこのことを確認しておくとよいだろう。といっても別段難しいことはなく、LAN内にDHCPクライアント・マシンを1台用意し、ここからWebブラウザを使ってインターネット上の適当なサイトにアクセスしてみればよい。

 通常の利用では、これだけの設定で複数台のPCからインターネットの共有が可能になる。ところが、筆者宅の場合、「インターネット接続の共有」機能が前提とする、「LANがフラットな構造である」という点が問題になる(Windows 2000 TIPS:「Windows 2000のインターネット接続共有を活用する(NATを利用する方法)」を参照)。実際の筆者宅のネットワークでは、「compaq」のLAN側インターフェイスはHomePNAであり、自室(仕事部屋)に置かれたもう1台のルータ・マシン(ホスト名は「mmx」)がこれを再度イーサネットに変換する。その都合上、本来192.168.0.2〜254というアドレスのネットワークが1つだけ接続されることを想定している機能を、複数のネットワークから共有しなくてはならない。現時点で実現している環境を模式化すると以下のようになる。

大きな図へ
「インターネット接続の共有」機能を有効にした直後のネットワーク構成
LANとして192.168.0.0/24というネットワークを使うように決められてしまったので、これをさらに分割することを考えなくてはならなくなった。

 ここで、LAN側にあるマシン「mmx」をルータとして設定し、その先にさらにもう1つネットワークを作りたいのだが、この新しく追加されたネットワークのマシンは、このままでは「compaq」のNAT機能を利用することができない。というのも、「compaq」はDHCPサーバでもあり、サービスを提供するのは、「compaq」がIPアドレスを提供したDHCPクライアント、すなわち192.168.0.2〜254というIPアドレスを持つマシンのみだからだ。

 この制約を回避するために筆者が採用した方法は、「compaq」に「インターネット接続の共有」機能を設定した後、必要な部分の設定を手動で変更してしまい、つじつま合わせを行う、というものだ。これでうまくいく確証はなかったのだが、やってみたら期待どおりに動作したのでそのまま使い続けた、というのが正確なところ。もちろん、本来想定されている使い方ではないので、どのようなケースでもうまくいくという保証はないし、当然誰からもサポートしてもらえないのは承知のうえである。環境によっては、うまく動作しない可能性もあるので注意していただきたい。

 ここで採った方法は、「compaq」がLANとして想定している192.168.0.0/24というネットワークをサブネット分割して、複数のネットワークに仕立てる、というものだ。こうすると、「compaq」側のネットワークも「mmx」の先に接続されているネットワークも、どちらも使用するIPアドレスとしては、192.168.0.2〜254の範囲に収まるため、「compaq」の「インターネット接続の共有」機能からは、本来サポートする範囲のクライアントにしか見えないだろう、と予想したわけだ。ただし、「compaq」がこのサブネット分割に関して無知でよいわけではない。当然、「mmx」の先に接続されているマシンと通信する際には、「mmx」がルータであることを認識したうえで、「mmx」に中継を依頼してくれないといけないわけだ。

サブネット分割を行う

 ネットワークをサブネットに分割するには、サブネットマスクの設定を変更しなくてはならない。この場合、最低限LANを2つのサブネットに分割することになるが、その場合のサブネットマスクの値は、255.255.255.128となる。ただし、ここでは将来の拡張の可能性も想定し、ネットワークを4分割にすることにして、サブネットマスクには255.255.255.192という値を設定することにした。このサブネットマスク値の変更は、LANに接続されるすべてのネットワーク・インターフェイスに対して行う。当然、「compaq」のLAN側インターフェイスも対象になるわけだ。

 「compaq」の[ローカル エリア接続 2]のプロパティで、自動設定されたサブネットマスクの値を書き換えてやればよい。ここで注意すべきなのは、「インターネット接続の共有」機能を有効にすると、ここの値は自動的に設定されるということだ。つまり、WAN側インターフェイスのプロパティで[この接続でインターネット接続の共有を使用可能にする]にチェックした後で、LAN側のインターフェイスの設定を変更しなければならない。順序を逆にすると設定が上書きされてしまうので、注意していただきたい。

 手動で書き換えたサブネットマスク値を正しく取り扱ってくれるかどうかが心配だったが、どうやらこの点は問題なかったようだ。とりあえず、筆者宅では期待どおりに動作した。Windows 2000 ProfessionalのNAT機能は簡易版とはいえ、任意の設定を行うためのツールが付属していないだけで、機能としてはWindows 2000 Serverのものとそう変わりはないようだ。ともあれ、ネットワーク周りの設定のつじつまがあっていれば、デフォルトの設定から変更してもすぐに動かなくなるようなことはないようだ。

スタティックなIPアドレス設定で問題を回避

 なお1つ残る問題は、DHCPサーバの取り扱いである。「compaq」はLAN側に対してDHCPサーバとして動作するが、このとき配布されるIPアドレスの値についての設定が見あたらない。このDHCPサーバは陰で自動的に利用されているだけで、ユーザーの設定は受け付けないようになっている。当然ながら、これを止める手段も見あたらなかった。希望的観測としては、サブネットマスクを変更した結果、「compaq」のLAN側インターフェイスから配布されるIPアドレスの範囲は、192.168.0.2〜62に変わってくれないとつじつまが合わなくなる。しかしながら、このように「正しく」動作する確証が持てなかったため、筆者宅では面倒を避けてLAN内のマシンはすべてスタティックにIPアドレスを割り当てることにした。つまり、DHCPサーバはあるが、DHCPクライアントは1台も存在しない、という環境で運用することにしたのだ。

 ネットワーク内にDHCPクライアントとスタティック割り当てのクライアントを混在させる場合、通常はスタティックに割り当てたIPアドレスをDHCPサーバの割り当て対象から除外しなくてはならない。そうしないと、スタティックに割り当てられているIPアドレスをDHCPクライアントに重複して割り当ててしまう可能性があるからだ。しかし、今回はDHCPサーバの設定を変更する手だてが見つからなかったので、やむなく運用で逃げることにした。つまり、「DHCPクライアントは接続しない」というルールを決めたということである。実際には、最近のWindowsシステムではDHCPクライアントとして設定するのが標準であり、このルールにはトラブルを完全に防止する力はない。ネットワーク管理の観点からは、こういう設定は好ましくはないが、ネットワーク・クライアントの数が限られる「家庭内LAN」という見地からは許容範囲だろうと考えている。

手動によるクライアントPCの設定

 DHCPの利用をあきらめたため、クライアントとなるLAN内のPCはすべて手動でTCP/IP設定を行う必要がある。この設定内容は、「mmx」を挟んでどちら側のネットワークに接続するかで変わってくる。

 まず、「compaq」と同じネットワークに接続する場合だ。これはつまり、HomePNAインターフェイスを持つPC、ということになる。筆者宅の構成では、最もカバー範囲が広いネットワークはHomePNAである。全部屋に電話線のモジュラジャックが用意されており、そこに接続するだけでHomePNAによるネットワーク環境を自由に利用できるため、移動しがちなノートPCにはHomePNAを装備するのが最も便利ということになる。ただし、実はこのネットワーク環境を構築した時点では、HomePNA 2.0対応インターフェイスはPCIカードしかなく、ノートPCで使えるUSB接続やPCカード・タイプはすべてHomePNA 1.0対応であった。つまり、HomePNA 2.0の環境で利用することは可能だが、通信速度が1Mbpsに制約されるという難点があった。いまでは、国内販売はされていないものの、米国ではUSB接続タイプのアダプタやPCカード・タイプのものなどが販売されているため、この状況は改善されている。というわけで、通信速度にさえ目をつぶればノートPCなどの接続にはとても都合がよい。このとき、TCP/IP設定は、

  • IPアドレスは192.168.0.3〜62のいずれか
  • ネットマスクは255.255.255.192
  • デフォルト・ゲートウェイは192.168.0.1
  • DNSサーバは192.168.0.1

となる。

 サブネットマスクに255.255.255.192を設定して192.168.0.0/24というネットワークを4分割したため、筆者宅のネットワークは、192.168.0.0/26、192.168.0.64/26、192.168.0.128/26、192.168.0.192/26という4つのネットワークから構成されていることになった。このうち、HomePNAネットワークは、192.168.0.0/26ということになる。このネットワークでノードのIPアドレスとして利用可能なのは、192.168.0.1〜62である。192.168.0.0はネットワーク自身のアドレスであり、192.168.0.63はこのサブネット内のブロードキャスト・アドレスとなるため除外される。さらに、192.168.0.1を「compaq」のLAN側インターフェイスに割り当て、192.168.0.2を「mmx」のHomePNAインターフェイスに割り当てているので、残るノードアドレスは3〜62ということになる。

 デフォルト・ゲートウェイの設定としては、192.168.0.1(「compaq」)または192.168.0.2(「mmx」)の2通りがあり得る。というか、「compaq」と「mmx」が、それぞれIPルータとして適切に設定されていれば、HomePNAネットワークに接続されたクライアントではどちらをデフォルト・ゲートウェイに指定しても違いはない。この点に関しては、次回ルーティングの設定を説明する際にあらためて触れるが、とりあえず筆者はデフォルト・ゲートウェイとして「compaq」を指定することにした。

大きな図へ
サブネットで分割したネットワーク構成
LANをサブネット分割し、ルータとして「mmx」を加えると全体構造はこのようになる。

 最後に、DNSサーバ・アドレスの設定である。これは「インターネット接続の共有」の機能によって、「compaq」を指定しておけば用が足りる。ただし、どちらにしても実際にリクエストが送られるDNSサーバはOCNのものである。筆者宅内にはDNSサーバは存在しない。クライアントのDNSサーバ設定で「compaq」を指定しておいても、実際には「compaq」がその問い合わせを中継して、OCNのDNSサーバに転送するだけのことである。という理由から、筆者宅ではDNSサーバの設定に関しては、すべてのクライアントPCにOCNから指定されたDNSサーバ・アドレスを設定している。無用な中継を挟むよりも、直接指定した方が何となく気分がよい、という程度の理由だが、どちらにしても「compaq」はNAT機能を実行する都合上、すべてのパケットを中継するわけで、DNSの問い合わせの中継を止めたところでパフォーマンスやスループットが向上するとは思えない。高速化というよりは、単に気分の問題でこう決めただけのことである。

 というわけで、「インターネット接続の共有」機能を中心とした設定内容を紹介してきた。これで基礎はできたが、実はこの段階では「mmx」の先のネットワークからインターネットにアクセスできない。「compaq」と「mmx」をIPルータとして正しく設定する作業が残っているからだ。次回は、この2台のWindows 2000 Professionalマシンのルーティング設定について紹介する。記事の終わり

  関連記事(PC Insider内) 
連載
ネットワークデバイス教科書
最適ネットワーク機器選択術
Windows 2000のインターネット接続共有を活用する(NATを利用する方法)

  関連リンク 
HomePNA 2.0対応のPCIカード「HPN200」の製品情報ENGLISH


 
     
「連載:究極ホーム・ネットワークへの道」


System Insider フォーラム 新着記事
  • Intelと互換プロセッサとの戦いの歴史を振り返る (2017/6/28)
     Intelのx86が誕生して約40年たつという。x86プロセッサは、互換プロセッサとの戦いでもあった。その歴史を簡単に振り返ってみよう
  • 第204回 人工知能がFPGAに恋する理由 (2017/5/25)
     最近、人工知能(AI)のアクセラレータとしてFPGAを活用する動きがある。なぜCPUやGPUに加えて、FPGAが人工知能に活用されるのだろうか。その理由は?
  • IoT実用化への号砲は鳴った (2017/4/27)
     スタートの号砲が鳴ったようだ。多くのベンダーからIoTを使った実証実験の発表が相次いでいる。あと半年もすれば、実用化へのゴールも見えてくるのだろうか?
  • スパコンの新しい潮流は人工知能にあり? (2017/3/29)
     スパコン関連の発表が続いている。多くが「人工知能」をターゲットにしているようだ。人工知能向けのスパコンとはどのようなものなのか、最近の発表から見ていこう
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

System Insider 記事ランキング

本日 月間