リモート DNS は宛先の解決問題を解決できても、接続できないままにすることがあります。クライアントはまずプロキシを見つける必要があります。

proxy.office.example というエンドポイントを考えてみます。ウェブサイトのホスト名を SOCKS 経由で送っても、その最初のエンドポイントのアドレスをどう取得するかはクライアントに伝わりません。SOCKS の会話はまだ始まっていません。

これはプロキシ名がプライベートな名前空間に属する場合に重要です。家庭用リゾルバーはそれを知らないかもしれませんが、承認されたオフィスネットワークのリゾルバーは知っています。短いプロキシ名は、ネットワーク間で異なる検索ドメインの設定にも依存することがあります。

名前を分けて扱う

  • 最初の接続を確立するにはプロキシのエンドポイント名が必要です。
  • ウェブサイトの名前は、リモート解決のためにサポートされたプロキシリクエストの内部で運べます。

リゾルバーを変更する前に、どちらの名前が失敗したかを記録してください。クライアントの DNS を無関係な公開サービスに置き換えると、プライベートなプロキシ名に到達しにくくなることはあっても、届きやすくはなりません。想定しているネットワークがサポートする名前解決設定を使ってください。

割り当てられたプロキシ IP は、構成によってはホスト名の検索を 1 回省けますが、名前と普遍的に置き換えられるものではありません。HTTPS プロキシへの TLS や名前ベースの認証は、想定された識別情報に依存することがあります。その検査を無効にするのではなく、識別情報をそのまま保ってください。

最初の接続が機能したら、宛先の段階を別に調べてください。プロキシのホスト名が機能することは、プロキシがウェブサイトの名前を知っていることや、そこへの接続が許可されていることを証明しません。

関連記事