Squid 5–7: почему dns_v4_first больше не работает
Объясняет удаление dns_v4_first в Squid 5–7 и различает предпочтение адреса и принудительный режим только IPv4.
В старой конфигурации Squid есть dns_v4_first on. После обновления эта строка больше не даёт ожидаемого предпочтения IPv4. Добавление её копий не вернёт прежнее поведение.
Справочник конфигурации указывает директиву как недоступную в Squid 5–7. Выбор адресов в Squid изменился вместе с работой над Happy Eyeballs; старые советы о предпочтении нужно читать в контексте этого выпуска.
Предпочтение и принуждение — разные запросы
Сначала решите, что вам нужно. Предпочитать рабочий маршрут IPv4, когда доступны оба семейства? Убрать сломанную связность IPv6? Гарантировать, что определённый выход использует только IPv4? Это не одна и та же политика. Ограничения по семейству назначения тоже должны оставаться отдельно от ACL источника клиента.
Отключение доступа к одному семейству может сделать часть сайтов недоступными. Изменение ответов DNS меняет кандидатов, доступных прокси. Исправление медленного или сломанного маршрута устраняет сетевой сбой. Ни одно из этого не следует описывать как универсальную замену удалённой директивы.
Отделяйте также выбор адреса назначения от адреса, используемого для связи с родительским прокси. У родительского имени хоста могут быть свои кандидаты IPv4 и IPv6, а родительский прокси устанавливает окончательное соединение с сайтом по своей политике.
У правила адреса источника другая роль: оно выбирает совместимый источник для соединения, а не создаёт поддержку назначения. Источник IPv4 не превращает назначение только с IPv6 в конечную точку IPv4.
Проверьте документацию установленного выпуска и весь путь пересылки. Если проблема в ненадёжном соединении IPv6, сохраните этот диагноз, а не делайте тихое глобальное изменение, которое его лишь маскирует. Рабочий предпочтительный маршрут и строгий выход с одним семейством заслуживают разных конфигураций.