Broadband Watch logo

第2回:Windows XPのブロードバンド度をチェック・2


 前回のPPPoEに引き続き、今回もWindows XPのブロードバンド機能をチェックしていく。今回のテーマはWindows XPのネットワーク機能の目玉のひとつとも言えるリモートデスクトップ、リモートアシスタントだ。これらの機能の活用方法と実際にADSLやCATVなどの常時接続環境での利用するための方法を解説していく。





リモートデスクトップ、リモートアシスタンスとは

 Windows XPの新機能として、大きな注目を集めているのがリモートデスクトップとリモートアシスタンスの2つのネットワーク機能だ。これまでWindows 2000 Serverに搭載されていたターミナルサービスの技術をベースにした機能となっており、離れた場所にあるPCのデスクトップを手元のPCに表示し、遠隔操作することが可能となっている。

 このようなPCの遠隔操作は、企業などのシステム管理部門などでは古くから利用されていた機能だが、Windows XPにリモートデスクトップとリモートアシスタンスが標準搭載されたことで、ようやく個人ユーザーでも手軽に利用できるようになってきた。これにより、たとえばリモートデスクトップで外出先から自宅のPCにアクセスして必要なデータを参照したり、リモートアシスタンスで友人にインターネット経由で操作の助けを求めることなどが可能となっている。

 ADSLやCATVといった常時接続環境の普及に伴い、PCが常にインターネットに接続されている環境が整いつつあるが、これらの機能の登場により、ようやく外部から自宅や会社のPCにアクセスする方法が提供されたことになる。それでは、それぞれの機能の概要や活用方法を見ながら、実際に利用するうえでの注意点を解説していこう。





リモートデスクトップの活用方法

コンピュータの管理などからサービスを確認すると「Terminal Service」が起動していることを確認できる。リモートデスクトップ、リモートアシスタンスを実現するためのサービスだ

ターミナルサービスと異なり、リモートPCのサウンドをローカルで再生したり、逆にローカルの資源をリモート接続したときに利用することなどができる。この機能により、リモートとローカルのPCの間でのファイル転送なども簡単にできる
 リモートデスクトップは、主に外出先などから、自宅や会社にあるPCをコントロールするための機能だ。遠隔地のPCのデスクトップを手元のPCに表示できる点はリモートアシスタンスと同じだが、リモートアシスタンスのように接続に相手の認証が必要になる対話型のサービスではなく、PCの設定さえしておけば接続を受け付ける側のPCを人間が操作しなくても自動的に接続することができる点が特徴と言える。

 しくみ的には、前述したターミナルサービスとほぼ同等だ。サーバーが提供するリモートデスクトップのサービスのリンクを利用して、クライアントがサーバーのセッションにログオンすることになる。実際、Windows XPのサービスを確認すると「Terminal Service」が動作していることを確認することができる。

 ただし、ターミナルサービスと異なり、接続を受け付ける側で1つのセッションしか確立できないという制限があったり、画面に表示可能な色数の増加やリモートPCのサウンドをローカルで再生したり、ローカルのディスクやプリンタ、シリアルポートなどのデバイスをリモートPCで利用することもできるなど、機能が強化されている部分もある。

 では、具体的にリモートデスクトップの活用方法にはどのようなものがあるのだろうか。これには、主に以下の3つのものが考えられる。

・RAS的な利用方法
・リモートコンソール的な利用方法
・アプリケーションサーバー的な利用方法


 まず、RAS的な利用方法だが、これは前述したように外出先から自宅のPCにアクセスして必要なデータを参照するなどの利用方法だ。RASによるリモート接続とは異なり、GUIによる操作が可能なため、単にファイルを転送するだけでなく、そのファイルを直接アプリケーションから開いたりすることなどができる。このため、自宅のPCに必要なデータを忘れてきてしまった場合などでも、外出先や会社から、データを簡単に取得することができる。

 続いてのリモートコンソール的な利用方法だが、これはサーバーなどの管理などに活用できる。たとえば、Windows XP Professionalをサーバー代わりに利用している場合、サーバーを直接操作しなくてもLAN上の別のPCからサーバーのデスクトップを表示して各種管理や設定などを行なうことができる。企業などでは、管理者がサーバーの管理によく利用する方法だが、これを家庭などでも実現できることになる。この機能を利用すれば、サーバーをディスプレイレスで利用することなども可能だ。

 最後のアプリケーションサーバー的な利用方法は、まさにターミナルサービスのアプリケーションサーバー機能と同様の使い方だ。ターミナルサービスでは、いわゆるシンクライアントなどからLAN上のサーバーに接続し、サーバーのリソースを利用してアプリケーションなどを起動することができるが、これと同様のことがリモートデスクトップでも可能となる。たとえば、ノートPCからデスクトップに接続し、デスクトップPCにインストールされたアプリケーションを起動するなどの例が挙げられる。リモートデスクトップでは、ローカル側のPCでは画面表示をするためのリソースしか利用しないため、非力なPCでもリッチなアプリケーションを利用可能なわけだ(ただし動作は遅いが……)。





リモートデスクトップ利用時の障壁

 このように、応用範囲の広いリモートデスクトップだが、実際に利用するうえでは注意しなければならない点も多い。まず、基本的な設定だが、これは以下の点に注意して、接続を受け付ける側のPCを設定すれば、ほぼ接続することができる。

  • マイコンピュータのプロパティにある「リモート」の設定で、リモートデスクトップを有効にする(図1)
  • 接続時に利用するユーザーアカウントに許可を与える(Administratorsグループのユーザーは標準でアクセス可能)(図2)
  • コントロールパネルで接続時に利用するユーザーアカウントにパスワードを設定する(パスワードなしでは、仕様上接続できない)(図3)
  • インターネット接続ファイアウォールを利用している場合は無効にするか、サービスの通過を設定する(図4)


(図1)マイコンピュータのプロパティにある「リモート」でリモートデスクトップを有効にする (図2)接続時に利用するユーザーアカウントに許可を与える

(図3)コントロールパネルで接続時に利用するユーザーアカウントにパスワードを設定する(パスワードなしでは、仕様上接続できない) (図4)インターネット接続ファイアウォールを利用している場合は無効にするか、サービスの通過を設定する

 問題は、インターネット経由でリモートデスクトップを利用する場合だ。たとえば、外出先から自宅のPCに接続した場合を考えてみよう。自宅のPCにADSLモデムが直接接続され、グローバルIPアドレスが割りあてられていれば問題はないのだが、通常はブロードバンドルーターなどを利用しているケースが多い。この場合、ブロードバンドルーターのNATやIPマスカレードなどによってLAN内のPCのアドレスが変換されてしまうため、外出先のPCから接続しようとしても自宅のPCにうまく接続できない。

 また、一般的なブロードバンドルータは、外部からのパケットをドロップするようにフィルタリングの設定がされているため、これも障壁になってしまう。つまり、ルーター側の設定をきちんとしておかなければ、インターネット経由でリモートデスクトップを利用することはできないわけだ。

 では、どのように設定すれば良いのかというと、ルーターの静的NATやポートフォワーディングなどの設定を利用すればいい。リモートデスクトップが利用するポートは、ターミナルサービスと同様にTCPの3389となる。つまり、外部からこのポートへの要求があった場合に特定のPCへとパケットを転送できればいいわけだ。同時にルーターのフィルタリングなどを見直し、外部からのパケットをすべてドロップするようになっている場合は、ポート3389を通過させるようにしておけばいい。

 具体的な設定方法はルーターによって異なるため、詳しくは省略するが、試しにYAMAHA RTA54iで静的NATの設定し、ルーターのグローバルIPアドレスを指定してリモートデスクトップで接続したところ、問題なく接続することができた。ちなみに、今回のテストは接続する側も接続を受け付ける側も1.5MbpsのADSLを利用したが、多少、画面の描画にもたついたり、マウスの操作がワンテンポ遅れるなどの不具合は見られるものの、ストレスなくリモートのPCを操作することができた。決して快適とは言えないが、ほぼ実用範囲内といったところだろう。


YAMAHA RTA54iでの静的NATの設定。ADSL接続のプロバイダを選択し、「NAT」の項目で登録情報を変更する。リモートデスクトップが利用するTCP 3389のポートをLAN上の特定のPCに転送するように設定すれば、インターネット経由でリモートデスクトップが利用できる 描画のスピードが遅いため、操作がワンテンポ遅れるものの、リモートからの操作だと考えれば十分に実用範囲。主にファイルの転送などを行なうRAS的な使い方が最も適しているだろう




さらに複雑な設定が必要なリモートアシスタンス

 さて、もう一方のリモートアシスタンスだが、こちらは前述したようにWindowsの操作がわからない時などに友人に助けを求めるという使い方以外に、あまり応用的な使い方はできないので、実際に利用するときの注意点のみを解説しよう。

 とは言え、結論から先に言えば、これはかなり難しい。まずは、Windows Messengerについて詳細に解説されている鈴木直美氏のレポートを参照してほしい。この記事からもわかる通り、リモートアシスタンスを利用する場合は、接続する側、接続を受け付ける側のどちらか一方のPCがグローバルIPアドレスでないと接続に失敗することになる。もちろん、ルーターなどでDMZ機能が利用できれば、これを利用してしまうのも手だが、それができない場合は別の方法を利用するしかない。

 では、どうすればいいのかというと、接続する側も接続を受け付ける側もプライベートIPアドレスである場合は、リモートアシスタンスの接続を要求する際にちょっとした工夫をしてやることで接続が可能となる。

 まずは、リモートデスクトップのときと同様に静的NATやポートフォワーディングで利用するポートを特定のPCに転送するように設定しておく。リモートアシスタンスでは、Windows Messengerを利用して接続を要求した場合はポートが特定できないが、メールを利用して接続を要求する場合はリモートデスクトップと同様にTCP 3389を利用するので、このポートを転送するように設定し、フィルタリングなどの設定も見直しておく。


リモートアシスタンスでは、3種類の招待方法を選択できる。ただし、利用するポートを固定したい場合は、電子メールでの招待、もしくは招待をファイルに保存する必要がある。こうすれば、リモートデスクトップと同様にTCP 3389で接続できる
 ただし、この設定だけでは、もしもメールで接続を要求したとしても接続できない。メールで接続を要求する場合、リモートアシスタンスが自動的に接続要求用の添付ファイル(MsRcIncidentファイル)を作成するのだが、この添付ファイルの中身をテキストエディタで見ると、接続先(つまり自分のPC)のIPアドレスがプライベートIPアドレスとなっているからだ。これでは、いくらメールを受け取った相手が接続しようとしても、インターネット上に存在しないプライベートIPアドレスを検索してタイムアウトしてしまう。

 よって、この添付ファイルに記載されているアドレスをグローバルIPアドレス(具体的には相手側のルーターのIPアドレス)に書き換えればいいことになる。しかし、ここでも問題が発生する。受け取った添付ファイルにはセキュリティがしっかりと設定されているため、ファイルの中身を勝手に変更することができないのだ。IPアドレスなどを書き換えると、その時点で不正なファイルと判断されて接続を起動することすらできなくなる。

 このため、添付ファイルは接続を受け付ける側で書き換えてから送信しなければならないことになる。リモートアシスタンスで接続の要求をする際の選択肢には、「招待をファイルとして保存する(上級)」という項目が存在するので、これを選択し、接続要求用のファイルを作成する。そして、このファイルの中身をテキストエディタなどで開き、接続先のIPアドレスの部分を自分のルーターのグローバルIPアドレスに変更する(リスト参照)。これで、メールなどで招待を送信すれば、ようやく相手側から接続できるわけだ。

<?xml version="1.0" encoding="Unicode" ?>
<UPLOADINFO TYPE="Escalated">
<UPLOADDATA USERNAME="ユーザー名" RCTICKET="65538,1,xxx.xxx.xxx.xxx:3389;pcname:3389,Hj4JlhLP9BeQiqtgKGs
=,5JrkV1GH8UH66pSSr4HWTFlAXpYGjBkwlUrG/J5q0cM=,SolicitedHelp,
KmhTmRGMqSOO0+tVNB8sKkha5BU7+AohUNO4K/hki4F3MCb23ruy5w==,
ceC0gBxgX6fB2R64ZNQyRwbpYS4=" RCTICKETENCRYPTED="1" DtStart="1006582247" DtLength="1440" PassStub="4R+6Ljzg_vy*hd" L="0" />
</UPLOADINFO


 1行目の「xxx.xxx.xxx.xxx」とした部分が接続先となるIPアドレス。この部分をルーターに割りあてられているグローバルIPアドレスに変更することで、リモートアシスタンスでの接続が可能となる。

 つまり、接続を要求する側は、以下のような一連の操作をしなければならないことになる。
  • ルーターの静的NATやポートフォワーディングの設定
  • ルーターのフィルタリングの設定
  • リモートアシスタンスの招待ファイルの書き出しと書き換え
  • リモートアシスタンスの招待ファイルの送信

 これは、実に本末転倒だ。そもそも接続を要求する側はWindowsの操作がわからないからリモートアシスタンスの要求を出すわけであって、スキルが低いことが想定される。つまり、ここまでの設定ができるユーザーであれば、他人に操作のヘルプを要求することなどありえないわけだ。もちろん、そのようなユーザーはルーターすら使っていないと考えることもできるが、最近ではルーターを利用してADSLやCATVなどのブロードバンド環境を利用することが当たり前になりつつあり、しかもこのユーザー層にはPC初心者も多く含まれている。

 このように、リモートデスクトップはブロードバンド環境、LAN環境と環境を問わず、その応用範囲の広さから活用しがいのある機能だと言うことができる。しかし、リモートアシスタンスは現段階では実用には今一歩及ばない機能と言わざるを得ない。このあたりは、リモートアシスタンスが改良されるか、Universal PnPに対応したルーターの登場を待つしかないだろう。

(次回につづく)


関連情報

URL
  Windows XP製品情報(マイクロソフト)
  http://www.microsoft.com/japan/windowsxp/
  フレッツサービス情報(NTT東日本)
  http://www.ntt-east.co.jp/flets/

2001/12/03 12:10

清水理史
製品レビューなど幅広く執筆しているが、実際に大手企業でネットワーク管理者をしていたこともあり、Windowsのネットワーク全般が得意ジャンル。最新刊「できるブロードバンドインターネット Windows XP対応」ほか多数の著書がある。自身のブログはコチラ
Broadband Watch ホームページ
Copyright (c) 2001 Impress Watch Corporation, an Impress Group company. All rights reserved.