古い Squid 設定に dns_v4_first on が含まれています。アップグレード後、この行は期待される IPv4 優先を与えません。コピーを増やしても以前の動作は戻りません。

設定リファレンスは、このディレクティブを Squid 5 から 7 では利用不可として挙げています。Squid のアドレス選択は Happy Eyeballs の作業で変わりました。古い優先の助言は、そのリリースの文脈で読む必要があります。

優先と強制は別の要求です

まず何が必要かを決めます。両方のファミリが使えるときに動作する IPv4 経路を優先したいのか。壊れた IPv6 接続を排除したいのか。特定の出口を IPv4 のみに限定したいのか。これらは同じポリシーではありません。宛先ファミリの制限もクライアントソース ACL とは別に保つ必要があります。

一方のファミリへのアクセスを無効にすると、一部のサイトが到達不能になります。DNS 応答を変えるとプロキシが使える候補が変わります。遅い、あるいは壊れた経路を直すのはネットワーク障害への対処です。どれも、廃止されたディレクティブの万能な代替行として説明すべきではありません。

宛先アドレスの選択と、親プロキシに到達するためのアドレスも分けて考えます。親のホスト名にも独自の IPv4 と IPv6 の候補があり、親は独自のポリシーで最終的なサイト接続を行います。

送信元アドレスの規則には別の役割があります。接続に対して互換性のある送信元を選ぶのであり、宛先のサポートを作り出すのではありません。IPv4 の送信元は、IPv6 のみの宛先を IPv4 の端点に変えるわけではありません。

インストール済みリリースのドキュメントと転送経路全体を確認してください。問題が信頼できない IPv6 接続なら、それを覆い隠す無言のグローバル変更ではなく、その診断を保ってください。動作する優先経路と厳格な単一ファミリ出口には、それぞれ別の設定が必要です。

関連記事