Eigene DNS Server (Primär und Sekundär) mit ISPConfig 3 aufsetzen (Debian Squeeze)
6 Testen
Nun können Sie testen, ob die Zone und ihre Einträge korrekt auf server1.example.com und server2.example.com eingerichtet wurden. Hierzu können Sie dig benutzen. Den folgenden Befehl können Sie auf jedem der Server ausführen (server1.example.com, server2.example.com, oder ein beliebiger anderer):
dig @server1.example.com any mydomain.com
Der Befehl lässt server1.example.com alle Einträge ausgeben, welche er für mydomain.com besitzt:
root@server1:~# dig @server1.example.com any mydomain.com
; <<>> DiG 9.7.3 <<>> @server1.example.com any mydomain.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45584
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;mydomain.com. IN ANY
;; ANSWER SECTION:
mydomain.com. 86400 IN A 78.46.230.214
mydomain.com. 86400 IN MX 10 mail.mydomain.com.
mydomain.com. 86400 IN NS server1.example.com.
mydomain.com. 86400 IN NS server2.example.com.
mydomain.com. 86400 IN SOA server1.example.com. zonemaster.example.com. 2011071901 28800 7200 604800 86400
;; ADDITIONAL SECTION:
mail.mydomain.com. 86400 IN A 78.46.230.214
;; Query time: 0 msec
;; SERVER: 1.2.3.4#53(1.2.3.4)
;; WHEN: Tue Jul 19 14:09:38 2011
;; MSG SIZE rcvd: 182
root@server1:~#
Führen Sie den Befehl für server2.example.com aus, sollte dieser die selben Einträge ausgeben.
dig @server2.example.com any mydomain.com
root@server1:~# dig @server2.example.com any mydomain.com
; <<>> DiG 9.7.3 <<>> @server2.example.com any mydomain.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5183
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;mydomain.com. IN ANY
;; ANSWER SECTION:
mydomain.com. 86400 IN A 78.46.230.214
mydomain.com. 86400 IN MX 10 mail.mydomain.com.
mydomain.com. 86400 IN NS server2.example.com.
mydomain.com. 86400 IN NS server1.example.com.
mydomain.com. 86400 IN SOA server1.example.com. zonemaster.example.com. 2011071901 28800 7200 604800 86400
;; ADDITIONAL SECTION:
mail.mydomain.com. 86400 IN A 78.46.230.214
;; Query time: 0 msec
;; SERVER: 1.2.3.5#53(1.2.3.5)
;; WHEN: Tue Jul 19 14:10:07 2011
;; MSG SIZE rcvd: 182
root@server1:~#
Sie können das selbe für www.mydomain.com, mail.mydomain.com und jeden anderen von Ihnen erstellten Hostnamen machen, z.B.:
dig @server1.example.com any www.mydomain.com
dig @server2.example.com any www.mydomain.com
dig @server1.example.com any mail.mydomain.com
dig @server2.example.com any mail.mydomain.com
Geben Sie die selben Einträge aus, funktioniert Ihr primäres/sekundäres DNS Setup wie gewollt!
7 Weitere Einträge erstellen
Zu Demonstrationszwecken können wir einen SPF Eintrag erstellen. Ein SPF Eintrag ist ein TXT Eintrag, also klicken Sie auf den TXT Button im Records Reiter der mydomain.com Zone.
Das Formular enthält die folgenden Felder:
- Hostname: Der Name den dieser Eintrag beschreibt. Dieses Feld kann einen FQDN oder einen normalen Hostnamen enthalten. Wollen Sie einen FQDN spezifizieren, muss der Name mit einem Punkt enden; wollen Sie einen Hostnamen spezifizieren, darf er nicht mit einem Punkt enden. Tragen Sie hier mydomain.com. ein (vergessen Sie den Punkt am Ende, würde der Hostname mit mydomain.com.mydomain.com übersetzt werden).
- Text: Sie können den SPF Wizard unter http://old.openspf.org/ benutzen, um herauszufinden, was Sie hier eintragen müssen (z.B. v=spf1 a mx ptr -all).
- TTL: Das Zeitintervall (in Sekunden), für das Eintrag gecached werden soll, bevor die Informationsquelle erneut befragt wird. Nullwerte führen dazu, dass der Eintrag nicht gecached wird.
- Active: Definiert, ob der TXT Eintrag aktiv ist oder nicht.
Warten Sie einpaar Minuten und schauen Sie dann nach, ob der Record auf beiden Servern erstellt wurde :
dig @server1.example.com any mydomain.com
root@server1:~# dig @server1.example.com any mydomain.com
; <<>> DiG 9.7.3 <<>> @server1.example.com any mydomain.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23141
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;mydomain.com. IN ANY
;; ANSWER SECTION:
mydomain.com. 86400 IN A 78.46.230.214
mydomain.com. 86400 IN MX 10 mail.mydomain.com.
mydomain.com. 86400 IN NS server2.example.com.
mydomain.com. 86400 IN NS server1.example.com.
mydomain.com. 86400 IN TXT „v=spf1 a mx ptr -all“
mydomain.com. 86400 IN SOA server1.example.com. zonemaster.example.com. 2011071903 28800 7200 604800 86400
;; ADDITIONAL SECTION:
mail.mydomain.com. 86400 IN A 78.46.230.214
;; Query time: 0 msec
;; SERVER: 1.2.3.4#53(1.2.3.4)
;; WHEN: Tue Jul 19 14:23:19 2011
;; MSG SIZE rcvd: 215
root@server1:~#
dig @server2.example.com any mydomain.com
root@server1:~# dig @server2.example.com any mydomain.com
; <<>> DiG 9.7.3 <<>> @server2.example.com any mydomain.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13876
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;mydomain.com. IN ANY
;; ANSWER SECTION:
mydomain.com. 86400 IN A 78.46.230.214
mydomain.com. 86400 IN MX 10 mail.mydomain.com.
mydomain.com. 86400 IN NS server1.example.com.
mydomain.com. 86400 IN NS server2.example.com.
mydomain.com. 86400 IN TXT „v=spf1 a mx ptr -all“
mydomain.com. 86400 IN SOA server1.example.com. zonemaster.example.com. 2011071903 28800 7200 604800 86400
;; ADDITIONAL SECTION:
mail.mydomain.com. 86400 IN A 78.46.230.214
;; Query time: 1 msec
;; SERVER: 1.2.3.5#53(1.2.3.5)
;; WHEN: Tue Jul 19 14:23:36 2011
;; MSG SIZE rcvd: 215
root@server1:~#
Mehr Details darüber, wie man DNS Zonen/Einträge erstellt, können in Kapitel 4.8 und 5.12 des ISPConfig 3 Manual nachgeschlagen werden.
8 server1.example.com und server2.example.com als autoritative Nameserver von mydomain.com festlegen
Nun, da alles wie geplant funktioniert, können Sie server1.example.com und server2.example.com als „offizielle“ (=autoritative) Nameserver für mydomain.com festlegen. Wenn Sie eine Domain bei Ihrem Domainregistrar registrieren, benutzt diese automatisch DNS Server des Registrars (esseidenn Sie bestimmen Ihre eigenen Nameserver), was bedeutet, dass, sollten andere Hosts versuchen Ihre Domain aufzulösen, die DNS Server Ihres Domainregistrars angesprochen werden anstatt der DNS Server Ihrer ISPConfig Server.
Um dies zu ändern, greifen Sie auf die Kontrolloberfläche Ihres Domainregistrars zu, wählen Sie Ihre Domain aus und legen Sie die DNS Server Ihrer ISPConfig als autoritative Nameserver Ihrer Domain fest (dies ist ein Screenshot der ResellerClub Kontrolloberfläche, andere Domainregistrare haben jedoch ähnliche Oberflächen):
Beachten Sie bitte, dass Sie diesen Schritt erst tätigen, nachdem Sie die entsprechenden DNS Einträge auf Ihrem ISPConfig Server erstellt haben, da einige Register sich beschweren, wenn sie keine Einträge für die Domain auf den neuen autoritativen Nameservern finden.
Registrieren Sie eine neue Domain und wollen Ihre ISPConfig Server als autoritative DNS Server für diese nutzen, sollten Sie zuerst die Zone für die Domain auf den ISPConfig Servern einrichten und dann, während Sie die Domain registrieren, die ISPConfig Server als autoritative Nameserver festlegen. Auf diesem Wege benutzt Ihre Domain von Anfang an die ISPConfig Server.
9 Links
- ISPConfig 3 Manual: http://www.ispconfig.org/ispconfig-3/ispconfig-3-manual/
- Installing A Multiserver Setup With Dedicated Web, Email, DNS And MySQL Database Servers On Debian 5.0 With ISPConfig 3: https://www.howtoforge.com/installing-a-multiserver-setup-with-dedicated-web-email-dns-and-mysql-database-servers-on-debian-5.0-with-ispconfig-3
- Debian: http://www.debian.org/