web-dev-qa-db-ja.com

プロキシが構成されているときにDNSをローカルで解決する方法は?

プロキシを設定し、[設定]-> [ネットワーク]-> [プロキシ]で[ http://google.com "にアクセスしようとすると、名前解決(google.comのIP)が発生します。 、プロキシサーバーで...

この動作を変更するにはどうすればよいですか?

つまり、プロキシにアクセスする前に、デスクトップでDNSをローカルで解決する必要があります。

しかし、なぜ?

このように、「プロキシを必要としない多数のサブネット(IPv4/IPv6)を持つホストを無視する」を構成し、Ubuntuは最初に以下を行う必要があります。

1- DNSをローカルで解決します(つまり、プロキシ経由でもありません)。

2-ローカルに検出されたWebサイトのIPを「ホストを無視」設定と一致させます。

出来ますか?

Tks!チアゴ

5
ThiagoCMC

HTTPプロキシを使用する場合、これは不可能です。理由は次のとおりです。

  • 接続するサーバーは、最終的な宛先ではなく、プロキシのサーバーです。
  • リクエストの完全なURL(ホスト名を含む)をプロキシに送信します。その後、プロキシがユーザーに代わってリクエストを実行します。

したがって、mustはDNSルックアップを行うプロキシになります。

DNSルックアップをローカルで実行し、IPアドレスのみをプロキシサーバーに送信することはできません。まず、プロキシが特定のホストの特定のIPアドレスを試行するように指定するメカニズムがありません。たとえば、URLをhttp://example.com/mypageからhttp://33.33.33.33/mypageに変更することはできますが、プロキシサーバーはリクエストするホスト名を知ることができません。これは、最新のWeb(HTTP/1.1以降)の重要な部分です。これは、リクエストに常に存在するHostヘッダーに依存し、すべてのホスト名が異なるIPアドレスから提供されるという制限を取り除きます。

最善の策は、選択したDNSリゾルバーを使用するようにプロキシサーバーを構成することです。これは、制御するローカルプロキシサーバーを使用する場合にのみ可能です。

注:SOCKSプロキシまたは別の下位レベルのトンネリング方法を使用する場合、canはローカルDNSサーバーを使用します。 HTTPプロキシではありません。

3
thomasrutter

編集:または、PACファイルを使用して、プロキシの使用を制御することも、条件に応じて制御することもできます。 Autoproxyresultcache(該当する場合)はオフにする必要があります。

technitiumをインストールしてDNSサーバーにすることができます。 https://technitium.com/

0
Jeff Bouchard