Ustawienie IPv4 jako preferowanego protokołu w stosunku do IPv6

19

Używam zarówno IPv6, jak i IPv4 w sieci LAN zawierającej Slackware 13.0. Jak ustawić IPv4 jako preferowany protokół na stacjach roboczych w tej sieci? Chcę używać IPv6 jawnie lub gdy dostępne są tylko rekordy AAAA. Na przykład, jeśli spróbuję otworzyć http://ipv6.org/ z Firefoksa, zawsze nawiążę połączenie przez IPv6. Podobnie jest w przypadku innych aplikacji. Próbowałem utworzyć plik /etc/gai.conf i dodać do niego następujące elementy:

precedence ::ffff:0:0/96  100

Powinno to kontrolować zachowanie getaddrinfo (3) przynajmniej w Debianie, ale nie pomogło to w Slackware.

Wszelkie pomysły zostaną docenione. Z góry dziękuję!

Georgi Hristozov
źródło
1
Dziękuję bardzo za wskazanie /etc/gai.conf! Szukałem go przez około pół roku! :)
kolypto,

Odpowiedzi:

18

Według strony podręcznika wstawienie precedencewartości w gai.conf wyłącza wszystkie pozostałe reguły domyślne. Spróbuj ustawić wszystkie reguły wymienione w RFC 3484 (10.3):

  Prefix        Precedence Label
  ::1/128               50     0
  ::/0                  40     1
  2002::/16             30     2
  ::/96                 20     3
  ::ffff:0:0/96        100     4
Luca Tettamanti
źródło
1

ipv6 nie jest tak naprawdę moim obszarem specjalizacji, ale na stronie podręcznika, ponieważ resolver(5)wydaje się, że istnieje kilka opcji, /etc/resolv.confktóre mogą być powiązane:

options inet6Zestawy RES_USE_INET6w _res.options. Powoduje to wypróbowanie zapytania AAAA przed zapytaniem A wewnątrz gethostbyname(3) funkcji oraz odwzorowanie odpowiedzi IPv4 w „tunelowanej formie” IPv6, jeśli nie znaleziono żadnych rekordów AAAA, ale istnieje zestaw rekordów A.

Może twoi klienci mają tę opcję ustawioną?

Anders Lindahl
źródło