Warum kommen Anfragen für meine Domain nicht an Port 53 meines Home-Servers an, obwohl beide Nameserver auf meine IP-Adresse verweisen?

588
user305964

Ich bin daran interessiert, meine eigenen DNS-Server zu betreiben, um das Aktualisieren der A-Einträge meiner Domänen zu vereinfachen. Ich bin mir der Warnungen bewusst, dass mein Webserver und mein DNS-Server sich in derselben Domäne befinden.

Derzeit sind meine Domains über GoDaddy registriert, und ich habe zwei Subdomains (ns1 ... und ns2 ...) registriert, die beide auf meine IP-Adresse verweisen. Mein Wunsch war es, Port 53 öffnen zu können und im Wesentlichen alle Anfragen für meine Domain nach meiner IP: 53 abfragen, an die ich den A-Record liefern würde. Bitte entschuldigen Sie mich, wenn ich den Prozess zu stark vereinfache, da er zugegebenermaßen komplex ist und ich immer noch den Algorithmus zur Auflösung von Domainnamen lerne.

Letztendlich wollte ich meinen eigenen DNS-Server mit NodeJs erstellen, aber als ich den obigen vorbereitenden Schritten folgte, stellte ich fest, dass ich selbst dann, wenn ich Port 53 abhören würde, keinen Datenverkehr erhalten würde, wenn ich über einen Browser Anfragen an meine Domäne stellte. Mein Router wurde richtig konfiguriert, um Anforderungen an Port 53 an meinen In-Network-Server weiterzuleiten.

Was könnte der Grund dafür sein?

EDIT: Ich hatte diese Frage einige Zeit an der falschen Stelle (Serverfault) und bekam einige Ratschläge, die mir aber immer noch unklar sind. Mir wurde vorgeschlagen, dass ich meine NS-Einträge aktualisieren musste, um auf die neuen Nameserver hinzuweisen, aber ich bin ziemlich sicher, dass dies implizit erfolgte, wenn ich die Nameserver als meine eigenen definiere. Sollen nicht alle Datensätze jetzt von meinen Nameservern geliefert werden? Muss der NS-Rekord immer noch vom Registrar bedient werden?

Ein anderer Vorschlag, den ich bekam, war, dass die Nameserver A-Records benötigen, um ihre IP-Adresse aufzulösen. Ist GoDaddy wieder die notwendige Partei, die diesen A-Rekord liefern muss?

Mir wurde auch gesagt, dass DNS "stark im Cache" ist und der Browser keine direkte Verbindung herstellt, sondern das Betriebssystem nach einer DNS-Suche fragt. Nachdem ich GoDaddy über die Änderung der Nameserver meiner Domain informiert hatte (um meine eigenen zu verwenden) und einmal versucht hatte, meine Domain (über meinen Browser) anzufordern, möchte ich wissen, ob die DNS-Anfrage theoretisch gelandet wäre Port 53 meiner Nameserver-IP?

0
Ein mögliches Problem ist, dass der Router selbst ein DNS-Server ist. Wenn Sie also udp / 53 intern weiterleiten, geschieht dies nicht, da der Router versucht, die Abfrage selbst zu beantworten. Hat Ihr Router eine Möglichkeit, den DNS-Server zu deaktivieren? Paul vor 8 Jahren 0
Möglicherweise blockiert Ihr ISP eingehende DNS. Dies ist nicht völlig unvernünftig, da UDP-DNS-Anforderungen für DDoS Amplification missbraucht werden können. https://www.us-cert.gov/ncas/alerts/TA13-088A https://blog.cloudflare.com/deep-inside-a-dns-amplification-ddos-attack/ Zoredache vor 8 Jahren 1
@ Paul & Zoredache, das ist durchaus möglich. Ich muss heute Abend einen Blick auf die Konfiguration meines Routers werfen. user305964 vor 8 Jahren 0
Nun, das Problem, das ich erwähnt habe, wäre nicht in Ihrer Router-Konfiguration. Es würde in der Firewall Ihres Internetanbieters konfiguriert werden. Es gibt nichts, was Sie tun könnten, um die Einstellung zu ändern. Möglicherweise müssen Sie Ihren ISP-technischen Support ausprobieren. Natürlich können sie auf einen Abschnitt in Ihrer Nutzungsvereinbarung verweisen, der besagt, dass das Ausführen von Servern den Bedingungen zuwiderläuft. Dies ist natürlich anders, wenn Sie für Business-Class-Services bezahlen. Zoredache vor 8 Jahren 0

1 Antwort auf die Frage

0
davidgo

Ich entschuldige mich dafür, dass Sie das gesagt haben - ich denke, Sie gehen falsch vor (wegen des langatmigen Posten).

Eine "bessere" Lösung für dieses Problem wäre, (1) Nameserver einzurichten, (2) zu prüfen, ob sie lokal antworten, (3) ob sie von außerhalb Ihres Netzwerks antworten, und (4) den Domänennamen auf zeigen Sie.

Beachten Sie, dass Sie wirklich mindestens zwei Nameserver benötigen, und diese sollten sich entweder in verschiedenen Netzwerken oder in sehr zuverlässigen Netzwerken befinden. Sie möchten, dass die Nameserver unterschiedliche extern erreichbare IP-Adressen haben - etwas, das Sie normalerweise nicht von einer privaten / Consumer-Verbindung aus tun können.

Um Ihre Frage zu beantworten: "Was könnte der Grund dafür sein?" ist schwierig - wenn Sie jedoch Ihren Nameserver von Ihrem LAN an die externe Adresse abfragen, kann Ihr Router die Pakete nicht richtig weiterleiten.

Ihre Nameservers benötigen definitiv A-Datensätze, um sie aufzulösen - und wenn Ihre DNS-Datensätze eine Subdomain sind, die Sie noch schwieriger zu verwenden versuchen - benötigen Sie "Glue-Records" (obwohl viele Anbieter dies so einfach machen, indem Sie die IP-Adresse neben dem eingeben DNS Server). Wo der A-Datensatz geändert wird, hängt von Ihrem Setup ab. Wenn der Domänenname example.com ist und der Nameserver dns1.example.com ist, muss dieser auf dns1.example.com eingerichtet werden. Der A-Datensatz muss in der Zonendatei für den Domänennamen geändert werden.

DNS ist stark auf das Zwischenspeichern angewiesen, kann jedoch stark zwischengespeichert werden. Wenn die von Ihnen abgefragten Nameserver kürzlich eine Abfrage für den Datensatz erhalten haben und Sie die Godaddy-Server nicht direkt abfragen (und es ist unwahrscheinlich, dass Sie es sind, da sie nur nach Domänennamen antworten, für die sie autorisierend sind), dann kann dies der Fall sein gut im Cache sein. (Dies ist eine grobe Vereinfachung, vernetzt jedoch die richtige Antwort.)

Beim Lesen meiner "Frage" kann ich sehen, dass es ziemlich langatmig ist. Ich denke, diese Beobachtung war wirklich die richtige Antwort, und ich werde noch einmal prüfen müssen, wie ich damit beginne. Es scheint von unten nach oben statt von oben nach unten. Vielen Dank! user305964 vor 8 Jahren 0