"WPAD" について


こんにちは Internet Explorer サポートの 張替 です。

今回は、お問い合わせいただくことが多い「プロキシの自動検出」について紹介します。

 

“プロキシの自動検出 – WPAD (Web Proxy Auto-Discovery)” とは

WPAD は、クライアントにプロキシの設定を自動配布するための方法として開発された技術です。

プロキシの設定はネットワーク管理者が DHCP サーバーや DNS サーバーに対して行います。クライアント (IE) 側では [設定を自動的に検出する] のチェックをオンにするだけで OK です。

これによりユーザーにプロキシ サーバー設定の手間をかけることなく、管理者がプロキシ サーバー経由の通信を管理できます。

 

[設定を自動的に検出する] のチェックがオンであると、IE はネットワーク管理者が DHCP サーバーや DNS サーバーに登録した自動構成スクリプトの宛先を「自動的に検出」して取得します。

そして、取得した自動構成スクリプトに記載された条件に従ってプロキシを利用します。

 

以下の順でスクリプトファイルの格納場所を検出します。

a. DHCP サーバーへ問い合わせ

b. DNS サーバーへ問い合わせ

c. NetBIOS 名を用いた問い合わせ

 

まず DHCP の “DHCPINFORM” プロトコルを使って自動構成スクリプトの URL を取得しようとします。

この取得に失敗した場合は、”wpad” というホスト名に対して HTTP 通信で “/wpad.dat” というファイルの取得を試みます。

wpad.dat というファイル名は固定ですが、ファイルの中身自体は一般的に .pac という拡張子が使われる自動構成スクリプトです。

ホスト名の解決は、DNS → NetBIOS の順に問合わせを行います。

DNS サーバーへの問い合わせは、具体的には以下の手順で行います。ここでは例として、クライアントのコンピュータ名が PC01.example.contoso.com とします。
[2016/10/12 修正加筆]

i. http://wpad.example.contoso.com/wpad.dat へ問い合わせを行う

ii. http://wpad.contoso.com/wpad.dat へ問い合わせを行う

iii. http://wpad.com/wpad.dat へ問い合わせを行う

※ DHCP サーバーにて DHCPINFORM オプションが定義されていない場合のみ、DNS サーバーへの問い合わせを行います。DHCPINFORM オプションが定義されていた場合は、DNS サーバーへの問い合わせは行いません。

※ Windows 7 + Internet Explorer 11 の組み合わせでは、i. の問い合わせのみ行い、ii. の問い合わせは行いません。

 

DHCP および DNS でスクリプト ファイルの場所が特定できない場合、NetBIOS 名を使用し「wpad.dat」ファイルの問い合わせを行います。

以下の弊社ブログにも情報がありますので、併せてご覧ください。

Insight WPAD proxy setting on IE

http://blogs.msdn.com/b/asiatech/archive/2012/08/15/insight-wpad-proxy-settings-on-ie.aspx

 

また、プロキシ サーバーの設定については以下のブログ記事をご覧ください。

LAN のプロキシ サーバーの設定について

http://blogs.technet.com/b/jpieblog/archive/2014/10/08/3636387.aspx

 

DHCP サーバーを使う方法

DHCP サーバーに対してプロキシ設定の自動配布の設定を行うには、コード番号 252 の新しい種類のオプションを作成し、自動構成スクリプト ファイルの URL を設定します。

具体的な手順は以下をご覧ください。(ここでは Windows Server 2012 R2 の画面を例としていますが、これ以前のバージョンでも同様です)

 

 

上図のように、[IPv4] を右クリックし [既定のオプションの設定] をクリックします。

 


[既定のオプションと値] ダイアログで、[追加] ボタンをクリックします。

 


[名前] は、任意の文字列を入力します。

[データ型] は、”文字列” を選択します。

[コード] は、 252 と入力します。

[説明] は、任意の文字列を入力します。

入力後 [OK] ボタンをクリックします。

 


[既定のオプションと値] ダイアログに戻りますので、[オプション名] に今追加した コード 252 が選択されていることを確認し、[文字列] の部分に自動構成スクリプト ファイルの URL を入力します。

[OK] ボタンをクリックします。

 


[スコープ オプション] を右クリックし、[オプションの構成] をクリックします。

 


[スコープ オプション] ダイアログで、[全般] タブの [利用可能なオプション] から先ほど追加したコード 252 を選択します。

[文字列の値] に先ほど設定したものが表示されていることを確認し、[OK] ボタンをクリックします。

 


オプションに、コード 252 の設定ができたことを確認します。

DNS サーバーを使う方法

DNS サーバーに対してプロキシ設定の自動配布の設定を行うには、まず、”wpad.dat” というファイル名で Web サーバーのルート ディレクトリに自動構成スクリプト ファイルを格納します。
次に、「wpad」という名前の DNS レコード (A レコードまたは CNAME レコード) を登録します。
以下に Windows Server 2012 R2 の画面での手順をまとめましたのでご参照ください。



[前方参照ゾーン] に A レコードを追加します。

 


[名前] には、”wpad” を入力します。
[IP アドレス] は、wpad.dat を配置した Web サーバーの IP アドレスを入力します。(この例では 192.168.1.1 としています)

 

(2014/11/14 追記)

Windows Server 2008 から既定で wpad というホスト名の問い合わせを拒否します。

このため Windows Server 2008 以降で DNS を使用して WPAD を構成する場合は、以下の技術情報を参考にグローバル クエリ禁止リストを更新する必要があります。

 

グローバル クエリ禁止リストを管理する
http://technet.microsoft.com/ja-jp/library/cc794902(v=WS.10).aspx

DNS 禁止リストからの WPAD の削除
https://technet.microsoft.com/ja-jp/library/cc441517.aspx

 

Smart WPAD について

Windows 7 環境の IE8 以降では、Smart WPAD と呼ばれる機能があります。
Windows 7 より前の環境の IE では、WPAD による pac ファイルが『利用できない』ネットワーク環境においても [設定を自動的に検出する] が有効な場合に検出処理を行うため、IE 起動直後の初回のページ表示が遅いという報告が寄せられていました。

(2014/11/13 申し訳ございません。以下を訂正いたしました。)
Smart WPAD の機能は処理の高速化のための機能であり、OS のネットワーク識別機能を利用し「WPAD により pac ファイルが取得できなかった環境」では同ネットワーク環境下において 30 日間検出を試みないようにするというものです。

Smart WPAD は、高速化のために、ネットワーク識別子ごとにかつての WPAD 解決結果を 30 日間保持する機能です。
解決結果には取得できなかった場合も含まれるので、”WPAD を使わない” という結果も保持されます。
WPAD 解決ができた場合は、解決した URL を保持します。
一度 WPAD が使用できないネットワークと判断された場合、そのネットワークに対して 30 日間は WPAD を使用しないように動作します。

 

こちらのブログ記事も併せてご覧ください!

Internet Explorer Big Changes! (2) – Smart WPAD 機能 (IE8 ~)

http://blogs.technet.com/b/jpieblog/archive/2013/11/15/3611196.aspx

Comments (1)

  1. Anonymous より:

    こんにちは。 Internet Explorer サポート チームの片岡です。
    先日以下のブログでご紹介した WPAD に関連し、今回は 自動構成スクリプト ( PAC) ファイルによるプロキシ設定についてご紹介いたします

Skip to main content