Einige Fragen zur Verwaltung von DNS-Einträgen

351
karthik ts

Ich habe vor kurzem eine Domain gekauft, karthikts.com (nur zum Beispiel, aber dies ist nicht die tatsächlich registrierte Domain). Im Dashboard des Registrars (crazydomains.com) konnte ich unter configs sehen:

  1. Ich habe zwei Namenservern zugewiesen, ns1.crazydomains.com und ns2.crazydomains.com
  2. Zwei A-Aufzeichnungen, eine "karthikts.com -> abcd" und die andere "www.karthikts.com -> abcd", abcd ist die IP-Adresse, die vom Registrar selbst bereitgestellt wird.

Jetzt möchte ich folgende Aktivitäten ausführen, also brauche ich einige Hinweise / Referenzen, um diese zu erreichen.

ein]

Ich möchte die Verwaltung von DNS-Datensätzen für alle Subdomains unter karthikts.com an einen anderen Nameserver delegieren, zwei diesbezügliche Abfragen:

  1. Wie delegiere ich alle Subdomains unter karthikts.com an den neuen Nameserver? Wie ist das Format des NS-Datensatzes? Akzeptiert es Platzhalter? Etwas wie dieses: "* .karthikts.com => ipx"?

  2. Wie lässt sich ein Server als Nameserver fungieren? Ich weiß, dass der DNS-Server auf UDP-Port 53 läuft, aber wie bekomme ich einen? Gibt es eine Open-Source-DNS-Serversoftware oder wird sie zusammen mit dem Betriebssystem mitgeliefert? Wie führe ich auch die neuen DNS-Einträge für meine Subdomains an den DNS-Server weiter?

b]

Angenommen, ich habe zwei Subdomains, deren A-Einträge sauerstoff.karthikts.com => ip1 und carbon.karthikts.com => ip2 sind. Ist es möglich, ein Python-Programm zu schreiben, das dynamische DNS-Aktualisierungen an meinen Nameserver sendet und das Mapping jede halbe Stunde auf oxygen.karthikts.com => ip2 und carbon.karthikts.com => ip1 umschaltet. Ich suche keine Lösung dafür, möchte nur wissen, ob es möglich ist und wenn ja, gibt es Python-Bibliotheken, um dynamische DNS-Updates durchzuführen.

0

1 Antwort auf die Frage

1
grawity

Wie delegiere ich alle Subdomains unter karthikts.com an den neuen Nameserver? Wie ist das Format des NS-Datensatzes?

Der NS-Datensatz hat ein einzelnes Feld - den Namen des Servers (jedoch keine IP-Adresse).

Ihre aktuellen NS-Datensätze sind beispielsweise:

@ NS ns1.crazydomains.com. @ NS ns1.crazydomains.com. 

In einigen Fällen sind zusätzliche "Glue-Records" erforderlich, damit die Delegation funktioniert.

Akzeptiert es Platzhalter? Etwas wie dieses: "* .karthikts.com => ipx"?

Nein, das Platzieren von Platzhaltern ist nicht zulässig.

Delegieren Sie stattdessen Ihre gesamte Domäne . Die Website Ihres Registrars enthält eine separate Option, wie "Eigene DNS-Server verwenden". Bei Verwendung dieser Option wird die Domäne (einschließlich der Subdomains) vollständig delegiert und der webbasierte Datensatzeditor des Registrators deaktiviert.

Wie lässt sich ein Server als Nameserver fungieren? Ich weiß, dass der DNS-Server auf UDP-Port 53 läuft, aber wie bekomme ich einen? Gibt es eine Open-Source-DNS-Serversoftware oder wird sie zusammen mit dem Betriebssystem mitgeliefert?

Es gibt viele. Beliebte Optionen sind NSD, PowerDNS, BIND 9, djbdns und diejenige, die mit Windows Server geliefert wird.

DNS verwendet sowohl UDP als auch TCP. Letzteres wird für umfangreiche Antworten (an Clients ohne EDNS-Unterstützung), für Übertragungen zwischen Ihren eigenen autorisierenden Servern (Replikation) und für DNS-over-TLS verwendet.

Wie führe ich auch die neuen DNS-Einträge für meine Subdomains an den DNS-Server weiter?

Abhängig von der verwendeten Software. Viele verwenden ein Standardtextformat, das als Zonendatei bezeichnet wird . Einige verfügen möglicherweise über grafische Tools (z. B. Windows Server, obwohl Daten immer noch in Zonefiles gespeichert werden). Einige unterstützen möglicherweise das Lesen von Daten aus MySQL oder Postgres. Einige verwenden ältere Runen (djbdns).

Ist es möglich, ein Python-Programm zu schreiben, das dynamische DNS-Aktualisierungen an meinen Nameserver sendet

Ja, abhängig von der verwendeten DNS-Serversoftware. Viele Server unterstützen Aktualisierungen über das Standard- RFC 2136- Protokoll (DNS UPDATE), und einige verfügen möglicherweise über benutzerdefinierte APIs.

Für Python sollten Sie die Unterstützung für DNS-UPDATE in einem voll ausgestatteten DNS-Modul finden. (Ich verwirre immer wieder die beiden großen DNS-Module, die Python hat, aber ich weiß, dass mindestens eines von ihnen definitiv UPDATE unterstützt.)