Squid 5–7: dlaczego dns_v4_first już nie działa
Wyjaśnia usunięcie dns_v4_first w Squid 5–7 i odróżnia preferencję adresu od wymuszania wyłącznie IPv4.
Stara konfiguracja Squid zawiera dns_v4_first on. Po aktualizacji ta linia nie daje już oczekiwanej preferencji IPv4. Dodawanie kolejnych kopii nie przywróci wcześniejszego zachowania.
Dokumentacja konfiguracji wymienia tę dyrektywę jako niedostępną w Squid 5–7. Wybór adresów w Squid zmienił się wraz z pracami Happy Eyeballs; stare porady dotyczące preferencji trzeba czytać w kontekście tego wydania.
Preferencja i wymuszanie to różne żądania
Najpierw zdecyduj, czego potrzebujesz. Preferować działającą trasę IPv4, gdy dostępne są obie rodziny? Usunąć zepsutą łączność IPv6? Zagwarantować, że dane wyjście używa tylko IPv4? To nie ta sama polityka. Ograniczenia rodziny docelowej również muszą pozostawać oddzielone od ACL źródła klienta.
Wyłączenie dostępu do jednej rodziny może uczynić niektóre witryny nieosiągalnymi. Zmiana odpowiedzi DNS zmienia kandydatów dostępnych dla proxy. Naprawa wolnej lub zerwanej trasy rozwiązuje awarię sieci. Żadnego z nich nie należy opisywać jako uniwersalnej linii zastępczej usuniętej dyrektywy.
Oddziel też wybór adresu docelowego od adresu używanego do dotarcia do proxy nadrzędnego. Nazwa hosta nadrzędnego może mieć własnych kandydatów IPv4 i IPv6, a proxy nadrzędne nawiązuje końcowe połączenie z witryną według własnej polityki.
Reguła adresu źródłowego ma inną rolę: wybiera zgodne źródło połączenia, zamiast tworzyć obsługę celu. Źródło IPv4 nie czyni celu tylko-IPv6 punktem końcowym IPv4.
Sprawdź dokumentację zainstalowanego wydania i całą ścieżkę przekazywania. Jeśli problemem jest zawodne połączenie IPv6, zachowaj tę diagnozę, zamiast robić cichą globalną zmianę, która ją tylko maskuje. Działająca preferowana trasa i ścisłe wyjście jednej rodziny zasługują na różne konfiguracje.