Verständnisfragen zu DNS-Server i.V.m. IPv4 und IPv6

Mickey Cohen

Commander
Registriert
Mai 2015
Beiträge
2.818
Hallo,

ich habe eine FritzBox Kabel, die über IPv6 bzw. DS-Lite mit Vodafone verbunden ist.

Bei der fritzbox kann ich den DNS-Server einstellen. Wie läuft das ab, wenn ein client eine DNS-abfrage macht?

Läuft das so ab (Variante 1):
  • Client zur Fritzbox: "Gib mir die IP von www.computerbase.de!"
  • Fritzbox zum Client: "Ok, kriegst du, muss ich nur schnell selber nachschauen."
  • (Fritzbox besorgt sich DNS-Auskunft beim DNS-Server, der in der Fritzbox eingetragen ist)
  • Fritzbox zu Client: "Hier, das ist deine angefragte IP-Adresse von www.computerbase.de, lieber client: [IP von CB.de]"


oder so (Variante 2):
  • Client zur Fritzbox: "Ich brauche eine DNS-Auskunft. Nennst du mir bitte die Adresse vom DNS-Server?"
  • Fritzbox zum Client: "Ja gerne, die Adresse vom DNS-Server ist [IP vom DNS-Server], aber nachschlagen musst du schon selber!"
  • Client zur FritzBox: "Alles klar, danke!"
  • (Client holt sich selbst und direkt beim DNS-Server seine Auskunft)


Nun zur eigentlichen Frage: ist meine Annahme richtig, dass in Variante 1 überhaupt kein IPv4 DNS-Server beteiligt sein muss, auch wenn im LAN IPv4 verwendet wird und die Verbindung von Fritzbox zu Vodafone dann über DS-Lite getunnelt wird? Genausogut könnte ich umgekehrt einen IPv4 DNS-Server angeben, obwohl im LAN bzw. nach außen über IPv6 kommuniziert wird?

Und noch eine Frage: Ist es bzgl. der DNS-Auskunft irrelevant, ob ein DNS-Server unter einer IPv4 oder IPv6 adresse erreicht wird? Soll heissen: Kann bspw. 1.1.1.1 die Frage nach der IP von www.computerbase.de mit einer IPv6 beantworten oder nur mit einer IPv4?

Danke!
 
Zuletzt bearbeitet:
Variante 1 ist korrekt, wobei der Client nicht mitbekommt ob die FritzBox den Upstream-DNS kontaktiert oder die Anfrage aus dem lokalen Cache bedient.

Das Protokoll über das ein DNS-Server angesprochen hat keinen Einfluss auf die Ergebnisse die geliefert werden. Du kannst über IPv4 AAAA-Records bekommen genau wie über IPv6 A-Records.
 
  • Gefällt mir
Reaktionen: Raijin, Web-Schecki, Engaged und 3 andere
Mickey Cohen schrieb:
Und noch eine Frage: Ist es bzgl. der DNS-Auskunft irrelevant, ob ein DNS-Server unter einer IPv4 oder IPv6 adresse erreicht wird? Soll heissen: Kann bspw. 1.1.1.1 die Frage nach der IP von www.computerbase.de mit einer IPv6 beantworten oder nur mit einer IPv4?

Danke!

ja ist irrelevant! außer die server wurden seitens des betreibers entsprechend eingeschränkt. du kannst IPv4-A-record queries von einem IPv6-server beantowrtet bekommen und umgekehrt IPv6-AAAA-record queries von einem IPv4-DNS-server.

wie schon gesagt im regelfall läuft es nach variante 1.
außer du benutzt kein DHCP für den DNS server (also statische IP config deines netzwerkadapters) und hast dort bewusst etwas anderes als die fritzbox eingetragen. dann routet die fritzbox deine :53 anfragen wie von dir gewünscht zur definierten addresse. mal abgesehen vom spezialfall dass du deinen eigenen DNS-server im LAN hinter der fritz hast.
 
  • Gefällt mir
Reaktionen: Mickey Cohen
M-X schrieb:
Immer mehr Browser unterstützen bzw aktivieren nun aber DNS über HTTPS. Da kann es dann sein das der Browser einen anderen DNS Server nutzt, selbst wenn die Fritzbox als DNS per DHCP verteilt wird.
Ja da muss man aufpassen, das dient nämlich nur dafür adblocker wie pi-hole zu tunneln, codname es ist für die Sicherheit. 🤣👍
 
Engaged schrieb:
Ja da muss man aufpassen, das dient nämlich nur dafür adblocker wie pi-hole zu tunneln, codname es ist für die Sicherheit. 🤣👍
Codename ist "ich will die Zensur in diversen Ländern/Umgebungen umgehen". Wichtig und richtig. Dass wir das hier (noch?) nicht brauchen ist nur unser Glück.
Denn das was du mit deinem pihole gut meinst (ich halte auch das für fragwürdig), meinen andere mit ähnlichem Vorgehen eben nicht so gut.
 
  • Gefällt mir
Reaktionen: das_ICH und Engaged
Hehe, es kommt darauf an(tm) :D

1. Rekursive Anfragen gibts nicht vom Client, sondern vom DNS Server an andere DNS Server. Wenn man also lokal einen hat, dann läuft es (je nach Konfiguration) rekursiv ab:
a- Client fragt seinen DNS("I"): Habe Name www.cb.de, will IP.
DNS "I": Keine Ahnung, ich frag den Root DNS. Vorgesetzter, was ist IP-Adresse von www.cb.de?
DNS "Root": Eh, was geht mich das an. 12.34.56.78 ist für die TLD .de zuständig. Frag den. Laß mich in Ruhe.
DNS "I": Okay, frag ich dort. DNS für .de, gib mal IP für www.cb.de.
DNS ".de": Meh, cb.de ist 9.8.7.6. Die kümmern sich da drum. Frag da.

Und der für cb.de zuständige DNS rückt dann die Adresse für "www" raus (cf "authoritative") die er dem DNS des ursprünglichen Clients gibt. Der gibt sie dann dem Client wieder.

Weswegen die Verbindung zwischen Client und "seinem" DNS nonrekursiv ist = client fragt, server antwortet, das wars; im Hintergrund passiert aber mehr.


Was die Adressen angeht (also v4 / v6:
- Ja, es ist grundlegend egal, ob der DNS selber an einer v4 oder v6 Adresse läuft. Aber A muß der Client selber das jeweilige Protokoll verwenden (sonst werden entsprechende Antworten weggeworfen) und B muß natürlich die v6 Adresse irgendwo zugeordnet sein, da IPv4 mit v6 nichts zu tun hat und DNS nur exakt eine Adresse pro Resource Record zuordnen kann.

Sprich, wenn ich als Client dns.google befrage und habe IPv6 eingeschaltet, dann bekomme ich AAAA Records. Habe ich es ausgeschaltet, nicht. Mit IPv4 dasselbe (da sinds dann die A Records). Habe ich beides an, bekomme ich auch AAAA und A Records je nach Verfügbarkeit.
Müßig zu erwähnen, wenn ich weder v4 noch v6 anstelle, bekomme ich gar nix. :daumen:
 
RalphS schrieb:
Hehe, es kommt darauf an(tm) :D
Naja, da er die Frage nach der FB gestellt hat nicht. Die kann nur forwarden. Das einzige was in der vom TE aufgeführten Variante 1 ist noch fehlt ist der potentielle lokale cache.

RalphS schrieb:
Sprich, wenn ich als Client dns.google befrage und habe IPv6 eingeschaltet, dann bekomme ich AAAA Records. Habe ich es ausgeschaltet, nicht.
Das ist nicht richtig, zumindest nicht pauschal. Du bekommst beides. Hier als Beispiel 'ping computerbase.de' auf einer v4 only Kiste:

Code:
10:28:07.149954 IP 192.168.2.27.59412 > 192.168.2.100.53: 3950+ A? computerbase.de. (33)
10:28:07.150011 IP 192.168.2.27.59412 > 192.168.2.100.53: 9070+ AAAA? computerbase.de. (33)
10:28:07.166214 IP 192.168.2.100.53 > 192.168.2.27.59412: 3950 1/0/0 A 212.83.33.137 (49)
10:28:07.167935 IP 192.168.2.100.53 > 192.168.2.27.59412: 9070 1/0/0 AAAA 2a00:f48:2000:1::137 (61)
10:28:07.331411 IP 192.168.2.27.48845 > 192.168.2.100.53: 14889+ PTR? 137.33.83.212.in-addr.arpa. (44)
10:28:07.790362 IP 192.168.2.100.53 > 192.168.2.27.48845: 14889 1/0/0 PTR www.computerbase.de. (77)

Die Userland Applikation verwendet dann bei v4 freilich nur den v4 record, aber sie bekommt den AAAA record dennoch.


RalphS schrieb:
(sonst werden entsprechende Antworten weggeworfen)
Du hattest es ja hier eigentlich schon richtig geschrieben. Die Antworten bekommt er, aber er nutzt nur den relevanten RR, der/die andere(n) werden verworfen.
 
Noch eine kleine Anmerkung:
An einem DS-lite-Anschluss sollte man, wenn man standardkonform arbeitet, DNS-Anfragen ausschließlich über IPv6 ins Internet (also "nach draußen") stellen.
Im RFC 6333 für DS-lite steht nämlich in Abschnitt 6.4:
As noted previously, a DS-Lite node implementing a B4 element will perform DNS resolution over IPv6. As a result, DNS packets are not expected to go through the AFTR element.
Heißt: Der Router zuhause (ist i.d.R. das B4-Element) kommuniziert bei Standardkonfiguration (beschrieben in Abschnitt 5.5) nur via IPv6 mit DNS-Servern. Daher dürfte das AFTR-Element beim Anbieter IPv4-DNS-Pakete einfach wegwerfen.
Wahrscheinlich machen das die meisten AFTRs nicht, aber im Zweifel sollte man hinter DS-lite lieber keine IPv4-Adressen als upstream-DNS eintragen. Es ist ohnehin sinnvoll, den Umweg über den IPv4-Tunnel überall dort zu sparen, wo es möglich ist.
 
  • Gefällt mir
Reaktionen: Raijin und foo_1337
Zurück
Oben