Linux Server setup

DNS Einträge bearbeiten

Das Internet ist ein IP-basiertes Netzwerk und braucht an sich gar keine Domainnamen, mit Ausnahme von E-Mail-Servern. Wenn Rechner über Netzwerke kommunizieren, adressieren sie Datenpakete an IP Adressen. Ein Domainname ist also nur ein Synonym für eine IP Adresse. Nameserver, bzw. DNS (Domain Name System) Dienste, sind auf der ganzen Welt verteilt und haben zur Aufgabe, Domainnamen in IP Adressen aufzulösen. Ähnlich einem Telefonbuch, wo über einen Namen eine Telefonnummer nachgeschlagen wird. Nameserver übersetzen auch in die andere Richtung, IP nach Domain, aber dazu später mehr, wenn es um Mailserver geht.

Mit DNS Einträgen bestimmen wir, zu welcher IP Adresse unsere Domain aufgelöst werden soll.

DNS Einträge, sogenannte Resource Records, können verschiede Zwecke haben. Uns interessieren hauptsächlich diese:

  • A-Record: Weist einem DNS Namen eine IPv4-Adresse zu.
  • MX-Record: Bezieht sich ausschließlich auf E-Mail Dienste. Die Besonderheit ist hier, dass der Eintrag einen FQDN (Full Qualified Domain Name) bereithält, da ein MX-Record nicht auf eine IP Adresse verweisen kann.
  • NS-Record: Verantwortliche oder bestimmende Nameserver (übergeordneter Server/Hoster, der weiter delegiert).
  • SOA-Record: Steht für "Start of Authority". Dieser Record hält diverse Informationen und steuert auch indirekt das Timing zur Aktualisierung.

Wir haben von unserem Hoster eine IP und eine Domain bekommen. Unsere DNS Konfiguration schreiben wir in eine "Zonendatei", womit wir bestimmen zu welcher IP unsere Domains und Subdomains aufgelöst werden sollen. Die Zonendatei hinterlegen wir bei unserem Hoster, der diese in seinen Nameserver aufnimmt. Alle Nameserver weltweit synchronisieren sich regelmäßig und halten so ihre Datenbanken aktuell. Es kann unter Umständen mehrere Stunden dauern, bis unsere DNS Konfiguration auf der ganzen Welt bekannt ist.

Die IP finden wir in dem Projekt "P1" am Servereintrag in der Hetzner Cloud Umgebung.

Unter Projekt P1 wird unser Server aufgelistet. Dort steht die IP. Da wir sie immer wieder brauchen werden, sollten wir sie notieren, um nicht jedes Mal hier hin navigieren zu müssen.

zur Cloud Seite wechseln
Projekt auswählen
Serverliste mit IP

Wir wechseln jetzt zur Hetzners DNS Verwaltung, wo wir die Einträge hinterlegen. Nebenbei bemerkt ist diese Seite nur auf Englisch verfügbar.

zur DNS Seite wechseln

Wir erstellen zunächst eine neue Zone mit "add new zone". In das Feld "your DNS zone" schreiben wir den neu registrierten Domainnamen. Von den drei Optionen wählen wir "import zone file". Damit können wir die Zonendatei direkt editieren. Wir könnten das auch mit der ersten Option über Formularfelder zusammen klicken, ich finde es allerdings im Original übersichtlicher. Außerdem ist es bestimmt lehrreich die DNS Syntax mal gesehen zu haben. Mit einem Klick auf "continue" sehen wir eine Standard Vorlage. Diese werden wir ergänzen.

DNS Konsole
neue Zone erstellen
standard Zonen Datei

Die Standard Einträge sind die Folgenden:


$ORIGIN linuxserversetup.com.
@     IN  A
www   IN  A
mail  IN  A
@     IN  MX  10 mail
@     IN  NS  hydrogen.ns.hetzner.com.
@     IN  NS  oxygen.ns.hetzner.com.
@     IN  NS  helium.ns.hetzner.de.

Kurze Erklärung

Die $ORIGIN Anweisung definiert den Zonennamen. Das @ Zeichen ist ein Platzhalter, für $ORIGIN. Dem A-Record sind somit linuxserversetup.com. sowie die Subdomains www und mail zugewiesen. Der MX (Mail Exchange) Eintrag ist für den Mail-Server gedacht und ist mit der Priorität 10 gesetzt. Bei mehreren Mailservern würde die geringere Zahl bevorzugt. Die drei Nameserver werden mit NS gelistet. Die Zonenklasse IN steht für "Internet". Noch ein Hinweis zu dem Punkt . am Ende der Domain: der ist wichtig, da es Bestandteil eines Fully Qualified Domain Name (FQDN) ist.

Unsere Ergänzungen

Wir vervollständigen die Zonendatei mit unserer Server IP, dem zuvor erwähnten SOA Resource Record und noch einer Subdomain "dev". Das Datumsformat vom SOA serial ist gemäß ISO 8601: YYYY-MM-DD. Die Anzahl der Änderungen wird durch die letzten beiden Ziffern dargestellt. Dieser Zähler beginnt bei 1.

Die finale Zonendatei

Unsere DNS Datei sollte schließlich diese Einträge haben. Meine Server IP ist 116.203.69.89, Du musst hier natürlich Deine eintragen:


$ORIGIN linuxserversetup.com.

; SOA Records
$TTL 86400
@    IN  SOA  hydrogen.ns.hetzner.com. dns.hetzner.com. (
     2021123101  ; serial
     86400       ; refresh
     10800       ; retry
     3600000     ; expire
     3600        ; negatives caching
)

; NS Records
@    IN  NS  hydrogen.ns.hetzner.com.
@    IN  NS  oxygen.ns.hetzner.com.
@    IN  NS  helium.ns.hetzner.de.

; MX Records
@    IN  MX  10 mail

; A Records
@    IN  A  116.203.69.89
mail IN  A  116.203.69.89
www  IN  A  116.203.69.89
dev  IN  A  116.203.69.89

Mit dem dev Record können wir später eine Subdomain (dev.linuxserversetup.com) als Entwicklungsseite anlegen und dieser ein eigenes TLS Zertifikat zuschreiben. Eine Anmerkung zu dem Eintrag mail: Die Subdomain mail.linuxserversetup.com ist für den Mail-Exchange Server wichtig, daher werden ihn die meisten Webserver auch brauchen.

Zonen Datei überprüfen
Zonen Datei speichern
Zonen Datei eingereicht

Mit "check file" überprüfen wir die Datei. Wenn alles in Ordnung ist speichern wir sie ab und müssen uns dann etwas gedulden. Diese Daten warten jetzt darauf, von anderen Nameservern abgeholt zu werden, die in gewissen Zeitabständen ihre DNS Datenbank aktualisieren. In der Regel dauert es nur ein paar Stunden bis der ganze Globus unsere Domain zu unserer Server IP auflösen kann.

Den Hinweis, dass wir die Nameserver anpassen müssen, können wir ignorieren, da wir die schon bei der Domain Registrierung hinterlegt haben.

Weitere mögliche Record Typen

Es gibt noch diverse andere Record Typen, die wir vorerst nicht brauchen, aber eventuell später mal zum Einsatz kommen könnten. Zum Beispiel:

  • AAAA-Record: Auch "quad-A" genannt, verweist auf IPv6 Adressen.
  • CNAME-Record: Alias für andere DNS Namen.
  • PTR-Record: Steht für "Pointer" und ist für DNS inverse Anfragen (reverse DNS lookup).
  • TXT-Record: Erlaubt es einem Administrator Text in den DNS Eintrag zu schreiben. Meistens sind das SPF-Einträge (Sender Policy Framework), zum Beispiel als Spamschutz, oder um die Domaininhaberschaft gegenüber Services wie Google Console zu authentifizieren.