Einrichten eines eigenen Namensdienstes (DNS) mit ISPConfig

Das Internet arbeitet mit IP-Nummern und um von einem Domainnamen zu seiner IP-Adresse zu gelangen, wird das Domain Name System DNS verwendet. Sie können einen eigenen Namensdienst einrichten oder z.B. den Namensdienst Ihres Hosting-Providers nutzen. So oder so, Sie richten eine Zuordnung von Fully Qualified Domain Name zu einer IP-Nummer ein. Beispielsweise hat FQDN mail.howtoforge.com die Adresse 78.46.214.220.

Dieses Tutorial verwendet den Domainnamen xyzzy.tld. Host Name ist ein Name, der einem Host gegeben wird, z.B. foobar. Die Kombination von Hostname und Domain-Name ergibt den voll qualifizierten Domain-Namen FQDN, z.B. foobar.xyzzy.tld.

Wenn die Domain außerhalb Ihrer eigenen Organisation genutzt werden soll, muss die Domain registriert werden. Der Registrar fragt nach zwei Name-Servern. Zumindest einige Registrierstellen erlauben die Registrierung zuerst und Name-Server können später, vielleicht bis zu einem Monat später, angegeben werden. Aber der Registrar droht, Ihren Domainnamen zu widerrufen, wenn er nicht zwei funktionierende Nameserver erhält.

Wenn Sie Ihre eigenen Name-Server betreiben wollen, benötigen Sie zwei Name-Server-Hosts. Wenn Sie nur einen Host haben, können Sie ihn so einrichten, dass er Websites, E-Mails, Datenbanken usw. und Namensdienste ausführt, aber dann muss der zweite Name-Server irgendwie eingerichtet werden.

Wenn Sie den Nameservice nur innerhalb Ihrer eigenen Organisation anbieten, müssen Sie die Domain nicht registrieren und können nur einen Nameserver haben.

Der ISPConfig-Teil dieses Tutorials geht davon aus, dass ein Multiserver-Setup installiert wurde, mit einem Host mit allem außer dem Namensdienst und zwei Hosts für den Namensdienst. Insgesamt drei Gastgeber. Die Hostnamen sind web, ns1 und ns2. Sie können nur zwei Hosts verwenden, wenn im Web auch der Name Service läuft und die anderen Hosts auch der Name Server sind.

Der Namensdienst hat Datensätze, verschiedene Arten. Stellen Sie A-Records auf die IP-Nummer Ihrer Hosts ein. Wenn IPv6 verwendet wird, ist es AAAA-Record. Wenn Sie drei Hosts haben, richten Sie drei A-Records ein. Setzen Sie zwei NS-Einträge auf die Hostnamen des Name-Servers.

Sammle die benötigten Informationen auf diese Weise:

Host oder Domäne IP-Adresse Wird verwendet für
xyzzy.tld 192.168.260.71 Adresse der Webseite
Netz 192.168.250.71 Webserver
ns1 192.168.250.73 Name-Server
ns2 192.168.258.75 Name-Server

1.1 Verwendung von ISPConfig 3.x

Installieren Sie die drei Hosts und ISPConfig auf ihnen mit dem Multiserver-Setup. Ich habe Debian GNU/Linux 9.5 und ISPConfig 3.1.12 verwendet, um dieses Tutorial zu testen.

Wenn Sie mehrere Domänen planen, ist es einfacher, DNS-Vorlagen einzurichten. Siehe ISPConfig-Handbuch Kapitel 4.8.1.3 Vorlagen. Hier wird nur eine Domain hinzugefügt, so dass keine Vorlagen verwendet werden.

Gehen Sie zur Registerkarte DNS und klicken Sie auf „Neue DNS-Zone manuell hinzufügen“. Diese Zone ist die Konfigurationsdatei für Ihre Domain, Sie können davon ausgehen, dass sie mehr oder weniger die gleiche ist wie die Domain, die Sie verwenden möchten.

Die Screenshots zeigen, wie man das DNS-Zonenformular ausfüllt. Wenn Sie diese Zone für einen Kunden einrichten, geben Sie den Kunden im Formular ein. Sie können es leer lassen, wenn Sie diese Zone für sich selbst einstellen oder keine Kunden in ISPConfig anlegen wollen.

DNS-Zonenformular in ISPConfig

Speichern und gehen Sie auf die Registerkarte Datensätze.

DNS-Einträge

Fügen Sie auf der Registerkarte Datensätze Datensätze hinzu, indem Sie auf die grüne Schaltfläche für den gewünschten Datensatz klicken. Um z.B. einen Datensatz zu erhalten, drücken Sie die grüne Taste mit A. Wenn Sie FQDN-Hostnamen schreiben, denken Sie daran, Punktzeichen „.“ am Ende des Namens hinzuzufügen. Einige Felder in den ISPConfig DNS-Formularen benötigen sie, um einen korrekt funktionierenden Namensservice Eintrag zu erstellen. Es ist einfacher, es immer zu schreiben, als sich zu erinnern, wo es nicht gebraucht wird.

Du kannst weitere Datensätze hinzufügen, wenn du willst.

Die rote Kugel mit einer Zahl oben im ISPConfig Panel-Fenster zeigt an, dass das Speichern auf der Festplatte im Gange ist. Die Zahl gibt an, wie viele Datensätze noch zu schreiben sind. Warten Sie zwei Minuten oder bis die rote Kugel verschwindet, bevor Sie testen, sonst testen Sie möglicherweise die alten Setups.

Wenn Sie mehr Name-Server benötigen oder vielleicht nur einen Host hatten, auf dem Sie ISPConfig installiert haben, können Sie dem ISPConfig-Setup Hosts hinzufügen. Für Hosts, die nur den Namensservice ausführen, ist sogar ein kleiner Host ausreichend. Wenn Sie Linux und ISPConfig auf dem Host installieren können und er eine statische IP-Adresse hat, können Sie ihn als Name-Server verwenden. Sie können es in Ihrem Büro oder zu Hause ausführen, aber die statische IP-Adresse kann schwer zu bekommen oder kostspielig sein. Hosting-Provider haben kleine und günstige Angebote, und Sie können diese statische IP-Adresse erhalten. Sie können ein ISPConfig-Multiserver-Setup einrichten, bei dem sich ein Host irgendwo und der andere Host irgendwo anders befindet.

Wenn Sie verwirrt sind, lesen Sie das ISPConfig-Handbuch.

1.2 Nutzung des Providernamensservice

Überspringen Sie dies, wenn Sie ISPConfig bereits zum Einrichten des Namensdienstes verwendet haben.

Wenn Ihre Hosts bei einem Hosting-Provider sind, bieten sie wahrscheinlich einen DNS-Service für ihre Hosting-Kunden an. Oder Sie finden einen DNS-Dienstleister.

Was die Nutzung dieser Dienste betrifft, so ist es schwierig, eine genaue Beratung zu geben. Wahrscheinlich hat jeder Anbieter ein anderes System. Alle von ihnen benötigen jedoch die Eingabe der Informationen, die Sie zu Beginn in der Tabelle gesammelt haben.

Lesen Sie das vorherige Kapitel und passen Sie sich dem Eingabeformular Ihres Anbieters an.

Der Hosting-Provider oder DNS-Provider betreibt höchstwahrscheinlich eine Reihe von Name-Servern, und alle DNS-Kunden verwenden diese. Die Name-Server heißen wahrscheinlich ns1.yourprovider.com, ns2.yourprovider.com. Der Provider kann Glue-Records anbieten, so dass Ihre Nameserver stattdessen als ns1.xyzzy.tld, ns2.xyzzy.tld bezeichnet werden. Lesen Sie die Anweisungen Ihres Anbieters, ob Klebeplatten verfügbar sind und wie Sie diese verwenden.

1.3 Prüfung

Denken Sie daran, zu überprüfen, ob der Namensdienst nun korrekt funktioniert. Melden Sie sich am ns1- oder ns2-Host an und starten Sie den Test. Dieses Beispiel läuft auf Debian GNU/Linux 9.5 Stretch, meine Vermutung ist, dass Ubuntu so ziemlich dasselbe ist. Andere Betriebssysteme können unterschiedlich sein. Wenn das Testen unter Windows nicht über den Hostbefehl verfügt, verwenden Sie stattdessen nslookup.

root@ns1:~# host web.xyzzy.tld 192.168.250.73
Using domain server:
Name: 192.168.250.73
Address: 192.168.250.73#53
Aliases: 

web.xyzzy.tld has address 192.168.250.71
root@ns1:~#

Der obige Test zeigt, dass der verwendete Name-Server 192.168.250.73 ist und löst den Namen web.xyzzy.tld in die IP-Nummer 192.168.250.71 auf, was wir in diesem Fall wollen. So zu testen ist sinnvoll, denn

  • Hostbefehl testet Namensdienst, wenn Sie den Hostnamen pingen, kann er zuerst in der Datei /etc/hosts nachschlagen und somit den Namensdienst überhaupt nicht testen.
  • die IP-Adresse im Hostbefehl nach FQDN ist die Adresse des Name-Servers, an die die Anfrage gesendet wird. Auf diese Weise sind wir sicher, dass wir den gerade eingerichteten Nameserver testen.
  • Die IP-Adresse wird für den Name-Server anstelle des Host-Namens verwendet, da der Name, wenn der Name Service nicht funktioniert, möglicherweise nicht auf die beabsichtigte IP-Nummer aufgelöst wird, also besser, die IP-Adresse direkt zu verwenden.

Überprüfen Sie andere Hostnamen, die Sie auf ähnliche Weise eingerichtet haben.

  • Wenn die zurückgegebene IP-Adresse falsch ist, korrigieren Sie sie.
  • Wenn nicht gefunden, überprüfen Sie die Rechtschreibung.
  • Wenn nicht gefunden, überprüfen Sie den Punkt am Ende des FQDN in ISPConfig, wo Sie die Namen eingegeben haben.
  • Wenn „Verbindung unterbrochen, konnten keine Server erreicht werden“: Der Name-Server läuft nicht oder die Netzwerkverbindung ist unterbrochen. Überprüfen Sie das Netzwerk z.B. mit einer pingenden IP-Nummer. Überprüfen Sie, ob der Host läuft. Überprüfen Sie, ob der Namensdienst läuft, unter Debian und Ubuntu mit
    systemctl status bind9.service

    .

  • Wenn alle oben genannten Funktionen keinen funktionierenden Namensservice erhalten, lesen Sie das Kapitel Tools.

Überprüfen Sie die Zoneninformationen, insbesondere die Name-Server, wie folgt:

root@ns1:~# dig @192.168.250.73 xyzzy.tld

; <<>> DiG 9.10.3-P4-Debian <<>> @192.168.250.73 xyzzy.tld
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64352
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;xyzzy.tld.			IN	A

;; ANSWER SECTION:
xyzzy.tld.		3600	IN	A	192.168.250.71

;; AUTHORITY SECTION:
xyzzy.tld.		3600	IN	NS	ns1.xyzzy.tld.
xyzzy.tld.		3600	IN	NS	ns2.xyzzy.tld.

;; ADDITIONAL SECTION:
ns1.xyzzy.tld.		3600	IN	A	192.168.250.73
ns2.xyzzy.tld.		3600	IN	A	192.168.250.75

;; Query time: 0 msec
;; SERVER: 192.168.250.73#53(192.168.250.73)
;; WHEN: Fri Aug 10 15:41:53 EEST 2018
;; MSG SIZE  rcvd: 122

root@ns1:~#

Dig erhält den Name-Server, an den die Abfrage gesendet wird, aus dem @-Parameter. Geben Sie dort die IP-Nummer des Name-Servers an.

Wenn dig die NS-Einträge korrekt anzeigt und die richtigen IP-Nummern für Nameserver in A-Einträgen, dann sieht es gut aus.

Führen Sie nun den obigen Test mit dem anderen Nameserver durch, Sie müssen sich nicht mehr bei ns2 anmelden, sondern führen Sie die Befehle erneut aus, sondern verwenden Sie die IP-Nummer des anderen Servers. Damit soll sichergestellt werden, dass auch der andere Name-Server so funktioniert, wie er sollte.

Sie können weiter testen, indem Sie Ihren Arbeitsplatz so einstellen, dass er diese neuen Nameserver verwendet, die Sie eingerichtet haben. Sie müssen die DNS-Server auf Ihrer Workstation ändern, siehe Anleitung für Ihr Betriebssystem im Handbuch oder aus dem Internet. Unter Linux können Sie die Datei /etc/resolv.conf bearbeiten. In Windows befindet es sich in den Netzwerkeinstellungen (an der gleichen Stelle, an der Sie den automatischen Erhalt der IP-Adresse eingerichtet haben).

1.4 Reverse-Name-Service

Überspringen Sie dies, wenn Sie keinen Reverse-Name-Service (die PTR-Einträge) benötigen.

Reverse Name Service löst den Namen auf, wenn die IP-Adresse angegeben wird. Es ist der umgekehrte Betrieb des üblichen Namensdienstes.

Wenn Sie den Namensdienst intern in Ihrem Unternehmen einrichten, können Sie den Reverse-Name-Service auf denselben Nameservern einrichten. Wenn Sie ISPConfig verwenden, erstellen Sie zunächst die umgekehrte Zone und erstellen dann PTR-Einträge in dieser Zone für jede Ihrer IP-Nummern.

Wenn der Reverse-Name-Service vom öffentlichen Internet aus funktionieren muss, dann können Sie Ihren eigenen Name-Server nicht verwenden, da er höchstwahrscheinlich kein autoritativer Name-Server für die IP-Reverse-Zone ist. Wenn ja, solltest du es wissen. Wenden Sie sich an Ihren Dienstanbieter oder das Unternehmen, das Ihnen Ihre IP-Nummern gegeben hat, und bitten Sie ihn, einen Reverse-Name-Service einzurichten. Teilen Sie ihnen mit, welche PTR-Datensätze Sie benötigen, oder finden Sie heraus, wie Sie die Web-Benutzeroberfläche nutzen können, die das Hosting-Unternehmen wahrscheinlich für die Verwendung von Reverse-Name-Service anbietet.

Um den Reverse Name Service mit ISPConfig einzurichten, erstellen Sie die DNS-Zone für den Reverse Service, sie muss mit den ersten drei Oktetts der IP-Nummer in umgekehrter Reihenfolge benannt werden, wobei am Ende „.in-addr.arpa“ hinzugefügt wird. In diesem Fall sind die IP-Nummern aus dem Subnetz 192.168.250/24, so dass die umgekehrte Zone 250.168.192.in-addr.arpa heißt. Denken Sie daran, auch NS-Datensätze in die umgekehrte Zone aufzunehmen.

Umgekehrte Zone

Erstellen Sie in dieser umgekehrten Zone PTR-Einträge wie folgt:

PTR-Einträge

Das Testen ist mit dem Hostbefehl einfach, wie so oft:

root@ns1:~# host 192.168.250.71 192.168.250.73
Using domain server:
Name: 192.168.250.73
Address: 192.168.250.73#53
Aliases: 

71.250.168.192.in-addr.arpa domain name pointer web.xyzzy.tld.

Es ist möglich, mehrere PTR-Einträge für dieselbe IP-Nummer einzurichten. Dann gibt die umgekehrte Abfrage alle zurück. Du möchtest das vielleicht nicht, also tu es nicht, es sei denn, du weißt, was du tust.

Wenn Sie einen Mailserver einrichten, z.B. mail.xyzzy.tld, müssen Sie den PTR-Eintrag einrichten, da die meisten Mailserver prüfen, ob die sendende IP-Nummer in den Hostnamen aufgelöst wird, den der Mailserver verwendet.

1.5 Werkzeuge

Wenn Sie vermuten, dass der Namensdienst nicht gestartet ist, überprüfen Sie dies mit

systemctl status bind9.service

Wenn es „Aktiv: aktiv (läuft)…“ anzeigt, funktioniert der Namensdienst. Interessieren Sie sich nicht für mögliche „network unreachable resolving … AAAA“ -Linien, wenn Sie sie erhalten, bedeutet das, dass Sie kein IPv6-Netzwerk zur Verfügung haben.

Wenn der Namensdienst ausgeführt wird, aber das Testen mit dem Hostbefehl keine Antworten zurückgibt, kann es sein, dass die Zonendatei fehlerhaft ist. Verwenden Sie named-checkzone, wenn bind die Zone nicht akzeptiert. Die fehlerhafte Zonendatei ist (unter Debian GNU/Linux) in /etc/bind/pri<name der Datei zone>.err, d.h. .err am Ende des Dateinamens hinzugefügt. Überprüfen Sie so:

root@ns1:~# named-checkzone  250.168.192.in-addr.arpa /etc/bind/pri.250.168.192.in-addr.arpa.err
zone 250.168.192.in-addr.arpa/IN: has no NS records
zone 250.168.192.in-addr.arpa/IN: not loaded due to errors.
root@ns1:~#

Reparieren Sie die Fehler in ISPConfig, wenn Sie sie mit dem ISPConfig Panel eingerichtet haben.

Es kann Fehler in der Protokolldatei geben, der Stopp- und Startnamensservice und sehen, was in der Datei /var/log/syslog steht. Zum Beispiel mit

grep named /var/log/syslog

Es gibt Websites, die Ihre Einrichtung des Namensdienstes überprüfen, Sie können Internet-Suchmaschinen verwenden, um sie zu finden. Ich kenne zonecheck.org, mxtoolbox.com, zonemaster.net.

1.6 Hilfe aufrufen

Wenn Sie im Forum um Hilfe bitten, macht das Verstecken des Domainnamens die Hilfe schwierig. Wenn Sie offenbaren, was die Domain ist, ist es einfach, das Setup zu überprüfen und Ratschläge zu geben, wenn etwas nicht stimmt. Wenn Sie den Domainnamen nicht öffentlich preisgeben können und die Verwendung dieses Tutorials und der Dokumentation aus den Interwebs nicht hilft, finden Sie jemanden, dem Sie mit Ihrem Domainnamen vertrauen können und der den Nameservice kennt, dann bitten Sie diese Person um Hilfe bei Ihrer Domain.

1.7 Registrierung einer Domain

Wenn Ihr Name Service für Ihre Zone in Ordnung ist, können Sie ihn registrieren, oder wenn er bereits vorher registriert wurde, können Sie nun Name-Server zur Registrierung hinzufügen und die Domain ist nach 4 – 48 Stunden aus dem Internet verfügbar, während die Informationen des Name Service um die Welt reisen.

Wenn Sie xyzzy.tld registrieren und es hat Name-Server ns1.xyzzy.tld, geben Sie IP-Nummern für Name-Server anstelle von Host-Namen an. Wenn Sie nur den Hostnamen ns1.xyzzy.tld angeben, wie wird der Name des Nameservers gefunden? Der einzige Ort, an dem die IP-Nummer verfügbar ist, ist auf ns1.xyzzy.tld, aber wie kann man darauf zugreifen, ohne die IP-Nummer zu kennen? Eine weitere Möglichkeit, dieses Dilemma zu lösen, ist die Verwendung von Glue-Records (siehe vorher), dann können Sie für Ihre Nameserver Namen anstelle von IP-Nummern verwenden.

Wenn Sie eine andere Domain plugh.tld registrieren, können Sie Name-Server als Hostnamen ns1.xyzzy.tld und ns2.xyzzy.tld angeben, da die xyzzy.tld-Domain bereits gut registriert ist und die Name-Server bekannt sind.

Das könnte dich auch interessieren …