Eigene DNS Server (Primär und Sekundär) mit ISPConfig 3 aufsetzen (Debian Squeeze)

Version 1.0
Author: Falko Timme , Christian Schmalfeld <c [dot] schmalfeld [at] projektfarm [dot] de>
Follow me on Twitter

Dieses Tutorial zeigt Ihnen, wie Sie mit ISPConfig 3 ihre eigenen primären und sekundären DNS Server aufsetzen können.Um dies zu bewerkstelligen, brauchen Sie zwei Server mit verschiedenen öffentlichen IP-Adressen und installiertem ISPConfig 3. Ich werde für beide DNS Server Debian Squeeze benutzen um den Setup-Prozess und die ISPConfig 3 Installation zu demonstrieren, sobald Sie ISPConfig 3 jedoch installiert haben, ist die Distribution die Sie benutzen im Grunde egal, da die ISPConfig 3 Konfiguration für alle Distributionen identisch ist.

Ich gebe für die Richtigkeit der Inhalte dieses Tutorials keinerlei Garantie!

1 Vorbemerkung

Unsere derzeitige Situation sieht wie folgt aus: wir haben
  • ISPConfig server #1 (server1.example.com): IP address 1.2.3.4; dies wird unser primärer Nameserver.
  • ISPConfig server #2 (server2.example.com): IP address 1.2.3.5; dies wird unser sekundärer Nameserver.
server1.example.com wird eine vollwertige ISPConfig 3 Installation. Er wird der Master ISPConfig 3 Server (welcher die ISPConfig Kontrolloberfläche benutzt) und als Email-, Web-, DNS- und MySQL-Server agieren (dies ist das häufigste Setup - ein Server mit allen Funktionen). server2.example.com wird der Slave ISPConfig 3 Server (keine ISPConfig Kontrolloberfläche) und wird nur als sekundärer DNS Server agieren. Natürlich können Sie alle Dienste aufteilen wie Sie es wollen - das englischsprachige Tutorial Installing A Multiserver Setup With Dedicated Web, Email, DNS And MySQL Database Servers On Debian 5.0 With ISPConfig 3 müsste Ihnen hier weiterhelfen können.

DNS A Einträge für server1.example.com und server2.example.com müssen bereits existieren (diesse können Sie in der Kontrolloberfläche ihres Domainregistrars erstellen). Wir werden server1.example.com und server2.example.com später als Nameserver für unsere Zonen benutzen. Wenn Namen wie ns1.example.com und ns2.example.com server1.example.com und server2.example.com vorziehen, können sie stattdessen diese Namen benutzen;  stellen Sie dann jedoch sicher, dass DNS A Einträge für ns1.example.com und ns2.example.com existieren (die auf die gleichen IPs zeigen wie server1.example.com oder server2.example.com).

Ich werde Ihnen zeigen, wie man Zonen für die Domain mydomain.com erstellt - diese Domain muss bereits durch einen Domainregistrar registriert worden sein. Nachdem ich die mydomain.com Zone erstellt und verifiziert habe, dass sowohl server1.example.com als auch server2.example.com alle mydomain.com Einträge korrekt verarbeiten, werde ich zeigen, wie man server1.example.com und server2.example.com zu den autoritativen Nameservern für mydomain.com macht (siehe Kapitel 8).

Mehr Details darüber, wie man DNS Zonen/Einträge erstellt, finden Sie in Kapitel 4.8 und 5.12 des ISPConfig 3 Manual.

2 Aufsetzen von server1.example.com (Primärer DNS Server)

server1.example.com:

Bitte setzen Sie server1.example.com wie in diesem Tutorial auf, Der Perfekte Server - Debian Squeeze (Debian 6.0) mit BIND und Courier [ISPConfig 3], halten Sie jedoch vor der ISPConfig 3 Installation ein.

Um allen Exemplaren von MySQL zu erlauben, während der ISPConfig 3 Installation auf dieser Verbindung auf die MySQL Datenbank zuzugreifen, müssen Sie zunächst MySQL root-Benutzereinträge für jedenSlaveserver Hostnamen und jede IP-Adresse zur Master-Datenbank hinzufügen. Loggen Sie sich dazu in MySQL ein:

mysql -u root -p

Benutzen Sie in der MySQL Shell folgende Befehle:

CREATE USER 'root'@'1.2.3.5' IDENTIFIED BY
'yourrootsqlpassword';

GRANT ALL PRIVILEGES ON * . * TO 'root'@'1.2.3.5' IDENTIFIED BY
'yourrootsqlpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0
MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS
0 ;

CREATE USER 'root'@'server2.example.com' IDENTIFIED
BY 'yourrootsqlpassword';

GRANT ALL PRIVILEGES ON * . * TO 'root'@'server2.example.com'
IDENTIFIED BY 'yourrootsqlpassword' WITH GRANT OPTION
MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR
0 MAX_USER_CONNECTIONS 0 ;

FLUSH PRIVILEGES;

quit;

Stellen Sie sicher, dass Sie 1.2.3.5 mit der IP-Adresse und server2.example.com mit dem Hostnamen Ihres sekundären DNS Servers ersetzen!

Nun können Sie ISPConfig 3 wie folgt auf server1.example.com installieren:

cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/

php -q install.php

root@server1:/tmp/ispconfig3_install/install# php -q install.php


--------------------------------------------------------------------------------
_____ ___________   _____              __ _         ____
|_   _/  ___| ___  /  __             / _(_)       /__  
| |  `--.| |_/ / | /  / ___  _ __ | |_ _  __ _    _/ /
| |  `--.   __/  | |    / _ | '_ |  _| |/ _` |  |_ |
_| |_/__/ / |     | __/ (_) | | | | | | | (_| | ___ 
___/____/_|      ____/___/|_| |_|_| |_|__, | ____/
__/ |
|___/
--------------------------------------------------------------------------------


>> Initial configuration

Operating System: Debian 6.0 (Squeeze/Sid) or compatible

Following will be a few questions for primary configuration so be careful.
Default values are in [brackets] and can be accepted with <ENTER>.
Tap in "quit" (without the quotes) to stop the installer.


Select language (en,de) [en]:
<-- ENTER
Installation mode (standard,expert) [standard]: <-- expert
Full qualified hostname (FQDN) of the server, eg server1.domain.tld  [server1.example.com]: <-- ENTER
MySQL server hostname [localhost]: <-- ENTER
MySQL root username [root]: <-- ENTER
MySQL root password []: <-- Ihrrootsqlpasswort
MySQL database to create [dbispconfig]: <-- ENTER
MySQL charset [utf8]: <-- ENTER
Shall this server join an existing ISPConfig multiserver setup (y,n) [n]: <-- ENTER
Adding ISPConfig server record to database.

Configure Mail (y,n) [y]:
<-- ENTER
Configuring Postfix
Generating a 2048 bit RSA private key
............................................................................................+++
..........................+++
writing new private key to 'smtpd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:
<-- ENTER State or Province Name (full name) [Some-State]: <-- ENTER Locality Name (eg, city) []: <-- ENTER Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- ENTER Organizational Unit Name (eg, section) []: <-- ENTER Common Name (eg, YOUR name) []: <-- ENTER Email Address []: <-- ENTER Configuring SASL
Configuring PAM
Configuring Courier
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Stopping Postfix Mail Transport Agent: postfix.
Starting Postfix Mail Transport Agent: postfix.
Stopping SASL Authentication Daemon: saslauthd.
Starting SASL Authentication Daemon: saslauthd.
Stopping amavisd: amavisd-new.
Starting amavisd: amavisd-new.
Stopping ClamAV daemon: clamd.
Starting ClamAV daemon: clamd Bytecode: Security mode set to "TrustSigned".
.
Stopping Courier authentication services: authdaemond.
Starting Courier authentication services: authdaemond.
Stopping Courier IMAP server: imapd.
Starting Courier IMAP server: imapd.
Stopping Courier IMAP-SSL server: imapd-ssl.
Starting Courier IMAP-SSL server: imapd-ssl.
Stopping Courier POP3 server: pop3d.
Starting Courier POP3 server: pop3d.
Stopping Courier POP3-SSL server: pop3d-ssl.
Starting Courier POP3-SSL server: pop3d-ssl.
Configure Jailkit (y,n) [y]:
<-- ENTER
Configuring Jailkit
Configure FTP Server (y,n) [y]:
<-- ENTER
Configuring Pureftpd
Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -Y 1 -8 UTF-8 -H -D -b -O clf:/var/log/pure-ftpd/transfer.log -E -u 1000 -A -B
Configure DNS Server (y,n) [y]:
<-- ENTER
Configuring BIND

Hint: If this server shall run the ISPConfig interface, select 'y' in the 'Configure Apache Server' option.

Configure Apache Server (y,n) [y]:
<-- ENTER
Configuring Apache
Configuring Vlogger
Configuring Apps vhost
Configure Firewall Server (y,n) [y]:
<-- ENTER
Configuring Firewall
Install ISPConfig Web Interface (y,n) [y]:
<-- ENTER
Installing ISPConfig
ISPConfig Port [8080]:
<-- ENTER
Enable SSL for the ISPConfig web interface (y,n) [y]: <-- ENTER
Generating RSA private key, 4096 bit long modulus
.................................................................................................................++
..................................++
e is 65537 (0x10001)
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:
<-- ENTER State or Province Name (full name) [Some-State]: <-- ENTER Locality Name (eg, city) []: <-- ENTER Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- ENTER Organizational Unit Name (eg, section) []: <-- ENTER Common Name (eg, YOUR name) []: <-- ENTER Email Address []: <-- ENTER Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
<-- ENTER An optional company name []: <-- ENTER writing RSA key
Configuring DBServer
Installing ISPConfig crontab
no crontab for root
no crontab for getmail
Restarting web server: apache2 ... waiting .
Installation completed.
root@server1:/tmp/ispconfig3_install/install#

Sollten Sie sich dafür entschieden haben, SSL für die ISPConfig Weboberfläche zu benutzen, können Sie diese nun unter https://server1.example.com:8080 oder http://server1.example.com:8080 erreichen.

3 Aufsetzen von server2.example.com (Sekundärer DNS Server)

server2.example.com:

server2.example.com kann nach Kapitel 6 des englischsprachigen Tutorials Installing A Multiserver Setup With Dedicated Web, Email, DNS And MySQL Database Servers On Debian 5.0 With ISPConfig 3 aufgesetzt werden. Ich werde die Schritte hier wiederholen:

apt-get -y install ntp ntpdate

apt-get -y install mysql-client mysql-server

New password for the MySQL "root" user: <-- Ihrrootsqlpasswort Repeat password for the MySQL "root" user: <-- Ihrrootsqlpasswort

apt-get -y install php5-cli php5-mysql php5-mcrypt mcrypt

apt-get -y install bind9 dnsutils

ISPConfig 3 kann nun folgendermaßen installiert werden:

cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/

php -q install.php

root@server2:/tmp/ispconfig3_install/install# php -q install.php


--------------------------------------------------------------------------------
_____ ___________   _____              __ _         ____
|_   _/  ___| ___  /  __             / _(_)       /__  
| |  `--.| |_/ / | /  / ___  _ __ | |_ _  __ _    _/ /
| |  `--.   __/  | |    / _ | '_ |  _| |/ _` |  |_ |
_| |_/__/ / |     | __/ (_) | | | | | | | (_| | ___ 
___/____/_|      ____/___/|_| |_|_| |_|__, | ____/
__/ |
|___/
--------------------------------------------------------------------------------


>> Initial configuration

Operating System: Debian 6.0 (Squeeze/Sid) or compatible

Following will be a few questions for primary configuration so be careful.
Default values are in [brackets] and can be accepted with <ENTER>.
Tap in "quit" (without the quotes) to stop the installer.


Select language (en,de) [en]:
<-- ENTER
Installation mode (standard,expert) [standard]: <-- expert
Full qualified hostname (FQDN) of the server, eg server1.domain.tld  [server2.example.com]: <-- ENTER
MySQL server hostname [localhost]: <-- ENTER
MySQL root username [root]: <-- ENTER
MySQL root password []: <-- Ihrrootsqlpasswort
MySQL database to create [dbispconfig]: <-- ENTER
MySQL charset [utf8]: <-- ENTER
Shall this server join an existing ISPConfig multiserver setup (y,n) [n]: <-- y
MySQL master server hostname []: <-- server1.example.com
MySQL master server root username [root]: <-- ENTER
MySQL master server root password []: <-- Ihrrootsqlpasswort_auf_server1.example.com
MySQL master server database name [dbispconfig]: <-- name_der_ispconfig_datenbank_auf_server1.example.com
Adding ISPConfig server record to database.

Configure Mail (y,n) [y]:
<-- n
Configure Jailkit (y,n) [y]: <-- n
Configure FTP Server (y,n) [y]: <-- n
Configure DNS Server (y,n) [y]: <-- ENTER
Configuring BIND

Hint: If this server shall run the ISPConfig interface, select 'y' in the 'Configure Apache Server' option.

Configure Apache Server (y,n) [y]:
<-- n
Configure Firewall Server (y,n) [y]: <-- ENTER
Configuring Firewall
Install ISPConfig Web Interface (y,n) [y]:
<-- n
Configuring DBServer
Installing ISPConfig crontab
no crontab for root
Installation completed.
root@server2:/tmp/ispconfig3_install/install#

4 Konfiguration von server2.example.com zum Mirror von server1.example.com

Öffnen Sie nun ihre ISPConfig 3 Kontrolloberfläche (http(s)://server1.example.com:8080) und gehen Sie nach System > Server Services. Wählen Sie: server2.example.com:


Stellen Sie sicher, dass die DNS-Server Checkbox angekreuzt ist, wählen Sie server1.example.com in der Is mirror of Server Auswahlbox und klicken Sie auf Save:

5 Eine DNS Zone erstellen

Um eine DNS Zone zu erstellen ist es empfehlenswert den DNS Wizard (DNS > DNS Wizard > Add DNS Zone oder klicken Sie auf den Add new DNS Zone with Wizard Button) zu benutzen, welcher automatisch ein Set von üblichen DNS Einträgen für Ihre Domain erstellen wird (wie www, mailns Einträge, etc.):


Dies wird sie zum Wizard bringen, um eine neue DNS Zone zu erstellen. Das Formular hat die folgenden Felder:
  • Template: Dies bezieht sich auf die Vorlagen, welche Sie unter DNS > DNS Wizard > Templates finden. Diese Vorlagen bestimmen, welche Einträge standartmäßig erstellt werden wenn Sie den DNS Wizard benutzen. Nehmen wir an, wir erstellen eine Zone für die Domain mydomain.com - die Default Vorlage wird A Einträge für mydomain.com, www.mydomain.com, und mail.mydomain.com, zwei NS (Nameserver) Einträge und einen MX (Mail Exchanger) Eintrag für mydomain.com erstellen, welcher nach mail.mydomain.com zeigt.
  • Server: Wählen Sie hier server1.example.com.
  • Client: Hier wählen Sie den Kunden, dem die neue DNS Zone gehört.
  • Domain: Tragen Sie hier die Domain ein, für die Sie eine Zone erstellen wollen, z.B. mydomain.com - beachten Sie bitte, dass kein Punkt am Ende gebraucht wird; das heißt, mydomain.com. würde genauso funktionieren, aber example.com (ohne den hinteren Punkt) reicht aus.
  • IP Address: Tragen Sie die IP-Adresse ein, zu der mydomain.com zeigen soll - beachten Sie bitte, dass www.mydomain.com und mail.mydomain.com ebenfalls zu dieser IP-Adresse zeigen werden (Sie können dies später unter DNS > DNS > Zones ändern).
  • NS 1: Tragen Sie den Hostnamen für den primären Nameserver der Domain ein, server1.example.com. Wieder wird der nachfolgende Punkt nicht gebraucht. Der Server den Sie hier eintragen muss entweder identisch mit dem jenigen sein, den Sie im Server Feld eingetragen haben, oder zu diesem zeigen.
  • NS 2: Tragen Sie den Hostnamen des sekundären Nameservers für die Domain ein, server2.example.com. Wieder wird der nachfolgende Punkt nicht gebraucht.
  • Email: Tragen Sie die Email-Adresse des Zonenadministrators ein, z.B. zonemaster@example.com.
Klicken Sie auf Create DNS Record um die Zone zu erstellen:


Danach können Sie die neue Zone in der Liste unter DNS > DNS > Zones finden:


Aus der Listenansicht ist es möglich, die DNS Zone zu löschen.

Editieren Sie die Zone und gehen in den Records Reiter, werden Sie die Einträge sehen, welche automatisch vom DNS Wizard erstellt worden sind (die Default Vorlage erstellt A Einträge für mydomain.com, www.mydomain.com, und mail.mydomain.com, zwei NS (Nameserver) Einträge und einen MX (Mail Exchanger) Eintrag für mydomain.com, welcher zu mail.mydomain.com zeigt):


Im Records Reiter können sie bestehende Einträge editieren und löschen, als auch neue hinzufügen.

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