DNS-Server · 6 min read · Oct 02, 2025

Wie man eigene DNS-Server (Primär und Sekundär) mit ISPConfig 3 (Debian Squeeze) betreibt

Wie man eigene DNS-Server (Primär und Sekundär) mit ISPConfig 3 (Debian Squeeze) betreibt

Version 1.0
Autor: Falko Timme
Folgen Sie mir auf Twitter

Dieses Tutorial zeigt, wie Sie eigene DNS-Server (primär und sekundär) mit ISPConfig 3 betreiben können. Dazu benötigen Sie zwei Server mit zwei unterschiedlichen öffentlichen IP-Adressen und mit installiertem ISPConfig 3. Ich werde hier Debian Squeeze für beide DNS-Server verwenden, um den Prozess der Basissystemeinrichtung und der Installation von ISPConfig 3 zu demonstrieren, aber sobald Sie ISPConfig 3 auf Ihren Servern installiert haben, ist die Konfiguration innerhalb von ISPConfig 3 identisch, unabhängig davon, welche Distribution Sie verwenden.

Ich gebe keine Garantie, dass dies bei Ihnen funktioniert!

1 Vorbemerkung

Unsere aktuelle Situation ist wie folgt: Wir haben

  • ISPConfig-Server #1 (server1.example.com): IP-Adresse 1.2.3.4; dieser wird unser primärer Nameserver sein.
  • ISPConfig-Server #2 (server2.example.com): IP-Adresse 1.2.3.5; dieser wird unser sekundärer Nameserver sein.

server1.example.com wird eine vollständige ISPConfig 3-Installation sein. Es wird der Master-ISPConfig 3-Server sein
(der die ISPConfig-Steuerungspanel-Oberfläche ausführt)
und als E-Mail-, Web-, DNS- und MySQL-Server fungieren (dies ist die häufigste Konfiguration - ein Server, der alle Dienste hat). server2.example.com wird ein Slave-ISPConfig 3-Server sein (keine ISPConfig-Steuerungspanel-Oberfläche) und wird nur als sekundärer DNS-Server fungieren. Natürlich können Sie die Dienste zwischen Ihren Servern nach Belieben aufteilen - das Tutorial “Installation einer Multiserver-Konfiguration mit dedizierten Web-, E-Mail-, DNS- und MySQL-Datenbankservern auf Debian 5.0 mit ISPConfig 3” sollte Ihnen die Idee geben.

DNS A-Einträge für server1.example.com und server2.example.com müssen bereits existieren (Sie können sie über das Kontrollpanel Ihres Domain-Registrars erstellen). Wir werden server1.example.com und server2.example.com später als die Nameserver für unsere Zonen verwenden; wenn Sie etwas wie ns1.example.com und ns2.example.com anstelle von server1.example.com und server2.example.com bevorzugen, können Sie diese verwenden, aber stellen Sie sicher, dass es auch DNS A-Einträge für ns1.example.com und ns2.example.com gibt (die auf die gleichen IPs wie server1.example.com oder server2.example.com zeigen).

Ich werde zeigen, wie man eine Zone für die Domain mydomain.com erstellt - diese Domain muss bereits über einen Domain-Registrar registriert sein. Nachdem ich die mydomain.com-Zone erstellt und überprüft habe, dass sowohl server1.example.com als auch server2.example.com alle mydomain.com-Einträge korrekt bereitstellen, werde ich zeigen, wie man server1.example.com und server2.example.com zu den autoritativen Nameservern für mydomain.com macht (siehe Kapitel 8).

Weitere Details zur Erstellung von DNS-Zonen/-Einträgen finden Sie in den Kapiteln 4.8 und 5.12 des ISPConfig 3-Handbuchs.

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

server1.example.com:

Bitte richten Sie server1.example.com wie in “Der perfekte Server - Debian Squeeze (Debian 6.0) mit BIND & Courier [ISPConfig 3]” gezeigt ein, aber stoppen Sie vor der Installation von ISPConfig 3.

Um den anderen MySQL-Instanzen zu ermöglichen, während der Installation von ISPConfig 3 eine Verbindung zur MySQL-Datenbank auf diesem Knoten herzustellen, müssen wir MySQL-Root-Benutzer-Einträge in der Master-Datenbank für jeden Slave-Server-Hostname und jede IP-Adresse hinzufügen. Melden Sie sich bei MySQL an:

mysql -u root -p

Führen Sie im MySQL-Shell die folgenden Abfragen aus:

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 durch die IP-Adresse und server2.example.com durch den Hostnamen Ihres sekundären DNS-Servers ersetzen!

Jetzt können wir ISPConfig 3 auf server1.example.com wie folgt 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

——————————————————————————–
_ _ _ _
| / | \ / \ / () / \
| | | | --.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ / | | | |–. \ / | | / \| ‘ \| | |/ ` | | |
| | | |
/\
/ / | | _/\ () | | | | | | | (| | __\ \
_/__/| __/\/|| |||||_, | __/ / |
|_
/
——————————————————————————–


>> Initiale Konfiguration
Betriebssystem: Debian 6.0 (Squeeze/Sid) oder kompatibel
Folgendes werden einige Fragen zur primären Konfiguration sein, seien Sie also vorsichtig.
Standardwerte sind in [Klammern] und können mit akzeptiert werden.
Tippen Sie “quit” (ohne Anführungszeichen), um den Installer zu stoppen.


Sprache auswählen (en,de) [en]: <– ENTER
Installationsmodus (standard,experte) [standard]: <– expert
Vollständig qualifizierter Hostname (FQDN) des Servers, z.B. server1.domain.tld [server1.example.com]: <– ENTER
MySQL-Server-Hostname [localhost]: <– ENTER
MySQL-Root-Benutzername [root]: <– ENTER
MySQL-Root-Passwort []: <– yourrootsqlpassword
MySQL-Datenbank zu erstellen [dbispconfig]: <– ENTER
MySQL-Zeichensatz [utf8]: <– ENTER
Soll dieser Server einer bestehenden ISPConfig-Multiserver-Konfiguration beitreten (y,n) [n]: <– ENTER
Hinzufügen des ISPConfig-Serverdatensatzes zur Datenbank.
E-Mail konfigurieren (y,n) [y]: <– ENTER
Konfigurieren von Postfix
Generierung eines 2048-Bit-RSA-Privatschlüssels
………………………………………………………………………………..+++
……………………..+++
Schreiben des neuen Privatschlüssels in ‘smtpd.key’
—–
Sie werden aufgefordert, Informationen einzugeben, die in Ihre Zertifikatsanforderung aufgenommen werden.
Was Sie eingeben werden, wird als Distinguished Name oder DN bezeichnet.
Es gibt einige Felder, die Sie leer lassen können
Für einige Felder gibt es einen Standardwert,
Wenn Sie ‘.’ eingeben, wird das Feld leer gelassen.
—–
Ländercode (2 Buchstaben) [AU]: <– ENTER
Bundesland oder Provinzname (vollständiger Name) [Some-State]: <– ENTER
Ortsname (z.B. Stadt) []: <– ENTER
Organisationsname (z.B. Unternehmen) [Internet Widgits Pty Ltd]: <– ENTER
Organisatorische Einheit (z.B. Abteilung) []: <– ENTER
Allgemeiner Name (z.B. IHR Name) []: <– ENTER
E-Mail-Adresse []: <– ENTER
Konfigurieren von SASL
Konfigurieren von PAM
Konfigurieren von Courier
Konfigurieren von Spamassassin
Konfigurieren von Amavisd
Konfigurieren von Getmail
Postfix Mail Transport Agent stoppen: postfix.
Postfix Mail Transport Agent starten: postfix.
SASL-Authentifizierungsdaemon stoppen: saslauthd.
SASL-Authentifizierungsdaemon starten: saslauthd.
amavisd stoppen: amavisd-new.
amavisd starten: amavisd-new.
ClamAV-Daemon stoppen: clamd.
ClamAV-Daemon starten: clamd Bytecode: Sicherheitsmodus auf “TrustSigned” gesetzt.
.
Courier-Authentifizierungsdienste stoppen: authdaemond.
Courier-Authentifizierungsdienste starten: authdaemond.
Courier IMAP-Server stoppen: imapd.
Courier IMAP-Server starten: imapd.
Courier IMAP-SSL-Server stoppen: imapd-ssl.
Courier IMAP-SSL-Server starten: imapd-ssl.
Courier POP3-Server stoppen: pop3d.
Courier POP3-Server starten: pop3d.
Courier POP3-SSL-Server stoppen: pop3d-ssl.
Courier POP3-SSL-Server starten: pop3d-ssl.
Jailkit konfigurieren (y,n) [y]: <– ENTER

Jailkit konfigurieren
FTP-Server konfigurieren (y,n) [y]: <– ENTER

Pureftpd konfigurieren
FTP-Server neu starten: 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
DNS-Server konfigurieren (y,n) [y]: <– ENTER

BIND konfigurieren

Hinweis: Wenn dieser Server die ISPConfig-Oberfläche ausführen soll, wählen Sie ‘y’ in der Option ‘Apache-Server konfigurieren’.

Apache-Server konfigurieren (y,n) [y]: <– ENTER

Apache konfigurieren
Vlogger konfigurieren
Apps vhost konfigurieren
Firewall-Server konfigurieren (y,n) [y]: <– ENTER

Firewall konfigurieren
ISPConfig-Weboberfläche installieren (y,n) [y]: <– ENTER

ISPConfig installieren
ISPConfig-Port [8080]: <– ENTER

SSL für die ISPConfig-Weboberfläche aktivieren (y,n) [y]: <– ENTER

Generierung des RSA-Privatschlüssels, 4096-Bit-lange Modulus
…………………………………………………………………………………………………..++
…………………………….++
e ist 65537 (0x10001)
Sie werden aufgefordert, Informationen einzugeben, die in Ihre Zertifikatsanforderung aufgenommen werden.
Was Sie eingeben werden, wird als Distinguished Name oder DN bezeichnet.
Es gibt einige Felder, die Sie leer lassen können
Für einige Felder gibt es einen Standardwert,
Wenn Sie ‘.’ eingeben, wird das Feld leer gelassen.
—–
Ländercode (2 Buchstaben) [AU]: <– ENTER
Bundesland oder Provinzname (vollständiger Name) [Some-State]: <– ENTER
Ortsname (z.B. Stadt) []: <– ENTER
Organisationsname (z.B. Unternehmen) [Internet Widgits Pty Ltd]: <– ENTER
Organisatorische Einheit (z.B. Abteilung) []: <– ENTER
Allgemeiner Name (z.B. IHR Name) []: <– ENTER
E-Mail-Adresse []: <– ENTER

Bitte geben Sie die folgenden ‘extra’ Attribute ein,
die mit Ihrer Zertifikatsanforderung gesendet werden
Ein Herausforderungs-Passwort []: <– ENTER
Ein optionaler Firmenname []: <– ENTER
Schreiben des RSA-Schlüssels
DBServer konfigurieren
ISPConfig-Crontab installieren
keine Crontab für root
keine Crontab für getmail
Webserver neu starten: apache2 … warten .
Installation abgeschlossen.
root@server1:/tmp/ispconfig3_install/install# Wenn Sie sich entschieden haben, SSL für die ISPConfig-Weboberfläche zu aktivieren, können Sie die ISPConfig-Weboberfläche unter https://server1.example.com:8080 erreichen, andernfalls unter http://server1.example.com:8080.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.