Was bestimmt, ob der vollqualifizierte Domänenname als IPv6 oder IPv4 interpretiert wird?

9

Wenn ich einen vollqualifizierten Domänennamen (FQDN) in meine URL-Leiste eingebe, stellt der Browser eine Verbindung zu einer Zuordnungstabelle her (wo wird diese Tabelle beim Dienstanbieter gespeichert?), Die bestimmt, wo die angeforderte Datei gehostet wird.

Es hängt also vom Dienstanbieter ab (von dem ich annehme, dass er die Konvertierungstabelle hat), ob IPv6-Adressen unterstützt werden oder nicht. Ist das wahr?

Laser
quelle

Antworten:

7

Da dies mit iptables gekennzeichnet ist, gehe ich davon aus, dass dies eine Linux-Frage ist.

Unter Linux muss glibc entscheiden, ob ein Programm für einen bestimmten Hostnamen zuerst die IPv6-Adresse (AAAA) oder die IPv4-Adresse (A) sucht. Das Programm, das glibc verwendet, verwendet die Funktion getaddrinfo (). Das Verhalten von getaddrinfo () wird in /etc/gai.conf konfiguriert.

Auf Ihrem System ist höchstwahrscheinlich alles in /etc/gai.conf auskommentiert. Kommentar auskommentieren:

label :: / 0 1

hat für mich zur Aktivierung der AAAA-Erstsuche geführt, sodass IPv6-Adressen bevorzugt nachgeschlagen werden. Das kann also sein, was Sie wollen.

Update zum Hinzufügen : Der richtige Weg scheint darin zu bestehen, den gesamten "label" -Block in gai.conf mit den Werten von 0 bis 7 zu kommentieren:

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
unixtippse
quelle
4

IPv4-Adressen werden einem Domänennamen durch einen A-Eintrag (Adresse) in DNS (Domain Name System) zugeordnet. IPv6-Adressen werden mithilfe von AAAA-Datensätzen zugeordnet. Erscheint merkwürdig? IPv4-Adressen sind 32 Bit, IPv6 sind 128 Bit. 128/32 = 4, also auch AAAA / A = 4. Cleverer Trick von jedem, der den IPv6-Eintrag in DNS entworfen hat.

DNS ist ein hierarchisches, über das gesamte Internet verteiltes System. Ihr Browser ruft eine Systembibliothek auf, die die Suchkette startet. Zuerst wird der lokale Cache überprüft, der normalerweise im Speicher gespeichert ist. Als Nächstes wird versucht, die HOSTS-Datei (/ etc / hosts unter den meisten UNIX / Linux- und C: \ Windows \ System32 \ drivers \ etc \ HOSTS unter Windows) auf der Festplatte abzurufen. Wenn es dann immer noch keine Antwort findet, ruft es Ihren zugewiesenen DNS-Server gemäß Ihrer Netzwerkkonfiguration an.

DIESER DNS-Server überprüft seinen Cache, der viel größer ist. Wenn es eine Übereinstimmung hat, gibt es eine Antwort zurück. Wenn es keine Antwort findet, dreht es sich um und fragt einen noch übergeordneten DNS-Server, der vom ISP des ISP ausgeführt wird. Dieser Prozess wird fortgesetzt , bis Sie den Root - Nameserver getroffen, a.root-servers.netdurch m.root-servers.net. Ein Großteil der DNS-Abfragen wird LANG gelöst, bevor sie so weit kommen, aber manchmal schaffen es ein oder zwei. Wenn jedoch eine Antwort gefunden wird, wird diese direkt an Ihren Browser zurückgegeben.

Aber woher weiß Ihr Browser, welchen Datensatztyp Sie anfordern sollen? Das hängt von Ihren Systemeinstellungen ab. Wenn Sie festgelegt haben, dass Ihr IPv4-Stack Priorität hat, fordert Ihr Browser in seinen DNS-Abfragen nur A-Einträge an. Bei IPv6 wird zuerst nach einem AAAA-Datensatz gefragt und dann auf einen zweiten A-Datensatz zurückgegriffen.

Es gibt auch andere Datensatztypen. MX-Einträge definieren, wo sich der Mailserver für eine Domäne befindet. NS-Datensätze definieren die Nameserver für eine Domäne. In SRV-Datensätzen erfahren Sie, wo sich ein bestimmter Dienst (z. B. SSH oder Web) befindet.

DNS ist wirklich das wörtliche Telefonbuch des Internets.

Kumba
quelle
2

Die Suche wird von Ihrem DNS (und möglicherweise Ihrer lokalen Hosts-Datei) durchgeführt. Ob ein bestimmter Name als IPv6- oder IPv4-Adresse aufgelöst wird, hängt von den Einstellungen Ihres Browsers ab (unterstützt er IPv6 und sendet er IPv6-AAAA-Anforderungen, Ihr Betriebssystem (ob Sie unter anderem sogar einen IPv6-Stack haben) und Ihre DNS-Anbieter (unterstützen sie AAAA (IPv6) -Anfragen oder nicht).

Das Browserproblem wird durch die Tatsache weiter verkompliziert, dass einige (ältere) Browser niemals AAAA-Suchanforderungen ausgeben und einige so konfiguriert werden können, dass sie nicht gesendet werden (Firefox hat eine Einstellung dafür), aber die meisten modernen Browser senden zuerst eine AAAA-Anfrage und folgen dieser a Eine Anfrage.

Helvick
quelle
Wo finde ich meine lokale Hosts-Datei unter Windows Vista?
Lazer
Okay, fand es hier : C:\Windows\System32\drivers\etc. Aber es ist leer.
Lazer
% SYSTEMROOT% \ System32 \ drivers \ etc - im Allgemeinen ist das C: \ Windows \ System32 \ drivers \ etc
Helvick
2
Es ist im Allgemeinen leer - fügen Sie Einträge hinzu, wenn dies unbedingt erforderlich ist. Sie möchten die IPv6-Namensauflösung wirklich DNS überlassen.
Helvick