名前解決が失敗している場所で DNS を調べます。ノート PC で名前を解決できても、Squid や、その先への接続を行う親プロキシが解決できるとは限りません。

失敗しているインスタンスのキャッシュログと、サーバーのリゾルバー設定を確認します。ホスト側での補助的な確認には次を使えます。

getent ahosts target.example

実際の対象を指定してください。getent はホストの名前検索の仕組みを使いますが、Squid の内部リゾルバーやキャッシュは異なる場合があります。同じだと考える前に、明示的に指定された dns_nameservers と hosts_file を確認します。

Squid 6.13 では、明示的なネームサーバー一覧には IP アドレスを指定します。

dns_nameservers 192.0.2.53

この文書用アドレスを、Squid サーバーから到達できる承認済みのリゾルバーに置き換えます。プライベートな名前には組織内のリゾルバーが必要な場合があります。無関係な公開リゾルバーの DNS ビューには、その名前が存在しないことがあります。

ノート PC の hosts ファイルの別名は、ホスト名を使ったプロキシ経由のリクエストには引き継がれません。名前検索を行うマシンで、インストール済み Squid のバージョンに対応する hosts_file 設定を調べ、必要に応じて親プロキシのリゾルバーも考慮します。TLS の識別に使うホスト名はサービスと一致させてください。

管理された設定変更を一つ行ったら、対象インスタンスの設定構文を確認して再読み込みし、同じリクエストを繰り返して証拠を確認します。キャッシュされた肯定応答と否定応答は、再試験に影響する場合があります。名前解決に成功した後の接続タイムアウトは、その後の経路または権限の障害です。それを直すために DNS を変え続けないでください。サーバー側の変更を評価する間は、クライアントの DNS、親プロキシの経路、プロキシプロトコルを一定に保ちます。

関連記事