Wie kann ich zulassen, dass der Browser IPv6 gegenüber IPv4 bevorzugt?

16

Ich habe miredo installiert und IPv6 gestartet. Ich kann Ping6-Hosts und Webseiten mit wget oder meinem Webbrowser herunterladen, wenn ich IPv6-Adressen eingebe. Wenn ich jedoch einen Hostnamen eingebe, der sowohl über IPv4 als auch über IPv6 angeboten wird, wählt der Browser die IPv4-Adresse für die Verbindung aus.

Wie kann ich das ändern und den Browser IPv6 anstelle von IPv4 verwenden lassen, falls verfügbar?

Beim googeln habe ich einen Hinweis gefunden, dass Browser IPv4 gegenüber IPv6 für 6to4 / teredo-Tunnel bevorzugen, aber bisher habe ich keine Erklärung gefunden, warum oder wie man das ändert.

Grumbel
quelle

Antworten:

10

Es sind nicht die Browser, die eine der Optionen bevorzugen, sondern das Betriebssystem. Der Standard definiert die Prioritäten ungefähr so:

  1. ipv6
  2. ipv4
  3. 6to4-Verkehr

Sie können dies ändern, indem Sie die Bezeichnungs- / Prioritätsblöcke in /etc/gai.conf(gai steht für getaddrinfoden Standardsystemaufruf zum Auflösen von Hostnamen) bearbeiten .

Eine ausführliche Erklärung gai.confdazu finden Sie in der Manpage

Dies erklärt übrigens auch Jonathons Erfahrung, dass der SiXXS-Tunnel 6to4 vorgezogen wurde.

freddyb
quelle
7

Für Firefox und andere Mozilla / Gecko-basierte Browser, die network.dns.disableIPv6in Einstellung about:configsollte sein , falsewenn Sie IPv6 haben (es ist Satz standardmäßig auf true in Ubuntu, weil sonst viele Menschen Probleme mit Buggy DNS - Proxies in Home - Router erhalten).

JanC
quelle
Ich nehme an, das ist für Firefox?
Ja, tut mir leid, wird meine Antwort aktualisieren.
24.
2
Gerade kontrolliert. Es ist nicht nötig, den Pref zu berühren. Heutzutage ist es truein Firefox voreingestellt - auch für Ubuntus Firefox.
Freddyb
6

Wie Freddyb bereits betont hat, hängt dies von der Konfiguration des Standard-Systemaufrufs getaddrinfo ab , um Hostnamen aufzulösen .

Um Ihr Problem zu lösen, ersetzen Sie den Inhalt /etc/gai.confdurch die folgenden Zeilen:

label ::1/128       0
label ::/0          1
label 2002::/16    2
label ::/96         3
label ::ffff:0:0/96 4
label fec0::/10     5
label fc00::/7      6
#label 2001:0::/32   7

aktualisiert : danke an freddyb für den hinweis, dass meine vorherige antwort falsch war: wir müssen die letzte zeile kommentieren, nicht die dritte. Jetzt klappt es bei mir!

pklaus
quelle
6

Seit kurzem vermeiden Chrome, Firefox und abgeleitete Browser IPv6, wenn eine Site über IPv4 schneller reagiert. Es ist nicht möglich, dieses Verhalten über eine Konfigurationseinstellung zu ändern.

Die Funktion selbst ist wahrscheinlich für den normalen Benutzer vernünftig, aber es macht mich fast wütend, dass Sie sie nicht deaktivieren können. Die IPv6-Konnektivität ist heutzutage ziemlich gut, und manchmal hat IPv6 mehrere Vorteile gegenüber der Verbindung über IPv4, selbst wenn die Latenz - aufgrund des Tunnelns - höher ist. Ich habe jahrelang über IPv6 gebrowst und obwohl IPv6-Routing und -Leistung viel besser geworden sind, wirft mich diese verdammte Browser-Hack-Funktion ein Jahrzehnt zurück.

MegaGuest
quelle
2
Dieses Verhalten wird in RFC 6555 empfohlen. Es ist seit etwa 2010 üblich. Um eine anständige Benutzererfahrung zu gewährleisten, ist es standardmäßig absolut das richtige Verhalten. Wenn Browser dies nicht getan hätten, hätten sich die meisten Websites geweigert, AAAA-Datensätze überhaupt zu veröffentlichen. Das heißt, eine Einstellung, die viele Millisekunden Vorsprung für IPv6 bietet, wäre eine gute Idee. Noch besser wäre es, diesen Vorsprung pro Standort wählen zu können. Die Einstellung pro Site könnte dem Browser als möglicher Rückgabewert von einem Proxy-Skript hinzugefügt werden.
Kasperd
2

OK, ich habe das untersucht und es ist komisch.

  1. Verwenden eines lokalen Proxys
    Wenn ich Firefox so einstelle, dass er über Squid Proxy-Verbindungen auf meinem Computer ausführt, stellt Firefox (genauer gesagt Squid) eine Verbindung über den Miredo-Tunnel her. Wenn ich miredo installiert habe, aber Firefox auf "kein Proxy" eingestellt ist, verwendet Firefox zuerst IPV4.

  2. Installieren aiccu
    Wenn ich installieren aiccu und legen Sie es mit einem Tunnel nach oben (zB SixXS) dann nicht meine Proxy - Einstellungen sind IPV6 zuerst von Firefox verwendet wird.

Es kann sein, dass miredo nur verwendet wird, wenn IPV4 nicht verfügbar ist, um eine Verbindung zu IPV6-Standorten herzustellen. In diesem Fall versuchen Sie es mit aiccu.

Jonathon
quelle
1

Die Antwort ist einfach: Ändern Sie die Beschriftungen.

label 2002::/16    1
label 2001:0::/32   1

Dies macht sie gleichbedeutend mit "Vanille" ipv6.

Wenn Sie sie auskommentieren, übernehmen sie die Standardwerte.

Hermelin
quelle