Ich besitze eine Domain econemon.com
. Unten finden Sie einen Auszug aus dem DNS-Eintrag (einige Einträge wurden der Kürze halber weggelassen):
econemon.com. 1800 IN NS ns.stratoserver.net.
econemon.com. 1800 IN NS ns2.stratoserver.net.
econemon.com. 1800 IN A 85.214.92.48
Diese Nameserver gibt es von meinem Provider, und soweit ich es verstanden habe, sind sie die maßgeblichen für meine Domain.
Wenn ich jetzt einen von ihnen nach dem Adressdatensatz einer nicht vorhandenen Subdomain frage, antwortet dieser mit der Adresse für meinen Server wie folgt:
$ host -t A nosuchdomain.econemon.com ns.stratoserver.net
Using domain server:
Name: ns.stratoserver.net
Address: 81.169.163.40#53
Aliases:
nosuchdomain.econemon.com has address 85.214.92.48
Welches ist natürlich genau das, was ich möchte, um virtuelle Hosts usw. zu haben. Angenommen, ich habe einen Eintrag hinzugefügt
econemon.com. IN NS ns.econemon.com
und der richtige A-Datensatz für ns.econemon.com
die Liste, und dieser Nameserver hatte tatsächlich unterschiedliche A-Datensätze für einige Subdomains. Was würde passieren?
- Würde eine Anfrage
subdomain.econemon.com
eine andere Adresse ergeben, je nachdem, welchen Nameserver Sie gefragt haben? (Ich denke es würde.) - Wenn ja, kann dies tatsächlich nützlich sein, um auf einen "Hauptserver" zurückzugreifen, wenn mein DNS nicht verfügbar war. Wie kann ich den Client dazu bringen, meinen Nameserver zu verwenden, wenn er aktiv ist?
- Würde dies das Caching auf den Clients durcheinander bringen? (Wahrscheinlich.)
(Hinweis: Dies hängt mit meinen beiden anderen Fragen zusammen. )
quelle
nosuchdomain.econemon.com has address 85.214.92.48
". Da es keine solche Domain gibt, würde ich stattdessen "Host nosuchdomain.econemon.com not found: 3(NXDOMAIN)
" erwarten .Antworten:
DNS-Lookups sind sequentiell und beginnen am Ende. Unter der Annahme leerer Caches würde die Suche nach MISSING.DOMAIN.COM ungefähr so aussehen ...
Das ist der Kern davon. In der Realität ist dies aufgrund von Caching, Lastausgleich und der Tatsache, dass Nameserver namentlich angegeben werden können und daher ebenfalls nachgeschlagen werden müssen, weitaus komplizierter.
Um Ihre Frage zusammenzufassen: Sie können mehrere Nameserver für eine Domain angeben und sie mit unterschiedlichen Informationen einrichten lassen . Die Antwort lautet ja , aber Sie müssen vorsichtig sein und wissen, was Sie tun. Sie können DNS verwenden, um den Lastenausgleich zu unterstützen , und Sie können es verwenden, um Failover Lite zu unterstützen . Aber du musst vorsichtig sein!
EDIT: In einem Kommentar wies Bortzmeyer auf einige Vereinfachungen hin, die seiner Meinung nach die Grenze zum Fehler überschreiten. Ich habe Anpassungen vorgenommen, von denen ich hoffe, dass sie die Bedenken ausräumen.
quelle
Dies ist eine dieser Situationen "Ich glaube nicht, dass dieses Wort bedeutet, was Sie denken, dass es bedeutet". Sie nennen Host-Datensätze innerhalb einer bestimmten Domain "Subdomains". Sie sind nicht.
So beantworten Sie alle Ihre Fragen:
Eine Anfrage an einen bestimmten Nameserver gibt zurück, was seiner Meinung nach die richtige Antwort ist. Es hört sich so an, als würden Sie vorschlagen, dass Sie einen weiteren DNS-Server als autorisierend für Ihre "econemon.com" -Domain hinzufügen könnten, der einige "A" -Datensätze enthält, die die anderen nicht enthalten würden. Dies ist keine übliche oder empfohlene Konfiguration von DNS. Im Allgemeinen möchten Sie, dass alle für eine bestimmte Domain autorisierenden DNS-Server dieselben Einträge haben (es sei denn, Sie wissen, warum Sie das tun ... auch bekannt als "Split-Horizon" -DNS).
Es gibt keinen allgemein nützlichen Grund, das zu tun, was Sie beschreiben. Sie können die Auswahl des DNS-Servers durch den Client-Computer-Resolver nicht beeinflussen. Es würde das Caching nicht "durcheinander bringen" - das Caching würde so funktionieren, wie es soll. Dies würde zu inkonsistenten Ergebnissen führen, je nachdem, mit welchem DNS-Server ein Client gesprochen hat, und das ist im Allgemeinen schlecht.
Eine Subdomain wäre so etwas wie eine "subdomain.example.com" -Domain, die Hostdatensätze wie "www.subdomain.example.com" enthält. Sie sprechen nur von Hosts in einer Domain.
quelle
Es sieht so aus, als hätten Sie einen DNS-Wildcard-Eintrag für Ihre Domain.
Dies bedeutet, dass Sie einen A-Datensatz für 81.169.163.40 erhalten, wenn eine Abfrage keine Datensätze ergibt. Eigentlich ist es komplizierter. Wenn es einen Datensatz für ein "Label" gibt (einen vollqualifizierten Domainnamen oder FQDN), wird der Platzhalterdatensatz für dieses Label deaktiviert. Wenn Sie also einen MX-Datensatz für foo.econemon.com haben, wird bei einer Abfrage nach dem A-Datensatz von foo.econemon.com nichts angezeigt.
Platzhalterdatensätze sind eher selten und können bestimmte Softwaresysteme verwirren. Ich empfehle nicht, sie zu verwenden. Ihr ISP verwendet sie jedoch, damit Sie sie nicht jedes Mal zum Aktualisieren von DNS-Einträgen stören müssen, wenn Sie eine Subdomain hinzufügen. Das macht Sinn.
Nun zu Ihrer Frage ...
Anscheinend fragen Sie: "Wenn ich einen Nameserver mit anderen Daten als die anderen habe, was passiert dann?"
Wenn Sie 2 haben, die Ihr ISP mit bestimmten Daten ausführt, und 1, die Sie mit anderen Daten ausführen, besteht eine 2: 1-Chance, Daten von Ihrem ISP-Server abzurufen. Das DNS-System sucht nicht ständig nach anderen Nameservern, wenn es die gewünschten Daten im ersten nicht findet. Mit anderen Worten, du kannst Daddy nicht fragen, ob Mama "nein" gesagt hat.
Dies ist ein wichtiges Konzept in DNS. DNS muss SCHNELL sein. Führen Sie daher niemals zwei Abfragen durch, wenn dies der Fall ist.
Aus diesem Grund sollten Sie in jedem Nameserver der Domain dieselben genauen Zonendaten für eine Domain haben. (Es sei denn, Sie haben ein lustiges Lastausgleichsschema.)
Ja
Die Nameserver werden in zufälliger Reihenfolge ausprobiert. Wenn der erste nicht antwortet, versucht der DNS-Client den nächsten. Wenn alle ausprobiert wurden, erhält der Client einen DNS-Fehler. Da jeder DNS-Server 1 Abfrage gesendet hat, warten wir im Allgemeinen 30 Sekunden (glaube ich) auf eine Antwort. Wenn Sie 100 Nameserver haben, warten Sie 50 Minuten, bevor der Client ausfällt. Deshalb habe ich normalerweise nicht mehr als 3 Nameserver für eine Domain. Mehr ist nicht besser.
Nicht wirklich. Die Software ist sehr robust. Hier kommt das Robustheitsprinzip von Postel ins Spiel ("Sei konservativ in dem, was du sendest, liberal in dem, was du akzeptierst"). Es hat Vorteile. Fragen Sie nach www.yahoo.com, www.microsoft.com und www.google.com. Sie werden sehen, dass jeder Nameserver unterschiedliche IP-Adressen angibt, je nachdem, wo Sie sich auf der Welt befinden (und andere Faktoren). Wenn das die Kunden verwirren würde, würden diese Websites nicht überleben!
quelle