DNS-Server · 4 min read · Oct 02, 2025
So installieren Sie den schnellen und leichten DNS-Server MaraDNS auf CentOS 7
MaraDNS ist ein kleiner, kostenloser und leichter Domain Name Server. Es ist ein alternativer Open-Source-DNS-Server, der als Caching-, rekursiver oder autoritativer Nameserver fungiert. Es ist bemerkenswert einfach zu konfigurieren und für Linux- und Windows-Plattformen verfügbar. Es kann von hier heruntergeladen werden. Sie können hier mehr über DNS, rekursives DNS und autoritatives DNS lesen.
Unten sind einige interessante Eigenschaften von MaraDNS:
- Einfach zu installieren
- Geringer Speicherverbrauch (benötigt ca. 5 MB RAM)
- Kann als autoritativer Nameserver und rekursiver Nameserver fungieren.
- Nicht zu vergessen, die Dokumentation auf der MaraDNS-Website ist sehr einfach zu verstehen.
Lassen Sie uns nun mit MaraDNS auf CentOS 7 beginnen. Die folgenden Schritte führen Sie durch die Installation und Konfiguration von MaraDNS:
Installation von MaraDNS
Derzeit sind keine RPMs von MaraDNS für CentOS 7 verfügbar, daher werden wir es aus dem Quellcode installieren und kompilieren.
Installieren Sie gcc:
sudo yum install gccLaden Sie das neueste Quellarchiv von hier herunter. Sie können dies tun mit:
wget http://maradns.samiam.org/download/2.0/2.0.11/maradns-2.0.11.tar.bz2Extrahieren Sie den Inhalt des Archivs:
tar -xjf maradns-2.0.11.tar.bz2Wechseln Sie in das extrahierte MaraDNS-Verzeichnis, kompilieren und installieren Sie die Programme:
cd maradns-2.0.11sudo makesudo make installMaraDNS ist jetzt installiert. Der MaraDNS-Dienst ist unter /etc/init.d/maradns installiert. Sie können den Dienst einfach starten mit:
sudo /etc/init.d/maradns startUm den rekursiven Dämon zu starten, führen Sie aus:
sudo /etc/init.d/maradns.deadwood startStandardmäßig hört der autoritative Nameserver auf Port 127.0.0.1 und der rekursive auf Port 127.0.0.2.
Lassen Sie uns sicherstellen, dass MaraDNS beim Booten gestartet wird:
chkconfig maradns onDas Init-Skript des rekursiven DNS-Servers muss mit chkconfig kompatibel gemacht werden, bevor Sie es beim Start ausführen können. Fügen Sie den folgenden Inhalt an den Anfang der Datei /etc/init.d/maradns.deadwood hinzu:
# chkconfig: - 55 45
# description: MaraDNS ist ein sicherer Domain Name Server (DNS)
# probe: trueStellen Sie ein, dass es beim Booten ausgeführt wird:
chkconfig maradns.deadwood onKonfiguration von MaraDNS als autoritativer Nameserver
Autoritative DNS-Server “wissen” die Zuordnung von URL zu IP für eine gegebene Domain. Sie sind die Quelle der Informationen, die die rekursiven DNS-Server an Webclients wie Browser (Chrome, Firefox) senden. Sie können MaraDNS als autoritativen Nameserver konfigurieren:
Bearbeiten Sie die Konfigurationsdatei von MaraDNS, d.h. /etc/mararc:
ipv4_bind_addresses = "127.0.0.1"
chroot_dir = "/etc/maradns"
csv2 = {}
csv2["example.net."] = "db.example.net"
Die erste Zeile sagt MaraDNS, dass es auf IP-127.0.0.1 hören soll. Sie können weitere IPs hinzufügen, getrennt durch Kommas. Zum Beispiel: 127.0.0.1, x.x.x.x
Die zweite Zeile chroot_dir gibt das Verzeichnis an, in dem alle Zonen-Dateien aufbewahrt werden.
Die dritte Zeile initialisiert den csv2-Hash mit dem Befehl csv2 = {}.
Die vierte Zeile erwähnt die Zonen-Datei mit dem Namen db.example.net für den Domainnamen example.net.
Hier ist die Zonen-Datei mit dem Namen db.example.net für den Domainnamen example.net, die selbsterklärend ist:
example.net. +14400 soa ns1.example.net. [email protected]. 2012010117 14400 3600 604800 14400 ~
example.net. +14400 ns ns1.example.net. ~
example.net. +14400 ns ns2.example.net. ~
ns1.example.net. +14400 a 127.0.0.1 ~
ns2.example.net. +14400 a 127.0.0.1 ~
example.net. +14400 a 127.0.0.1 ~
www.example.net. +14400 a 127.0.0.1 ~
example.net. +14400 mx 10 mail.example.net. ~
mail.example.net. +14400 a 127.0.0.1 ~Sie beginnen mit der Start Of Authority (SOA)-Zeile. Dann geben Sie die autoritativen Nameserver und die anderen Datensätze an. Ein Datensatz besteht aus dem Domainnamen, TTL (Time to live), Datensatztyp und dem Wert des Datensatzes.
Zwei Dinge sind zu beachten: Alle Domainnamen enden mit einem Punkt, d.h. sie müssen vollständig qualifizierte Domainnamen sein, und alle Datensätze enden mit einem Tilde-Zeichen (~). Um mehr zu erfahren, lesen Sie die Dokumentation zum Format der Zonen-Dateien.
Um es einfacher zu machen, lassen Sie uns einfach example.net auf 127.0.0.1 zeigen. So machen Sie es:
example.net. 127.0.0.1 ~Starten Sie den Dienst neu mit:
sudo /etc/init.d/maradns restartKonfiguration von MaraDNS als rekursiver Nameserver
Wenn Ihr Webbrowser eine DNS-Anfrage sendet - vorausgesetzt, der Browser hat die Zuordnung nicht bereits im Cache gespeichert - wird sie an einen rekursiven DNS-Server gesendet. Es wird auch als DNS-Weiterleitung bezeichnet. Es hört standardmäßig auf Port 127.0.0.2 und Sie können weitere IPs hinzufügen, getrennt durch Kommas. Zum Beispiel: 127.0.0.2, x.x.x.x. Sie können MaraDNS als rekursiven Nameserver konfigurieren, indem Sie die folgenden Zeilen an die Datei /etc/dwood3rc anhängen:
upstream_servers = {}
upstream_servers["."] = "8.8.8.8, 8.8.4.4" # Anfragen an Google DNS-Server weiterleitenStarten Sie den Dienst neu mit:
sudo /etc/init.d/maradns.deadwood restartSie haben den MaraDNS-Server eingerichtet! :)
Tipp: Wenn Sie möchten, dass Ihr MaraDNS-Server auf externe DNS-Anfragen reagiert, müssen Sie:
Fügen Sie die öffentliche IP Ihres Computers zu beiden Konfigurationsdateien (/etc/mararc & /etc/dwood3rc) hinzu und ändern Sie sie wie folgt:
/etc/mararc:
ipv4_bind_addresses = "127.0.0.1, x.x.x.x" # Ersetzen Sie x.x.x.x durch die öffentliche Adresse Ihres Computers.
/etc/dwood3rc:
bind_address="127.0.0.2, x.x.x.x" # Ersetzen Sie x.x.x.x durch die öffentliche Adresse Ihres Computers.recursive_acl = “0.0.0.0/0” # Um Verbindungen von überall zuzulassen.
Sie können diese Beispieldateien von hier herunterladen. Vergessen Sie nicht, die Dienste erneut neu zu starten.
Das ist alles!
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.