Windowsのプロキシ設定を開くと、いちばん上に「設定を自動的に検出する」というスイッチがあります。多くのPCではこれが最初からオンになっていて、会社のネットワークにつなぐだけでプロキシの設定が入ることがあります。その裏で動いているのが WPAD(ダブリューパッド、Web Proxy Auto-Discovery)です。
この記事では、WPADがDHCPとDNSを使ってプロキシの設定を見つける仕組みを、企業の構成図とシーケンスで説明します。利用者から見るとどう動くのか、管理者は何を用意し、どんな制限やセキュリティ上の注意があるのかもあわせて整理します。
- WPADとは何か、PACファイルとの関係
- DHCP(オプション252)とDNS(wpad)での探し方
- 企業での構成と、管理者が用意するもの
- 利用者から見た動きと、OS・ブラウザによる違い
- 制限とセキュリティ上の注意、ほかの配り方との使い分け
この記事は、WPADの仕様案(IETFのインターネットドラフト)と、Microsoft、Google(Chromium)、Mozilla、Apple などが公開しているドキュメントを参考に、WPADに共通する考え方をまとめたものです。WPADは正式な標準になっておらず、OSやブラウザ、バージョンによって動きが違います。実際の環境での動作は、各製品のドキュメントで確認してください。
WPADを一言でいうと
WPADは、PCが「プロキシの設定ファイル(PACファイル)がどこにあるか」を自分で探す仕組みです。PACファイルには「社内のサイトは直接、それ以外はプロキシ1号機へ」のような、行き先ごとのルールが書かれています。WPADが探すのはあくまでPACファイルの場所で、どのプロキシを使うかはPACファイルの中身で決まります。
新しく入った社員が、受付(DHCP)や案内板(DNS)で「Webに出るときのルール集はここにあります」と教わるイメージです。PCにプロキシのアドレスを1台ずつ設定しなくても、ネットワークにつなげば設定がそろいます。
WPADは1999年にIETFでインターネットドラフト(仕様の案)として出されましたが、正式なRFCにはならないまま期限が切れています。それでも、WindowsやmacOS、主要なブラウザが実装していて、今も企業ネットワークで使われています。標準がないため、細かい動きはOSやブラウザごとに違う点を押さえておいてください。
WPADの2つの探し方:DHCPとDNS
PCがPACファイルの場所を探す方法は、実際にはDHCPとDNSの2つです。
DHCPで探す(オプション252)
DHCPサーバに「オプション252」としてPACファイルのURLを設定しておき、PCがそれを受け取ります。URLをそのまま教えるので、ホスト名、ポート番号、ファイル名を自由に決められます。252番は、DHCPの番号のうち「各組織で自由に使ってよい範囲」にあり、正式に割り当てられた番号ではなく、WPADの慣習として使われています。
DNSで探す(wpad という名前)
PCが、自分のドメイン名の前に wpad を付けた名前をDNSで引き、見つかったサーバから http://wpad.ドメイン名/wpad.dat を取りに行きます。こちらはポート80とファイル名 wpad.dat が決まっています。Windowsの場合、見つからなければドメイン名を1段ずつ短くしながら探し、既定では2段(example.com のような形)まで来たところで止まります。ChromeやFirefoxは、ドメインを短くせず、wpad という名前をOSのDNSサフィックスで補って引きます。
両方あるときはDHCPが先
WindowsのWinHTTPやChromeは、まずDHCPを試し、DHCPで見つからなければDNSを試します。両方を設定した場合は、DHCPで受け取ったURLが使われます。
| 比べること | DHCP(オプション252) | DNS(wpad) |
|---|---|---|
| 教えるもの | PACファイルのURLそのもの | wpad という名前のIPアドレス |
| URLの自由度 | ホスト名・ポート・ファイル名を自由に決められる | ポート80、ファイル名 wpad.dat に固定 |
| 届く範囲 | そのDHCPサーバからアドレスをもらう端末だけ | 同じDNSドメインを使う端末 |
| 届かない端末 | 固定IPの端末、VPNでつなぐ端末など | DNSサフィックスが違う端末 |
| 対応状況 | OSやブラウザによっては使わない(次の章を参照) | 多くのOS・ブラウザが対応 |
企業での構成と、管理者が用意するもの
WPADを使う企業の、典型的な構成です。PCの自動検出はオンのままにしておき、DHCPかDNSのどちらか(または両方)でPACファイルの場所を知らせます。PACファイルは社内のWebサーバに置き、止まらないように2台で持つのが一般的です。
| 用意するもの | 内容 |
|---|---|
| PACファイル | 行き先ごとにどのプロキシを使うかを書いたファイル。DNS方式では名前を wpad.dat にする |
| Webサーバ | PACファイルを置き、認証なしで取得できるようにする。MIMEタイプを application/x-ns-proxy-autoconfig にする |
| DHCPサーバ | (DHCP方式)オプション252を作り、PACファイルのURLを文字列で設定する |
| DNSサーバ | (DNS方式)PCのドメインごとに wpad という名前のレコードを作り、Webサーバに向ける |
| PC側の設定 | 「設定を自動的に検出する」をオンにしておく(Windowsは既定でオン) |
DHCPサーバにオプション252を設定する
Windows Server のDHCPサーバでは、オプション252は最初から用意されていません。サーバを右クリックして「定義済みのオプションの設定」から追加し(コード252、データ型は文字列)、そのあとサーバオプションやスコープオプションで値にURLを入れます。ISC DHCPのような設定ファイル型のDHCPサーバでは、次のように書きます。
ISC DHCP の設定例(dhcpd.conf)
# 252番を「wpad」という名前の文字列オプションとして定義する option wpad code 252 = text; subnet 10.0.10.0 netmask 255.255.255.0 { range 10.0.10.100 10.0.10.200; option wpad "http://pac.corp.example.com/wpad.dat"; }
DNSに wpad のレコードを作る
DNS方式では、PCが使うドメインに wpad という名前のレコードを作り、PACファイルを置いたWebサーバのアドレスに向けます。
DNSのゾーンファイルの例(corp.example.com)
; wpad.corp.example.com を PAC を置いた Web サーバに向ける wpad IN A 10.0.0.50
Windows Server のDNSサーバには「グローバルクエリブロックリスト」という機能があり、既定で wpad と isatap の名前には応答しないようになっています。wpadのレコードを作っても返ってこない場合は、このリストから wpad を外す必要があります。なりすましを防ぐための機能なので、外すときは正しいwpadレコードを必ず登録しておきます。
WebサーバにPACファイルを置く
PACファイルは、JavaScriptの関数で書いたテキストファイルです。中身の書き方はDHCP方式でもDNS方式でも同じです。
PACファイルの例(wpad.dat)
function FindProxyForURL(url, host) {
// 社内のサイトはプロキシを通さない
if (isPlainHostName(host) || dnsDomainIs(host, ".corp.example.com")) {
return "DIRECT";
}
// それ以外は1号機、だめなら2号機
return "PROXY proxy1.corp.example.com:8080; PROXY proxy2.corp.example.com:8080";
}
Webサーバによっては、知らない拡張子のファイルを返さないものがあります。たとえばIISでは、拡張子 .dat にMIMEタイプを登録しておかないと、PACファイルを取得できません。
動きをシーケンスで見る
DHCPにオプション252がなく、DNSで見つかる場合の流れです。PCは自動でこの手順をこなし、利用者が何かを操作することはありません。
PCはまずDHCPサーバにオプション252を問い合わせます。なければDNSで wpad の名前を引き、返ってきたWebサーバから wpad.dat を取得します。そのあとは、アクセスのたびにPACファイルの関数で行き先ごとのプロキシを決めます。見つけたPACの場所や中身は、しばらくのあいだ覚えておいて使い回します(どれくらい覚えるかはOSやブラウザによって違います)。
利用者から見たWPAD
利用者にとってWPADの良いところは、何も設定しなくてよいことです。会社のネットワークにつなげばプロキシ経由になり、自宅のようにWPADが見つからない場所では、プロキシを使わず直接インターネットに出ます。同じPCを持ち歩いても、場所に合わせて自動で切り替わります。
一方で、見つからない場所では探すのに時間がかかり、最初のページが開くまで数秒待たされることがあります。また、ネットワークを移ってもPCが前の結果を覚えていて、しばらくつながりにくくなることもあります。
OS・ブラウザによる違い
WPADには正式な標準がないので、対応の仕方はOSやブラウザによって違います。主なものは次のとおりです(2026年10月時点の公開情報をもとにした目安です)。
| OS・ブラウザ | 自動検出の扱い | 使う方法 |
|---|---|---|
| Windows | 「設定を自動的に検出する」が既定でオン | DHCP → DNS の順 |
| Edge・Chrome(Windows) | OSの設定に従う | DHCP → DNS の順 |
| Chrome(Windows・ChromeOS以外) | OSの設定に従う | ブラウザ自身はDNSのみ。OSが見つけたPACを使うこともある |
| Firefox | OSの設定に従うか、「このネットワークのプロキシ設定を自動検出する」を選ぶ | DNS。WindowsではDHCPも使う |
| macOS | 「プロキシ自動検出」をオンにしたときに使う | DHCPとDNS |
| iOS・iPadOS | プロキシを「自動」にし、URLを空にしたときに使う | DHCPとDNS |
| Android | 設定画面に自動検出の項目がない | PACのURLを直接指定する |
管理者から見た制限と注意点
| ポイント | 起きること | 対策の例 |
|---|---|---|
| 標準ではない | OSやブラウザで探し方、待ち時間、覚えておく時間が違う | 社内で使う端末の組み合わせで動作を確かめる |
| DHCP方式が届かない端末 | 固定IPの端末、VPNでつなぐ端末、DHCPを使わないOSはオプション252を受け取れない | DNS方式を併用する。管理ツールでPACのURLを配る |
| DNS方式の固定ルール | ポート80、ファイル名 wpad.dat でないと見つからない | Webサーバの設定とファイル名を合わせる |
| DNSサーバのブロックリスト | Windows Server のDNSは既定で wpad に応答しない | ブロックリストから wpad を外し、正しいレコードを登録する |
| Webサーバの設定 | MIMEタイプ未登録や認証の要求があると、PACを取得できない | MIMEタイプを登録し、認証なしで取得できるようにする |
| PACが取れないとき | PACを置いたWebサーバが止まると、プロキシの設定が入らない | Webサーバを2台にする(DNSラウンドロビンやロードバランサ) |
| プロキシの切り替え | PACに複数のプロキシを書くと、ブラウザは順番に試す。ただし、OSの機能を直接使う一部のアプリは先頭のプロキシしか使わないことがある | プロキシ側も冗長化しておく |
| 変更の反映 | PCが前の結果を覚えているので、PACを直してもすぐには反映されない | 変更は余裕を持って行い、反映までの時間を見込む |
古いWindows向けの資料では、他社製のDHCPサーバでオプション252を設定すると、URLの最後の1文字が欠けて読み込まれる(wpad.dat が wpad.da になる)という問題が報告されています。対策として、URLの最後に空白を1つ付ける方法が紹介されていました。うまく取得できないときは、Webサーバのアクセスログで、PCがどのURLを取りに来ているかを確認してください。
うまく動かないときに確認すること
| 確認方法 | 分かること |
|---|---|
| netsh winhttp show advproxy | Windows(WinHTTP)のプロキシ設定と、自動検出の設定 |
| edge://net-internals/#proxy | Edgeが今使っているプロキシ設定やPACのURL(Chromeは chrome://net-internals/#proxy) |
| edge://net-export | Edgeの通信ログ。WPADでPACを探す様子も記録される |
| nslookup wpad | PCのDNSサフィックスで wpad の名前が引けるか |
| Webサーバのアクセスログ | PCが wpad.dat を取りに来ているか、どのURLで来ているか |
セキュリティ上の注意:なりすまし
WPADは「wpad という名前に答えた相手から、プロキシの設定をもらう」仕組みです。そのため、攻撃者が wpad になりすまして偽のPACファイルを渡すと、PCの通信をまるごと攻撃者のプロキシに通させることができます。プロキシの認証に使う情報を盗まれるおそれもあります。
2016年には、社外のDNSに wpad の問い合わせが漏れて、第三者が登録したドメインに届いてしまう「名前の衝突」の問題について、米国のUS-CERTや日本のJPCERT/CC(JVN)が注意を呼びかけました。同じ年、Windowsでは、wpadの名前をLAN内のNetBIOSで探しに行く動きが、修正プログラムで既定では止められています。
| 対策 | 内容 |
|---|---|
| 使わないならオフにする | WPADを使っていない環境では、OSやブラウザの自動検出をオフにする。Windows 10 バージョン1809以降には、WPADを止める設定もある |
| 使うなら正しい wpad を登録しておく | 社内DNSに正しいwpadのレコードを登録し、ほかの機器がその名前を名乗れないようにする |
| LAN内の名前解決を絞る | LLMNRやNetBIOS over TCP/IPを無効にし、DNS以外で名前を探さないようにする |
| 偽のDHCPサーバを防ぐ | スイッチのDHCPスヌーピングで、許可したDHCPサーバ以外の応答を止める |
| 社内のドメイン名を管理する | 社内で使うドメインは、自社が登録・管理しているドメインにする |
| 外向きの wpad.dat を監視する | ファイアウォールやプロキシで、社外への wpad.dat の要求を記録・遮断する |
WPAD以外の配り方との使い分け
PACファイルの場所は、WPADで探させるほかに、管理ツールで直接配ることもできます。会社が管理している端末なら、グループポリシーやMDM(モバイル端末管理)でPACのURLを指定するほうが、どの端末に何を配ったかがはっきりし、なりすましの心配もありません。
| 配り方 | 向いている場面 | 注意点 |
|---|---|---|
| WPAD(DHCP・DNS) | 設定を配れない端末も含め、ネットワークにつないだ端末へまとめて設定したい | 標準ではなく動きに差がある。なりすまし対策が要る |
| グループポリシー・MDMでPACのURLを配る | 会社が管理しているWindows・Mac・スマートフォン | 管理ツールに入っていない端末には届かない |
| エージェント(クラウドのプロキシ) | 社外でも会社と同じルールで使わせたい | エージェントの配布と管理が要る |
| 手動設定 | 台数が少ない、検証用の端末 | 台数が増えると管理できない |
実際には、管理している端末にはポリシーでPACのURLを配り、WPADは使わないならオフにしておく、という組み合わせがよく見られます。WPADを使う場合は、この記事の構成と対策をひととおりそろえておくと安心です。
まとめ
WPADは、PCがDHCPやDNSを使ってPACファイルの場所を自分で探す仕組みです。利用者は何も設定しなくてよい一方、標準がないため動きに差があり、なりすましへの対策も欠かせません。
| 内容 | |
|---|---|
| 何をするか | PACファイル(プロキシのルール)の場所を自動で探す |
| 探し方 | DHCPのオプション252 → DNSの wpad の順 |
| 管理者が用意するもの | PACファイル、Webサーバ(MIMEタイプ)、DHCPのオプション252またはDNSのwpadレコード |
| 利用者から見ると | 設定不要。社内ではプロキシ経由、社外では直接。見つからない場所では待たされることがある |
| 主な注意点 | OS・ブラウザの差、DNSのブロックリスト、PACの冗長化、なりすまし対策 |
コメント