社内LANでWebブラウザを使う場合は、Proxyサーバの設定が必要なことがある。各クライアントのProxy設定をすべて手動で行うのは大変なので、Internet Explorerの自動設定機能を利用するとよい。自動設定の方法としては、DHCPサーバを使う方法や、WPADを使う方法、グループ・ポリシーを使う方法などがある。
対象OS:すべて
ある程度以上の規模を持つ会社や組織では、インターネットとイントラネットの2つを明確に区別して、両者の間にはファイアウォールなどのセキュリティ対策機構を用意しているだろう。この場合、イントラネット上の各マシンからインターネット上の各種のサービス、特にWWWやFTPサービスなどを利用するためには、(小規模な組織なら)NATのようなアドレス変換機能を使う場合もあるが、一般的にはProxyサーバを用意して、インターネットへのアクセスはProxyサーバ経由で行うことが多い。Proxyサーバは、インターネットとイントラネットの間に配置して、イントラネット上の各Webクライアントからの要求をインターネット上へ中継するためのサービスである。実際には、単に中継をするだけでなく、いったんインターネットから取得したデータを自分自身のキャッシュに蓄え、再度同じ要求があれば、そのキャッシュからクライアントへデータを転送する。これにより無駄な(重複した)インターネットへのアクセスが減少し、帯域幅の狭いインターネット回線でも多数のクライアントからの要求を効率よく処理することができるようになる。Proxyサーバ ソフトウェアとしては、SquidやMicrosoft ISA Server、Netscape Proxyなどが有名である。
Proxyサーバを利用するためには、Webブラウザ・クライアントのネットワーク設定において、Proxyサーバをアクセスするようにセットアップする必要がある。従来のInternet Explorer 4.x以前では、この設定をすべてクライアント側でユーザーが手動で行う必要があったが(カスタマイズした特別なバージョンのInternet Explorerを作成して、それを企業内に広く配布するという方法もある)、Internet Explorer 5.x/6.xではこの設定を完全に自動化するための機能が用意されている。以下では、このProxyサーバの設定方法について見てみよう。
Proxyサーバを設定する一番簡単な方法は、各ユーザーが自分のユーザー名でWindows 9x/Me/2000/XPにログオンし、ブラウザのネットワーク設定を変更する方法である。[ツール]−[インターネット オプション]の[接続]タブにある[LANの設定]を開いて、[プロキシ サーバを使用する]というチェックボックスをオンにして、Proxyサーバ マシンのIPアドレスとポート番号を入力すればよい。もしプロトコルごとに異なるサーバや、異なるポート番号を使うのなら、[詳細]設定ボタンを使って、個々のプロトコルごとに設定を行う。
[A]
上記の手動設定は、各ユーザーが最初にInternet Explorerを使用するときにそれぞれ実行する必要があるが、IPアドレスやポート番号、除外するアドレス/ドメイン名などをすべて正確に入力するのは簡単な作業とはいえないだろう。入力ミスがあった場合のトラブルシューティング作業などで、管理者の手を煩わせることになるかもしれない。 このような作業を簡略化するための方法として、JavaScriptを使ったProxyサーバの自動設定手段が、Internet ExplorerやNetscape CommunicatorなどのWebブラウザには用意されている。管理者は以下のような内容のJavaScriptファイルを用意して、それをイントラネット上の適切なWWWサーバ上に配置しておけばよい。この自動設定ファイルを使うと、例えばローカルLANとインターネット接続でProxyサーバを切り替えたり、利用時間帯や所属ドメインなどに基づいて複数のProxyサーバを使い分けるなどという複雑な制御も行える。このファイルの書式の詳細についてはNetscape社のNavigator Proxy Auto-Config File Formatや、Internet Explorer Administration Kit(IEAK)のページからダウンロードできる、IEAKのヘルプファイルなどを参照してほしい。
function FindProxyForURL(url,host)
{ if(isPlainHostName(host)||
isInNet(host,"192.168.0.0","255.255.0.0")) return "DIRECT";
else return "PROXY 192.168.0.10:8080; DIRECT";
}
このようなファイルを「proxy.pac」などというファイル名にして、イントラネット上のWWWサーバ上に配置しておき、そのURL(ここでは「http://192.168.0.10/proxy.pac」としている)をWebブラウザの[自動設定のスクリプトを使用する]にセットすればよい。
自動設定ファイルを使う方法は、ProxyサーバのIPアドレスやポート番号を個別に指定するよりも簡便ではあるが、依然として、各ユーザーがそれぞれ自分で設定をしなければならないという問題が残っている(もちろんネットワーク管理者などが代理で作業を行ってもよいが、個々のマシンごとに設定を行う必要があるという点では変わらない)。この自動設定の方法をさらに進めて、DHCPやDNSのように、クライアント側での設定の手間をまったくなくす方法として、WPAD(Web Proxy Auto-Discovery)プロトコルが開発され、Internet Explorer 5.x/6.xなどで実装されている。Internet ExplorerでWPADプロトコルによる自動設定を利用するためには、以下のように、[設定を自動的に検出する]というチェックボックスをオンにするだけでよい。Internet Explorerでは、最初からこのチェックボックスだけがオンになっているので、実際にはユーザーは何もしなくても、Proxyの設定を自動的に検出して、利用できるようになっている。
WPADは、WebブラウザのProxy設定を自動化するために開発されたプロトコルであり、現在RFCのドラフト規格となっている。WPADプロトコルを使うと、Webブラウザ自身が(前述したような)Proxy設定用のJavaScriptファイルの位置(URL)を自動的に検出してダウンロードし、設定を行うことができる。管理者としては、WPADプロトコルをサポートするようにネットワーク環境を整備しておけば、いちいちクライアント側の設定の面倒を見なくてもかまわない、というメリットがある。 WPADでは何種類かのプロトコルを組み合わせて自動設定を実現しているが、管理者の視点から見ると現実的には、以下の2通りの方法が有用であろう(そのほかのプロトコルは実装されていないことがある)。
クライアント・マシンにIPアドレスなどのネットワーク情報を自動配布する手段として、DHCPサービスがすでに広く使われている。WPADでは、最初にこのDHCPプロトコルを使ってProxyサーバ設定用のJavaScriptファイルのURLを取得するようになっている。よって管理者はDHCPサーバに対して、この設定項目を追加するだけでよい。 ただしこの機能を使うためには、DHCPサーバが「DHCPINFORM」プロトコルをサポートしている必要がある。Windows 2000 Server/Windows .NET Serverに搭載されているDHCPサーバはこの機能を持っているが、そうでない場合は、DHCPサーバのソフトウェアをバージョンアップするか、後述する別の手段を使う必要がある。Windows 2000 Server/Windows .NET ServerのDHCPサーバでDHCPINFORMを使うためには、DHCPのスコープオプションで、新しく252番を定義し、そこにJavaScriptファイルへのURLを記述する。具体的な手順については「TIPS:DHCPサーバのスコープ・オプションを追加定義する」を参照していただきたい。
DHCPINFORMメッセージによるJavaScriptのURLの取得が失敗すると、次は「wpad」という名前を持つホストから、httpプロトコル(ポート番号は80番)を使って、「/wpad.dat」という名前の設定ファイルを取得しようとする。このファイルの内容は、先のproxy.pacと同じである(したがって同じ内容のファイルを2つ用意しておくか、シンボリック・リンクを張っておくとよいだろう)。 「wpad」という名前は、クライアントが属しているドメイン名を、先頭から順番に切り詰めながら試行される。例えばWebブラウザが動作しているマシンのFQDNが「pc1.lab.d-advantage.com」なら、「wpad.lab.d-advantage.com」、「wpad.d-advantage.com」を検索し、見つかればそこから設定ファイルを取得しようとする。
以上のような仕組みになっているため、wpadというDNSレコードを登録し(Aレコードで直接ホストを登録してもよいし、CNAMEレコードで別名を登録してもよい)、そのホストのWWWサーバのルート・ディレクトリ上に自動設定ファイル(wpad.dat)を置いておくだけで、WebブラウザのProxy設定を行うことができる。
Active Directoryのグループ・ポリシー機能を使って、クライアントのWebブラウザのProxy設定を行う方法もある。これは、「1.Proxyサーバを手動設定する」もしくは「2.Proxyサーバをスクリプトで自動設定する」の設定を、Active Directoryのグループ・ポリシーで自動的に配布するという方法であり、設定する項目の意味などはこれらの方法と同じである。ただし、このグループ・ポリシーはドメインに参加しているWindows 2000 Professional/ServerやWindows XP Professional、Windows .NET Serverにのみ有効な方法であり、ドメインに参加できないOS(Windows 9x、Windows Me、Windows XP Home Edition)では利用できないので、ほかの方法を併用する必要がある。
グループ・ポリシーでProxy設定を行うためには、まずドメイン・コントローラ上の[スタート]メニューから[プログラム]−[管理ツール]−[Active Directory ユーザーとコンピュータ]を起動する。そして該当するOU(例えば組織全体で共通の設定にしたければルート・ドメインを選択する)を右クリックして[プロパティ]画面を開き、[グループ ポリシー]タブを選択後、[新規]か[編集]をクリックしてグループ・ポリシーの編集画面を開く。この中に[ユーザーの構成]−[Windowsの設定]−[Internet Explorer のメンテナンス]−[接続]という項目があり、ここでProxyサーバなどの設定が行える。
Proxy設定を行うには、「1.Proxyサーバを手動設定する」で述べたように、ProxyサーバのIPアドレスを手動で1つずつ設定する方法と、「2.Proxyサーバをスクリプトで自動設定する」で述べたように、自動設定スクリプトを使う方法の2つがある。以下は、スクリプトを使う場合の例である。
[B]
■関連リンク
■更新履歴
【2002/10/19】最新情報を反映して加筆・修正しました。
【2000/01/16】初版公開。
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.