DNS-Auflösung, wenn kein A-Datensatz vorhanden ist

603
Hubert Schölnast

Es gibt Domänen, die in DNS nur mit einem SOA-Datensatz registriert sind, jedoch ohne A-Datensatz (oder andere Datensätze):

> dig wien.eu  ; <<>> DiG 9.9.7-P3 <<>> wien.eu ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51354 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1  ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;wien.eu. IN A  ;; AUTHORITY SECTION: wien.eu. 1922 IN SOA dns1.magwien.gv.at. hostmaster.magwien.gv.at. 2013082700 10800 3600 604800 86400  ;; Query time: 134 msec ;; SERVER: 192.168.0.1#53(192.168.0.1) ;; WHEN: Sat Dec 02 19:45:19 CET 2017 ;; MSG SIZE rcvd: 101 

Was wie ein A-Datensatz aussieht, ist nur ein Kommentar (er beginnt mit einem Semikolon). Selbst wenn es sich nicht um einen Kommentar handelt, ist er fehlerhaft (dh kein A-Datensatz), da er keine IP-Adresse enthält.

Die meisten Befehle, die normalerweise Domänennamen (wie Ping, Telnet und andere) mithilfe von DNS auflösen , schlagen fehl, wenn nur ein SOA-Eintrag vorhanden ist (und viele Kommentare und Leerzeilen).

Viele Webbrowser können auch keine Website auf einer solchen SOA-Only-Domain wie http://wien.eu öffnen, darunter:

  • Google Chrome
  • Oper
  • Tor Browser

Es gibt jedoch Browser, die eine Website öffnen, wenn Sie einen solchen Domänennamen eingeben:

  • Safari
  • Feuerfuchs

Ich konnte Internet Explorer nicht testen, da ich Mac OS verwende und dort nicht verfügbar ist.
Im Fall des angegebenen Beispiels werden sie zu einer anderen URL umgeleitet (was übrigens eine sinnvolle Möglichkeit darstellt, die angegebene URL aufzulösen, was mich zu dem gewünschten Verhalten führt).

Ich frage mich, was Safari und Firefox für dieses Wunder tun, was andere Browser und Tools nicht können.

btw: Ich dachte zu wissen, wie DNS funktioniert, und ich dachte, das würde bedeuten, dass nur SOA-Domains wie wien.eu nicht in eine IP-Adresse aufgelöst werden können. Aber Safari und Firefox beweisen das Gegenteil.

Nachtrag als Antwort auf eine Antwort.

Alle 5 in meinem Test verwendeten Browser sind die neuesten Versionen und laufen alle auf demselben Computer (iMac mit Mac OS X 10.13 High Sierra). Alle verwenden also genau dasselbe Betriebssystem und auch den gleichen DNS-Server.

Und in der Zonendatei ist kein AAAA-Record (wie Sie in der zitierten Ausgabe von dig oben sehen können).

Und wenn Sie es nicht glauben können: Probieren Sie es aus. Verwenden Sie ein beliebiges Tool, mit dem Sie die DNS-Einstellungen von wien.eu überprüfen möchten, und versuchen Sie, es in zwei verschiedenen Browsern zu öffnen, die zu jeder der beiden oben aufgeführten Gruppen gehören.

1
Ich habe gerade versucht, es in Safari (Version 11.0.1 (13604.3.5)) in MacOS 10.13 (High Sierra) zu öffnen und konnte es nicht. Ich habe versucht, es in Firefox (Version 57) auf demselben Mac zu laden, und es wird auf https: // www.wien.gv.at / `umgeleitet. Scheint wie schlecht verwalteter DNS-Eintrag. JakeGould vor 6 Jahren 0
@ JakeGould: Kannst du genauer erklären, was du mit "schlecht verwaltetem DNS-Eintrag" meinst? Warum ist es schlecht? Noch wichtiger: Warum funktioniert es in einigen Browsern? Hubert Schölnast vor 6 Jahren 0
Es ist ein sehr schlecht eingerichteter DNS-Eintrag. Es ist schlecht eingerichtet, da kein A-Datensatz vorhanden ist. Warum dies funktioniert, ist willkürlich, je nachdem, was ein DNS-Resolver zurückgibt. Es ist also wie beim Glücksspiel, um dies zum Laufen zu bringen. Wie gesagt, es funktionierte in Safari für mich nicht. Dies ist also ein DNS-Eintrag, der falsch eingegeben oder inkompetent verwaltet wurde. Das ist es. JakeGould vor 6 Jahren 0
@ JakeGould: Ok. Was ich dachte, als ich diese DNS-Einträge sah, war: Diese kann niemals in eine IP-Adresse aufgelöst werden, dies wurde wahrscheinlich gemacht, um diese Domäne für die zukünftige Verwendung zu reservieren. Es wird jedoch in einigen Browsern aufgelöst und dann (nach der Auflösung) zu "https: // www.wien.gv.at /" umgeleitet. Ich verstehe die Umleitung, aber ich verstehe nicht, wie die Auflösung des Domainnamens in diesem Fall funktioniert. Hubert Schölnast vor 6 Jahren 0
An wen auch immer meine Frage herabgestimmt hat: Warum denken Sie, dass es eine schlechte Frage ist? Hubert Schölnast vor 6 Jahren 0
Ich war der niedere Wähler. Mir war wirklich nicht klar, was Sie mit dieser Frage erreichen wollten. Jetzt, da du dich selbst gelöst hast, wird alles ganz klar. Letztendlich handelt es sich immer noch um ein Problem mit einem schlecht konfigurierten / durchdachten DNS-Eintrag. Ihre Erklärung gibt jedoch Aufschluss darüber, warum Dinge, die nicht funktionieren sollten, in einem Zeitalter von Web-Browsern funktionieren, die die sprichwörtlichen Leerzeichen für Sie ausfüllen. JakeGould vor 6 Jahren 1

2 Antworten auf die Frage

1
davidgo

Ich glaube nicht, dass andere Browser die Domäne auflösen können (es sei denn, es gibt CNAME- oder AAAA-Einträge, die DNS dabei helfen, die nächsten Schritte auszuführen) und sollten von jedem Browser gleichermaßen erkannt werden.

Einige mögliche Erklärungen des gesehenen Verhaltens -

  • Zwischengespeicherte Ergebnisse werden als Rückfall verwendet, sind jedoch nicht in allen Browsern verfügbar.
  • Verschiedene Nameserver werden mit unterschiedlichen Zonendatei-Informationen ausgewählt (möglicherweise aufgeteiltes DNS oder DNS-Caching)

  • Hosten Dateieinträge auf einigen Computern, jedoch nicht auf anderen Computern oder in einer Suchdomäne, die DNS-Fallback-Einträge ändern kann.

  • Verwenden Sie diese Option, wenn ein Caching-Proxy - möglicherweise ein transparenter Proxy auf ISP-Ebene.

  • Ein bisschen eine Vermutung, aber wenn AAAA-Datensätze vorhanden sind, gibt es möglicherweise Browser- und / oder Betriebssystemeinschränkungen für die IPV6-Ressource.

Es ist wichtig, dass Webbrowser die DNS-Auflösung nicht selbst durchführen, sondern einen IS-Anruf tätigen und den IS damit umgehen lassen. AFAIK trifft auf alle Browser zu.

Aktualisierte Antwort für diesen Server und angesichts zusätzlicher Informationen

Eine der möglichen Erklärungen in meiner früheren Antwort "Unterschiedliche Nameserver werden mit unterschiedlichen Zonendatei-Informationen ausgewählt (möglicherweise aufgeteiltes DNS oder DNS-Caching)" war korrekt.

Wenn Sie die identische Abfrage zweimal an denselben autorisierenden Nameserver ausführen, wurden folgende Ergebnisse erzielt:

davidgo @ davidgo-Precision-T1500: ~ $ dig @ dns1.wien.at wien.at

; <<>> DiG 9.10.3-P4-Ubuntu <<>> @dns1.wien.at wien.at ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47939 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 3 ;; WARNING: recursion requested but not available  ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;wien.at. IN A  ;; ANSWER SECTION: wien.at. 300 IN A 217.149.229.10  ;; AUTHORITY SECTION: wien.at. 86400 IN NS ns11.govix.at. wien.at. 86400 IN NS ns5.univie.ac.at. wien.at. 86400 IN NS dns1.magwien.gv.at. wien.at. 86400 IN NS dns1.wien.at.  ;; ADDITIONAL SECTION: dns1.magwien.gv.at. 86400 IN A 217.149.228.128 dns1.wien.at. 86400 IN A 217.149.229.128  ;; Query time: 278 msec ;; SERVER: 217.149.229.128#53(217.149.229.128) ;; WHEN: Sun Dec 03 11:27:55 NZDT 2017 ;; MSG SIZE rcvd: 186  davidgo@davidgo-Precision-T1500:~$ dig @dns1.wien.at wien.eu -t any   ; <<>> DiG 9.10.3-P4-Ubuntu <<>> @dns1.wien.at wien.eu -t any ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56418 ;; flags: qr aa rd; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 3 ;; WARNING: recursion requested but not available  ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;wien.eu. IN ANY  ;; ANSWER SECTION: wien.eu. 86400 IN SOA dns1.magwien.gv.at. hostmaster.magwien.gv.at. 2013082700 10800 3600 604800 86400 wien.eu. 86400 IN NS dns1.magwien.gv.at. wien.eu. 86400 IN NS dns1.wien.at.  ;; ADDITIONAL SECTION: dns1.magwien.gv.at. 86400 IN A 217.149.228.128 dns1.wien.at. 86400 IN A 217.149.229.128  ;; Query time: 277 msec ;; SERVER: 217.149.229.128#53(217.149.229.128) ;; WHEN: Sun Dec 03 11:28:15 NZDT 2017 ;; MSG SIZE rcvd: 171 

Dies bedeutet definitiv, dass ein Problem mit der Einrichtung der Nameserver vorliegt, es kann jedoch eine beliebige Anzahl von Dingen sein, einschließlich Problemen mit einem verborgenen primären Nameserver, Problemen mit dem tatsächlichen Nameserver, Problemen mit einigen Mitgliedern eines DNS-Clusters oder einer Kombination der oben genannten . Es ist erwähnenswert, dass auch die zurückgegebenen Nameserver-Datensätze unterschiedlich sind.

Ich glaube auch, dass einige Nameserver-Caching-Vorgänge im Betriebssystem ablaufen, da die Abfrage, die ein Ergebnis zurückgegeben hat, tatsächlich eher selten an den Browser zurückgegeben wird.

Es ist auch bemerkenswert, dass Ihre Suchabfrage nicht gegen einen autorisierenden Nameserver durchgeführt wurde - und viele / die meisten ISPs verwenden Load Balanaced-Pools von Nameservern hinter einer einzigen IP-Adresse, die jeweils unterschiedliche Informationen aufgrund des Zwischenspeicherns von Zonen enthalten können. Dies ist offensichtlich, wenn Sie eine Abfrage (beispielsweise) durchführen. 8.8.8.8 - Googles "primärer" Nameserver mehrmals und den TTL-Abprall in der Nähe beobachten, je nachdem, welchen Backend-Nameserver Sie erhalten. (Die TTL ist die Nummer zwischen dem Domänennamen und dem "IN" im SOA-Datensatz, ist jedoch in allen Datensätzen vorhanden. Wenn es nur einen einzelnen Server gäbe, würde sich diese Anzahl im Laufe der Sekunden verringern, bis er bei Erreichen des Werts springt 0 und führt eine neue Suche durch.

Ich hätte Sie heruntergesagt, wenn ich genug Ansehen hätte: Alle Browser laufen auf demselben Computer. Das bedeutet: Alle 5 Browser verwenden dasselbe Betriebssystem und somit denselben DNS-Server. Die Ressource wien.eu befand sich zuvor in keinem Cache, und in der Zonendatei gibt es nur einen SOA-Datensatz, nichts anderes (außer einigen Kommentaren), was auch bedeutet: kein AAAA-Datensatz. Versuch es! wien.eu graben und versuchen, es in Firefox und Chrome zu öffnen. Hubert Schölnast vor 6 Jahren 0
Sie sollten nicht die Hand beißen, die versucht, Sie zu füttern - es scheint unhöflich zu sein, dass Sie denken, dass meine Antwort falsch ist. Sie ändern jedoch Ihren Beitrag aufgrund von Mängeln, die meine Antwort in Ihrer Frage deutlich gemacht hat. Möglicherweise ist es Ihnen egal, dass meine 20-jährige Karriere den Aufbau von Internetdienstanbietern und die Verwaltung von Internet-Systemen umfasst. Ich bin an einen Computer gegangen und habe meinen Beitrag aktualisiert, nachdem ich eindeutig die Ursache des Problems gefunden habe. davidgo vor 6 Jahren 3
Ich habe meine Bearbeitung eindeutig als "Nachtrag" und "Reaktion auf eine Antwort" gekennzeichnet. Ich habe nichts über dieser Überschrift geändert. Ich verdiene mein Geld auch durch die Arbeit mit Computern seit 1993, unter anderem muss ich seit 2001 auch einige Server für meine Kunden verwalten, und jetzt, im Alter von 52 Jahren, begann ich sogar wieder zu lernen (IT-Sicherheit). Und Ihre Antwort ist immer noch falsch, und es ist nicht unhöflich, dies zu sagen, wenn es wahr ist! Bitte lies sorgfältig, was ich wirklich geschrieben habe. Ich habe nicht nach ** wien.AT ** gefragt. Ich habe nach ** wien.EU ** gefragt. ** EU ** wie ** E ** uropean ** U ** nion. Hubert Schölnast vor 6 Jahren 0
Übrigens: Ich kann jetzt beweisen, dass Ihre Antwort falsch ist und deshalb herabgestuft werden muss, weil ich in der Zwischenzeit die richtige Antwort gefunden habe: https://superuser.com/a/1273824/175792 Hubert Schölnast vor 6 Jahren 0
1
Hubert Schölnast

Ich habe die Antwort auf meine eigene Frage gefunden, indem ich den IP-Verkehr erfasst habe.

In einer Nussschale

Wenn firefox keine IP-Adresse erhielt wien.eu, forderte es (ohne Anweisungen des Benutzers oder einer anderen Person) www.wien.eustattdessen nach (es trat das Präfix www.an den ursprünglichen Domänennamen an). Da für diese andere Domäne ein gültiger A-Datensatz vorhanden ist, hat sie eine Antwort (dh eine IP-Adresse) erhalten, eine HTTP GETan diese Site gesendet 301 redirect, die umgeleitete Ressource geladen und dann geladen.

Offensichtlich machen andere Browser diesen www-Trick nicht.


Im Detail

Ich habe Kali Linux als Betriebssystem verwendet und dort Firefox gestartet. Ich habe Wireshark benutzt, um den Verkehr zu erfassen. Hier sind meine Erkenntnisse im Detail:

Firefox fragt nach Aund AAAADNS-Records für wien.euund für wien.eu.localdomainund erhält immer die Antwort No such name. Es fragt sein Standardgateway, bei dem es sich offensichtlich auch um einen DNS-Server handelt.

Firefox sends (time = 0.000): 1: Standard DNS-Query: wien.eu: type A, class IN 2: Standard DNS-Query: wien.eu: type AAAA, class IN  Firefox receives (time = 0.030): 3: (Response to 1): Standard DNS-Response: No such name A wien.eu 4: (Response to 2): Standard DNS-Response: No such name AAAA wien.eu  Firefox sends (time = 0.030): 5: Standard DNS-Query: wien.eu.localdomain: type A, class IN 6: Standard DNS-Query: wien.eu.localdomain: type AAAA, class IN  Firefox receives (time = 0.031): 7: (Response to 5): Standard DNS-Response: No such name A wien.eu.localdomain 8: (Response to 6): Standard DNS-Response: No such name AAAA wien.eu.localdomain 

Dann wiederholt Firefox genau die gleichen vier Abfragen und erhält genau dieselben Antworten (Nachrichten # 9 bis # 16, Zeit = 0.047, 0.053, 0.054, 0.054).

Und wieder (Nachrichten # 17 bis # 24, Zeit = 0,057 bis 0,083)

Und wieder (Nachrichten # 25 bis # 32, Zeit = 0,083 bis 0,095)

In Runde 5 fügt Firefox www.dem Domänennamen das Präfix hinzu und erhält jetzt hilfreiche Antworten:

Firefox sends (time = 0.113): 33: Standard DNS-Query: www.wien.eu: type A, class IN 34: Standard DNS-Query: www.wien.eu: type AAAA, class IN  Firefox receives (time = 0.140): 35: (Response to 33): Standard DNS-Response:  Answers: www.wien.eu: type CNAME, class IN, cname redirector.magwien.gv.at redirector.magwien.gv.at: type A class IN, addr 217.149.229.45 Authorative nameservers magwien.gv.at: type NS, class IN, ns ns11.govix.at. magwien.gv.at: type NS, class IN, ns dns1.magwien.gv.at. magwien.gv.at: type NS, class IN, ns ns5.univie.ac.at. magwien.gv.at: type NS, class IN, ns dns1.wien.at. Additional records ns11.govix.at: type A, class IN, addr 192.76.243.11 ns11.govix.at: type AAAA, class IN, addr 2001:67c:133c::11 dns1.wien.at: type A, class IN, addr 217.149.229.128 dns1.magwien.gv.at: type A, class IN, addr 217.149.228.128 ns5.univie.ac.at: type A, class IN, addr 193.171.255.77 ns5.univie.ac.at: type AAAA, class IN, addr 2001:628:453:4305::53  36: (Response to 34): Standard DNS-Response: Answers: www.wien.eu: type CNAME, class IN, cname redirector.magwien.gv.at Authorative nameservers magwien.gv.at: type SOA, class IN, mname dns1.magwien.gv.at. 

Da Firefox nun eine IP-Adresse hat, wird eine TCP-Verbindung zu dieser Adresse hergestellt (TCP-Handshake, Nachrichten # 37-39). Dann sendet er in Nachricht 40 eine HTTP-GET-Anforderung an dieses Ziel:

GET / HTTP1.1 Host: www.wien.eu (and some additional HTTP headers) 

Der Server bestätigt diese Anfrage (Nachricht # 41) und sendet diese Antwort anschließend in Nachricht # 42:

301 Moved Permanently Location: https://www.wien.gv.at/ 

Der Rest ist klar:

  • Firefox sendet eine TCP-Bestätigung (Nachricht # 43)
  • Firefox fragt nach DNS-Auflösung für www.wien.gv.at(A und AAAA, Nachrichten # 44 und # 45)
  • Firefox erhält die Antworten (Nachrichten # 46 und # 47)
  • Dann startet Firefox den komplizierten HTTPS-Dialog, um die dann angezeigte HTML-Seite zu laden.