連載

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

第4回 「インターネット接続の共有」の裏技的設定法 その2 〜Windows 2000のルーティング設定(1)

渡邉利和
2001/05/17

 前回までの作業で、OCNアクセス・ルータに接続された家庭内サーバ「compaq」の[インターネット接続の共有]機能を利用して、自宅内のクライアントPCからインターネットへアクセスできる環境のベースが構築された。今回はその続きとして、自室内に構築されたLANをこの環境と接続し、IPルータを介して正常に通信できるようにする。これで、とりあえずの環境が完成する。

現状のネットワーク構成図

 まず始めに、筆者の自宅内部のネットワーク構成図を、今回の話の展開に都合のよい形に再整理して紹介する。

筆者宅のネットワークの基本構造
ここに示したマシンのすべてが相互に通信できるようになることと、すべてのマシンからインターネットにアクセスできるようにするための設定を行うのが今回の目標である。

 これまで何度も紹介している骨格だが、今回は実質的なバックボーンを形成しているHomePNAネットワークを中心に2台のルータとクライアントPCを配置してみた。このように整理すると、現状の問題点とこれから行うべき作業が明確になる。自画自賛のようだが、このネットワークは家庭内に構築されたものとはいっても、結構複雑なシステムだ。通常のネットワーク構築にもいえることなのだが、設定や変更を行う際には、このようにシステム構成図を書いてみると勘違いやうっかりミスを防ぐことができる。さらに作業内容に応じて、異なる視点からの図を何種類か描くことができれば、ネットワーク管理業務も板についてきたと評価されることと思う。筆者の場合は、作業を監督してくれる上司は存在しないので誉められたり評価が上がったりはしないのだが……。

 さて、上図には代表的なクライアントPCを2台入れてある。何が代表的なのかというと、これは接続されているネットワークが異なる点がポイントである。筆者宅では192.168.0.0/24というプライベート・アドレスのネットワークを4つのサブネットに分割していることは、前回までに紹介したとおり。ただし、4つのサブネット全部が現時点で利用されているわけではなく、実際にはHomePNAネットワークと自室内のLANの2つだけが利用されている。上図にはこの2つのネットワークと、それを相互接続するために設置されたIPルータ(「mmx」のこと。「compaq」もルータであり、OCNリンクとHomePNAネットワークを接続している)、そしてこの2つのネットワークに所属するクライアントPCを置いた、というわけだ。この状態が、筆者宅のネットワーク構造の最小構成ということになる。この後、何台のクライアントPCを増やしても、自室内のLANまたはHomePNAネットワークに所属するものである限り、ネットワーク全体の構成に影響を及ぼすことはない。

ここまでに達成されたこと

 前回、Windows 2000 Professionalが提供するサービスである[インターネット接続の共有]機能を利用してOCNリンクを共有するための基本的な設定を行った。その結果、上図のクライアントAはこのサービスを利用してインターネットにアクセスできるようになっている。もちろん、クライアントAには

  • IPアドレス
  • サブネットマスク
  • デフォルト・ゲートウェイ
  • DNSサーバ・アドレス

という「TCP/IPクライアントのパラメータ四天王」とでもいうべき基本設定項目を正しく設定してあることが前提だが、このあたりはあらためて解説するまでもないだろう。

 さて、問題はこの先だ。前回「compaq」のLAN側(HomePNA側)のサブネットマスク設定を手動で変更した。しかし、実のところこれだけでは、ほかのサブネットとの通信ができるようにはならない。サブネット分割といっても、TCP/IPの観点からはネットワーク間接続ということになる。ネットワークを接続するためには、適切に設定されたIPルータが不可欠である。

 なお、ここで念のため触れておくと、本来なら「compaq」もOCNリンクとHomePNAネットワークを接続するルータであり、ここでも設定が必要となるのだが、今回は[インターネット接続の共有]機能を利用しているため、特別な設定は不要だ。設定を何もしなくても、LAN側インターフェイスとWAN側インターフェイスの間で必要なパケットが中継され、さらにヘッダの書き換えまで行ってくれるのだ。従って、今回の作業の中心は、HomePNAネットワークと自室のLANとを接続するIPルータ「mmx」に関する設定である。

ルーティングの基本を考える

 TCP/IPにおけるルーティングとは、基本的には「目的地に到達するためにパケットが経由すべきルータのリスト」を指定することである。ただし、経由すべきルータすべてを指定する必要はなく、自分と同じネットワークに所属しているルータについてのみ指定すればよい。

 TCP/IPによる通信では、相手が自分と同じネットワークに所属しているか、つまり直接パケットを送ることができるかどうかで、通信方法が異なる。直接パケットを送れる相手に対しては、特別な処理をする必要はないので、そのままネットワーク上にパケットを送信すればよい。そうすれば、相手側は、ネットワーク上から直接パケットを取り込むことができる(受信できる)。一方、直接送れない相手に対しては、別のノードに中継を依頼することになる。この「中継役を担うノード」がルータというわけだ。

 ただ、ルータといってもTCP/IPによる通信を行っていることに変わりはない。そのため、直接パケットを送れるのは、やはり自分と同じネットワークに所属しているノードに対してのみである。ただし、ルータはネットワーク・インターフェイスを複数持ち、同時に複数のネットワークに所属している点がポイントである。2つのネットワークを接続する際にこの両者の間に設置したルータは、どちらのネットワークのノードとも直接通信ができる。一方のネットワークに所属するノードから、他方のネットワークのノードへの通信を中継できるのも、このことに起因する。

 自分が所属している複数のネットワーク間での通信の中継なら話は簡単だが、そうでない場合は少々面倒だ。上図でいうと、例えばクライアントBからインターネットへのアクセスのパケットを受け取った「mmx」はどうすればよいか、ということである。

 通信にかかわるノードがどのネットワークに所属しているかは、IPアドレスのネットワーク・アドレス部を見て判断する。しかし、例えばインターネット上のWebサイトへのアクセスの場合などでは、通信先として指定されるIPアドレスは、「mmx」にとっては何の前提知識もない、どこのネットワークのものかも分からないIPアドレスが指定されているはずである。この場合には、管理者があらかじめ「mmx」に設定を行っておかなければならないのだ。つまり、図の構成では、「『mmx』は、知らないIPアドレスが指定されたパケットを受け取った場合は、『compaq』に中継を依頼してOCN経由でインターネットに送る」ように設定する必要がある。この設定を行うのが、すなわち「ルーティングの設定」ということになる。

「mmx」のルーティング設定の実際

 前提知識の確認が済んだところで、実際の設定作業を行っていこう。Windows 2000 Professionalが稼働中のIPルータ候補機「mmx」を実際にルータとして動作させるための設定だ。

 「mmx」には、ネットワーク・インターフェイスが2つ搭載されている。1つは自室のLANと接続されている100BASE-TXで、もう1つはHomePNA 2.0である。[ネットワークとダイヤルアップ接続]を開くと、この2つが[ローカル エリア接続]と[ローカル エリア接続2]という名前でアイコンとして表示される。ここでは、[ローカル エリア接続]がイーサネットで、[ローカル エリア接続2]がHomePNAである。この2つのインターフェイスの間でパケットを中継してくれれば、取りあえず「2つのネットワーク間を接続する」という最低限の動作が実現するわけだが、[ネットワークとダイヤルアップ接続]の周囲を見ても、それに類する設定はない。

[ネットワークとダイヤルアップ接続]の画面
ネットワークの設定に関することは、ここにまとめられているのだが、ルーティングに関する設定はここにない。

 もったいつけても仕方がないのでさっさと紹介してしまうと、Windows 2000 Professionalにルータとしてのサービスを提供させるには、[サービス]の設定を変更する必要がある。Windows NT 4.0のころは、[コントロールパネル]を開くと[サービス]アイコンが表示されていたものだが、Windows 2000では、[コントロールパネル]を開き、さらに[管理ツール]を開くと(もしくは[マイコンピュータ]を右クリックして[管理]メニューを起動し、[サービスとアプリケーション]をクリックすると)、そこに[サービス]アイコンを見つけることができる。階層が1段深くなっているのだ。このアイコンをダブルクリックすると、[サービス]ウィンドウが開く。

[サービス]ウィンドウの画面
日本語の説明が付けられているのはありがたいが、簡潔すぎて何だか理解できないことが多いのが玉にキズ。アルファベット順に並んでいるため、自分の設定したい項目が分かっていれば、比較的見つけやすい。

 ここには、バックグラウンドで実行されるサービス・プロセスが一覧表示されている。結構な数があるので、見ていると嫌気がさすかもしれないが、ここから[Routing and Remote Access]という名前を探そう。これがルータとして動作させるために必要となるサービス・プロセスである*1。この行をマウスで選択し、ダブルクリックすると[Routing and Remote Access]のプロパティが開く。ただし、ここではルーティング動作の詳細を設定するようにはなっていない。単に、サービスを起動するかどうかを制御するだけだ。標準では、[スタートアップの種類]が「無効」になっており、[サービスの状態]の欄には「停止」と表示されているはずだ。つまり、[Routing and Remote Access]のサービス・プロセスは動作していないということである。

*1 パケットをフォワードするだけ(ルーティングするだけ)ならばレジストリの「\\HKEY_LOCAL_MACHINES\SYSTEM」の下の「\CurrentControlSet\Services\Tcpip\Parameters」にある「IPEnableRouter」を1にするだけでも可能なようだ。この方法は、レジストリの設定を変更するため、操作を誤るとWindows 2000が起動しなくなることもある。操作には十分注意していただきたい。今回は、このレジストリの変更によるルーティング設定については試していないため、Routing and Remote Access(RRAS)による方法を紹介する。RRASを使うことでパケット・フィルタリングなどの設定も行える。その方法については「Windows 2000 Insider 運用:常時接続時代のパーソナル・セキュリティ対策」を参照していただきたい。
 
[Routing and Remote Access]のプロパティ画面
このプロパティを変更して、ルーティング・サービスを起動する。
  ここを「自動」もしくは「手動」に設定すると、ルーティング・サービスを起動できる。
  [スタートアップの種類]で「手動」を選択した場合、このボタンが有効になり、手動でルーティング・サービスの起動が可能になる。

 まずは、[スタートアップの種類]を変更しよう。この設定が「無効」になっている場合、サービス・プロセスの実行が禁止されているのとほぼ同じ意味を持つ。[スタートアップの種類]のドロップダウン・リストを表示してみると、設定可能な項目として「自動」「手動」「無効」の3種類があることが分かる。

 「自動」は、システムのブート時に自動的にサービス・プロセスを起動するというもの。最終的には、この設定を使うことになる。「手動」は、いまはグレーアウトされている「開始」「停止」「一時停止」「再開」の各ボタンを利用して、サービスの実行/停止を管理者が手動で制御する指定だ。まずは「手動」でサービスを実行してみて、設定に間違いないことを確認したら「自動」に切り替える、というのが慎重なやり方だろう。[スタートアップの種類]を「自動」か「手動」に切り替えた後、ウィンドウ右下の「適用」ボタンをクリックすると、「開始」ボタンのグレーアウトが解除されてボタンをクリックできる状態になる。早速サービスを開始してみよう。

 実は、これだけで「mmx」が所属する2つのネットワーク間でのパケットの中継が開始される(細かな設定は不要だ)。「mmx」にとっては、管理者が特別な設定をするまでもなく、自分が所属している2つのネットワークに関してはネットワーク・アドレスが分かっているからルーティングはできる、というわけだ。このことから、図でいうところのクライアントAとクライアントBの間の通信は自由にできるようになったように思えるかもしれないが、この段階ではまだ無理である。その訳は、デフォルト・ゲートウェイの設定にある。

  関連記事 
連載
ネットワークデバイス教科書
最適ネットワーク機器選択術
運用:常時接続時代のパーソナル・セキュリティ対策
 
 
     

 INDEX

 第4回 「インターネット接続の共有」の裏技的設定法 その2
Windows 2000のルーティング設定(1)
Windows 2000のルーティング設定(2)

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


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 記事ランキング

本日 月間