• 締切済み

WPADについて教えてください

家庭内で  パソコン-市販ルータ-インターネット という環境でネットに接続をしています。 パソコンにはプライベートipがルータから割り振られているだけでドメイン名はありません。 パソコンのInternet Explorerの[ローカルエリアネットワーク(LAN)の設定]で 「設定を自動的に検出する」にチェックを入れ、プロキシサーバを自動的に検出するWPADが 有効になっている場合について教えてください。 この場合、 まずはルーター配下のLAN内でWPADが ○DHCP サーバを利用する ○DNSを利用する の2通りの経路でプロキシサーバーを探す。 ○DHCP サーバを利用する パソコンにプライベートIPを割り振りDHCPサーバとして機能している市販のルータには通常プロキシサーバーの設定情報はないので、ここではプロキシサーバーを見つけられない。 ○DNSを利用する ルータを含めたLAN内の端末にはドメイン名がないので、「wpad.<ドメイン名>」を見つけられない。 したがってプロキシサーバーも見つけられない。 結果 ○DHCP サーバを利用する ○DNSを利用する の2つの経路を利用しても、LAN内ではプロキシサーバーを見つけられない。 次にWPADはインターネット上でプロキシサーバを探し出す。 ○プロバイダのDHCP サーバを利用する プロバイダのDHCPサーバには、通常プロキシサーバーの設定情報はないので、ここではプロキシサーバーを見つけられない。 ○プロバイダのDNSを利用する プロバイダが提供するグローバルIPアドレスにはドメイン名があるが、通常は「wpad.<ドメイン名>」をプロバイダは用意していない。 したがって、プロキシサーバーを見つけられない。 結果 ○プロバイダのDHCP サーバを利用する ○プロバイダのDNSを利用する の2つの経路を利用しても、インターネット上ではプロキシサーバーを見つけられない。 以上より、パソコンのInternet Explorerの[ローカルエリアネットワーク(LAN)の設定]で 「設定を自動的に検出する」にチェックを入れ、プロキシサーバを自動的に検出するWPADが 有効になっていても、 LAN内、インターネット上のどちらからもプロキシサーバーを見つけられず、プロキシサーバーの設定はなされない。 このように考えているのですが、正しいでしょうか? 参考にしたページ http://www.monyo.com/technical/windows/06.html

みんなの回答

  • maesen
  • ベストアンサー率81% (646/790)
回答No.6

>LAN内の端末の(ホスト名+ドメイン名)と(IPアドレス)の組み合わせ >または >LAN内の端末の(ホスト名)と(IPアドレス)の組み合わせ >は記録されているのでしょうか? 正確に言うとWindows側の設定と、ルータの機能及び設定次第ということになります。 ※DNS動的更新という機能がありまして、クライアント側からDNSサーバにレコード情報を登録することが出来ます。 ※WindowsはデフォルトでDNS動的更新がオンになっています。 ※家庭用ルータでDNS動的更新サポートしていることはおそらくないでしょう。 以上から現実的には記録されていないということになります。 ただし、ルータによってはDNSサーバ機能で静的レコードが登録できるものもありますのでこちらは設定次第ということになります。 >またLAN内の端末の(ホスト名)と(IPアドレス)の組み合わせがDNSサーバーに記録されている場合 >LAN内のパソコンから NETBIOS over TCP/IP のブロードキャスト や LLMNR のマルチキャストによる名前解決の要求があると、DNSサーバーは応答を返すのでしょうか? >そして名前解決出来ない時は、プロバイダーのDNSサーバーにつないでしまうのでしょうか? DNSとNetBIOS、LLMNRは全く別のものです。 従ってDNSサーバがNetBIOS、LLMNRに応答を返すことはありません。 ただし、ルータはDNSサーバのみを機能しているわけではありませんので、NetBIOS、LLMNRに応答が全く返らないかと言われるとそれはルータ次第です。 この場合、応答を返すのはルータ自身のホスト名に対する名前解決だけになるはずですが。 また、NetBIOS、LLMNRで名前解決できないものをルータがDNSで名前解決を試みるようなことはありません。 余談ですが、 Windowsの名前解決はDNS、NetBIOS、LLMNRなどを組み合わせて実施されます。 名前解決の優先順位も設定によりますが決まっています。 だから、どのプロトコルで名前解決できたものかは見た目上ではわかりません。 (詳しく調べればわかりますが) DNSの名前解決はDNSサーバに登録されている情報を検索して返すだけで実際に応答を返すのは1台のDNSサーバです。 (経由しているDNSサーバは右から左へ流すだけ) NetBIOS、LLMNRはブロードキャスト又はマルチキャストで範囲内のすべてのクライアントに問い合わせて該当する1台が直接応答を返します。

toryua
質問者

補足

>※DNS動的更新という機能がありまして、クライアント側からDNSサーバにレコード情報を登録することが出来ます。 ※WindowsはデフォルトでDNS動的更新がオンになっています。 windowsのDNS動的更新とは http://www.atmarkit.co.jp/fwin2k/win2ktips/358disableupdate/disableupdate.html http://www.atmarkit.co.jp/fwin2k/win2ktips/358disableupdate/screen03.gif の画像の2の[この接続のアドレスをDNSに登録する(R)]の事だと思います。 LAN内ではドメイン名がなく、パソコンのホスト名が存在するだけの場合でも そのパソコンは この接続のアドレス([ドメイン名がなくホスト名のみ]と[プライベートIPアドレス]の組み合わせ)をDNSサーバーに登録しようとするのでしょうか? パソコンにDNSサフィックスは登録されていないとします。 >ただし、ルータによってはDNSサーバ機能で静的レコードが登録できるものもあります LAN内ではドメイン名が存在せず、パソコンのホスト名が存在するだけの場合でも LAN内のパソコンの[ドメイン名がなくホスト名のみ]と[プライベートIPアドレス]の組み合わせを静的レコードとしてDNSサーバーとして機能しているルーターに登録することは可能なのでしょうか? パソコンにDNSサフィックスは登録されていないとします。

  • maesen
  • ベストアンサー率81% (646/790)
回答No.5

元の質問が >ただLAN内にホスト名でたまたま(可能性はかなり低いですが)wpadという端末があれば、どのようになるのでしょうか? ということでしたので、たまたまwpadの名前解決が成功してしまった場合のその後の動作がどうなるのかという疑問点があるのかと思いその例を回答したのですが。 一般的にはプロバイダのDNSサーバは単一ラベルの問合せは名前解決を行わないと思います。 ただ、DNSサーバの機能としては単一ラベルの名前解決をする機能がありますので、設定次第ではドメインが付いていないwpadに正常応答を返すことは可能です。 プロバイダのDNSサーバがこんな設定をしている可能性は低いと思いますが。

toryua
質問者

お礼

>ということでしたので、たまたまwpadの名前解決が成功してしまった場合のその後の動作がどうなるのかという疑問点があるのかと思いその例を回答したのですが。 wpadというホスト名がLAN内にある場合は、LAN内のDNSサーバーで解決されるのではなくて、プロバイダーのDNSサーバーにフォーワードされて、そのプロバイダのDNSサーバーではドメイン名がないwpadでも名前解決が出来ると勘違いしてしまいました。 困惑させてしまい申し訳ございませんでした。

toryua
質問者

補足

家庭内のルーターがLAN内でDNSサーバーとして機能している時(LAN内のパソコンでipconfig/allを打ち込むと、DNSサーバーの項目のプライベートIPがルーターになっている時)、そのDNSサーバーには LAN内の端末の(ホスト名+ドメイン名)と(IPアドレス)の組み合わせ または LAN内の端末の(ホスト名)と(IPアドレス)の組み合わせ は記録されているのでしょうか? またLAN内の端末の(ホスト名)と(IPアドレス)の組み合わせがDNSサーバーに記録されている場合 LAN内のパソコンから NETBIOS over TCP/IP のブロードキャスト や LLMNR のマルチキャストによる名前解決の要求があると、DNSサーバーは応答を返すのでしょうか? そして名前解決出来ない時は、プロバイダーのDNSサーバーにつないでしまうのでしょうか? (ホスト名・ドメイン名の用語の定義については、ホスト名+ドメイン名=FQDN とします。)

  • maesen
  • ベストアンサー率81% (646/790)
回答No.4

私の説明が不十分でうまく伝わっていないようで申し訳ないのですが。 質問者さんの環境で利用できるDNSサーバは、プロバイダのDNSサーバだけです。 ルータはDNSクエリを受付ますが何もせず右から左に受け流すだけです。 もちろんルータがLAN内のホスト名を管理しているわけでもありません。 だから、インターネット上ではとかLAN内ではと分けている考え方が違うのです。 質問者さんの環境では、すべてのDNS名前解決の応答を返すのはプロバイダDNSです。 DNS名前解決がLAN内で閉じることはありません。 LAN内のホスト名が引けるのは、NetBIOSやLLMNR等の別のプロトコルのおかげでDNSではありません。 >ただLAN内にホスト名でたまたま(可能性はかなり低いですが)wpadという端末があれば、どのようになるのでしょうか? これはプロバイダDNSからwpadのクエリに応答があった場合と読み替えれば 質問者さんが参考にしたURLに書いてある通り、 http://<解決したIPアドレス>/wpad.dat のアクセスが行われます。 これにも応答があれば応答を解析して、更に内容に不具合が無ければプロキシとして設定されることになります。

toryua
質問者

補足

LAN内のパソコンを起動させた時には、すべてプロバイダのDNSサーバーで「wpad.<ドメイン名>」の名前解決が行われることはようやく理解できました。 ただ、LAN内のパソコンでドメイン名(サフィックス)が全くないケースだと No.3の ==================================== クライアントにドメインを全く設定していなければ単一ラベル(ドメインが付かない)名前解決のクエリがルータを経由してプロバイダのDNSサーバに問い合わせされ、プロバイダのDNSサーバは単一ラベルのwpadには否定応答を返すという流れのみだと思います。 ==================================== のように,クエリは「wpad.<ドメイン名>」ではなく、ドメインが付かない[wpad]のみとなり、プロバイダのDNSサーバーは否定応答を返すのみだと思うのですが、 No4では ==================================== これはプロバイダDNSからwpadのクエリに応答があった場合と読み替えれば 質問者さんが参考にしたURLに書いてある通り、 http://<解決したIPアドレス>/wpad.dat のアクセスが行われます。 ==================================== とあり、クエリは「wpad.<ドメイン名>」ではなく、ドメインが付かない[wpad]のみなのに、プロバイダのDNSサーバーは否定応答をせず、http://<解決したIPアドレス>/wpad.dat のアクセスが行われるとあります。 これはどういうことでしょうか?

  • maesen
  • ベストアンサー率81% (646/790)
回答No.3

DHCP側の認識については概ね正しいと思います。 DNSについては説明が悪く回答の意図が伝わっていないようです。 >まずはルーター配下のLAN内でWPADが >○DNSを利用する >次にWPADはインターネット上でプロキシサーバを探し出す。 >○プロバイダのDNSを利用する と書いていますが、質問者さんが想定している環境では上のDNSは結果として同じDNSサーバになります。 だから、書かれているような順番で名前解決とはならないと言いたかったわけです。 >LAN内の私のパソコンにはルーターを含めてドメイン名自体がないので、[wpad.<ドメイン名>]自体がLAN内に存在せず、LAN内ではプロキシ設定情報がどこに存在するのかがそもそも分からず、プロキシ設定はされないと思います。 クライアント側がホスト名のみの名前解決を行おうとした場合、 DNS名前解決は単純にクライアント側のプライマリDNSサフィックスとサフィックス検索一覧及びその扱いの設定にてクエリする名前が決定します。 wapdの名前解決はホスト名のみの名前解決をしようとするので、ここを理解するするためには DNS名前解決でホスト名のみを名前解決しようとした場合どのようにDNSにクエリされるか、 また、DNSサーバは自分が管理しているドメインの場合及び管理していないドメインの場合でどのような応答を返すかを理解していないと混乱すると思います。 質問者さんの環境の場合、クライアントにドメインを全く設定していなければ 単一ラベル(ドメインが付かない)名前解決のクエリがルータを経由してプロバイダのDNSサーバに問い合わせされ、 プロバイダのDNSサーバは単一ラベルのwpadには否定応答を返すという流れのみだと思います。 >ルータDNSがLAN内のパソコンからの「wpad.<ドメイン名>」についてのDNSの問い合わせをフォワードしてプロバイダのDNSサーバーにつなぎ、インターネット上の「wpad.<ドメイン名>」という名前を解決しようとするケースです。 クライアントに何らかのDNSサフィックスが設定された場合にはこのようになります。 従って、サフィックスの設定次第では、本来設定されるべきではないプロキシが設定される場合が無いとは限りません。 その辺のwpadの脆弱性に関連する参考サイトを載せておきます。 http://jprs.jp/tech/notice/2007-12-21-Web-Proxy-Auto-Discovery-alert.html

toryua
質問者

補足

LAN内のパソコンにはサフィックスは全く設定していません。 またルーターではLAN内にドメイン名を設定していません。 この場合、DNS経由でのプロキシ設定の検出は、 インターネット上では 「wpad.<ドメイン名>」についてのDNSの問い合わせは、ドメイン名がないために[wpad]となり、プロバイダのDNSサーバは単一ラベルのwpadには否定応答を返す、ということになると思います。 LAN内では、 「wpad.<ドメイン名>」についてのDNSの問い合わせは、LAN内の端末(パソコンだけではなくルーターも含む)にドメイン名がないために[wpad]となる。 その時に、LAN内にホスト名でwpadという端末(パソコンだけではなくルーターも含む)がなければ、プロキシ設定は検出出来ずに終わると思います。 ただLAN内にホスト名でたまたま(可能性はかなり低いですが)wpadという端末があれば、どのようになるのでしょうか? インターネット上と同じく、単一ラベルのwpadには否定応答を返し、プロキシ設定は検出出来ずに終わるのでしょうか?

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

そもそも家庭用のネット環境ではインターネットへの出口が1つしかないでしょうし プロクシの設定もされていないでしょうからwpadを気にする必要がありません。 普通にルータ経由で外に出ていけばよいでしょうし、なんらかの理由でプロクシを 通したいということであれば直にプロクシの情報を書き込んでしまえばよいでしょう。

toryua
質問者

補足

パソコンのInternet Explorerの[ローカルエリアネットワーク(LAN)の設定]で 「設定を自動的に検出する」にチェックを入れていた場合、 DNS経由で、インターネット上でプロキシ設定を検出し、インターネット上のプロキシサーバーをパソコンに登録することはないのでしょうか?

  • maesen
  • ベストアンサー率81% (646/790)
回答No.1

WPADというよりもDHCP及びDNSについて勘違いがあるように思います。 まず、CATVインターネットのようにIPアドレスの配信をDHCPで行っている環境にPCを直結しているような場合を除き、 プロバイダのDHCPサーバという部分はありませんのでこれは間違いということになります。 また、DHCPサーバにWPADを探しにいくのではなく、DHCPからIPアドレスを取得する際にオプション情報をしてWPADの情報が乗っかってくるだけです。 WPADのオプション情報が乗っかってこない場合はWPAD設定がDHCPサーバにされていないということ。 それとDNSですがLAN内に別途DNSサーバを立てている場合は、「LAN内のDNS」→「プロバイダのDNS」と問い合わせる場合もありますが、 この場合も一般的には「LAN内のDNS」がLAN内のドメインを管理しているので「プロバイダのDNS」への問い合わせは出ないことになります。 質問者さんが想定しているルータがDNSの場合は、大抵のルータDNSはDNSの問い合わせをフォワードするだけで自身が名前解決を行いません。

toryua
質問者

お礼

DHCPサーバの場合ではパソコンがWPAD情報を自ら探しにいくのではなく、 DHCPサーバーからWPAD情報を受け取った時に、 Internet Explorerの[ローカルエリアネットワーク(LAN)の設定]で「設定を自動的に検出する」にチェックを入れている時には、プロキシ設定を検出しプロキシ設定をする。 Internet Explorerの[ローカルエリアネットワーク(LAN)の設定]で「設定を自動的に検出する」にチェックを入れていない時には、プロキシ設定を受け取っていてもプロキシ設定をしないということですね。

toryua
質問者

補足

>質問者さんが想定しているルータがDNSの場合は、大抵のルータDNSはDNSの問い合わせをフォワードするだけで自身が名前解決を行いません。 DNS経路でのプロキシ設定検出についてですが、 Internet Explorerの[ローカルエリアネットワーク(LAN)の設定]で「設定を自動的に検出する」にチェックを入れている時に LAN内の私のパソコンにはルーターを含めてドメイン名自体がないので、[wpad.<ドメイン名>]自体がLAN内に存在せず、LAN内ではプロキシ設定情報がどこに存在するのかがそもそも分からず、プロキシ設定はされないと思います。 ただLAN内とは異なりインターネット上では「wpad.<ドメイン名>」という名前を解決しようとすることは考えられますでしょうか? ルータDNSがLAN内のパソコンからの「wpad.<ドメイン名>」についてのDNSの問い合わせをフォワードしてプロバイダのDNSサーバーにつなぎ、インターネット上の「wpad.<ドメイン名>」という名前を解決しようとするケースです。