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 gcc

Laden 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.bz2

Extrahieren Sie den Inhalt des Archivs:

tar -xjf maradns-2.0.11.tar.bz2

Wechseln Sie in das extrahierte MaraDNS-Verzeichnis, kompilieren und installieren Sie die Programme:

cd maradns-2.0.11
sudo make
sudo make install

MaraDNS 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 start

Um den rekursiven Dämon zu starten, führen Sie aus:

sudo /etc/init.d/maradns.deadwood start

Standardmäß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 on

Das 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: true

Stellen Sie ein, dass es beim Booten ausgeführt wird:

chkconfig maradns.deadwood on

Konfiguration 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 restart

Konfiguration 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 weiterleiten

Starten Sie den Dienst neu mit:

sudo /etc/init.d/maradns.deadwood restart

Sie 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!

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.