MaraDNS ist ein kleiner, kostenloser und leichtgewichtiger 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 hier heruntergeladen werden. Hier können Sie mehr über DNS, rekursives DNS und autoritatives DNS lesen.
Nachfolgend sind einige interessante Eigenschaften von MarDNS aufgeführt:
- Einfach zu installieren
- Geringe Speichernutzung (benutzt ca. 5 MB RAM)
- Kann als autoritativer Nameserver und rekursiver Nameserver fungieren.
- Nicht zu übersehen, die Dokumentation auf der MaraDNS-Website ist sehr einfach zu verstehen.
Lassen Sie uns jetzt mit MaraDNS auf CentOS 7 beginnen. Die folgenden Schritte führen Sie zur 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 hier das neueste Quellarchiv herunter. Sie können dies tun als:
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 entpackte 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 wird unter /etc/init.d/maradns installiert. Sie können den Dienst einfach starten durch:
sudo /etc/init.d/maradns start
Um den rekursiven Dämon zu starten, führen Sie Folgendes aus:
sudo /etc/init.d/maradns.deadwood start
Standardmäßig lauscht 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 es beim Start ausgeführt werden kann. Fügen Sie den folgenden Inhalt am Anfang der Datei /etc/init.d/maradns.deadwood hinzu:
# chkconfig: - 55 45
# description: MaraDNS is secure Domain Name Server (DNS)
# probe: true
Stellen Sie es so ein, dass es beim Booten ausgeführt wird:
chkconfig maradns.deadwood on
Konfigurieren von MaraDNS als autoritativen Nameserver
Autorisierende DNS-Server „kennen“ die Zuordnung von URL zu IP für eine bestimmte Domäne. 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 als:
Bearbeiten Sie die Konfigurationsdatei von MaraDNS, z. B. /etc/mararc:
ipv4_bind_addresses = "127.0.0.1" chroot_dir = "/etc/maradns"
csv2 = {} csv2["example.net."] = "db.example.net"
Die erste Zeile weist MaraDNS an, auf IP-127.0.0.1 zu lauschen. Sie können weitere IPs hinzufügen, durch Komma getrennt. Zum Beispiel - 127.0.0.1, x.x.x.x
Die zweite Zeile chroot_dir soll das Verzeichnis erwähnen, in dem alle Zonendateien aufbewahrt werden.
Die dritte Zeile initialisiert den csv2-Hash mit csv2 ={} command.
Die vierte Zeile erwähnt die Zonendatei namens db.example.net für den Domänennamen example.net.
Hier ist die Zonendatei mit dem Namen db.example.net für den Domänennamen 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 SOA-Zeile (Start Of Authority). Anschließend geben Sie die autoritativen Nameserver und die anderen Datensätze an. Ein Eintrag besteht aus dem Domainnamen, der TTL (Time to live), dem Eintragstyp und dem Wert des Eintrags.
Zwei Dinge, die zu beachten sind, sind, dass alle Domainnamen mit einem Punkt enden, d. h. sie müssen vollqualifizierte Domainnamen sein und Alle Datensätze enden mit einer Tilde (~). Um mehr zu erfahren, sehen Sie sich die Dokumentation zum Format von Zonendateien an.
Um es einfacher zu machen, zeigen Sie example.net einfach auf 127.0.0.1. So geht's:
example.net. 127.0.0.1 ~
Starten Sie den Dienst neu als:
sudo /etc/init.d/maradns restart
Maradns als rekursiven Nameserver konfigurieren
Wenn Ihr Webbrowser eine DNS-Abfrage sendet – vorausgesetzt, der Browser hat die Zuordnung nicht bereits in seinem Cache gespeichert – wird sie an einen rekursiven DNS-Server gesendet. Es wird auch als DNS-Weiterleitung bezeichnet. Es lauscht standardmäßig auf Port 127.0.0.2 und Sie können ihm weitere IPs hinzufügen, die durch Kommas getrennt sind. Für zB- 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" # Forwarding requests to Google DNS Servers
Starten Sie den Dienst neu als:
sudo /etc/init.d/maradns.deadwood restart
Sie haben die Einrichtung des MaraDNS-Servers abgeschlossen! :)
Tipp- Wenn Sie möchten, dass Ihr MaraDNS-Server auf externe DNS-Anfragen antwortet, müssen Sie:
Fügen Sie die öffentliche IP Ihres Rechners 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" #Replace x.x.x.x with your machine's public address.
/etc/dwood3rc:
bind_address="127.0.0.2, x.x.x.x" #Replace x.x.x.x with your machine's public address.
recursive_acl ="0.0.0.0/0" #Um Verbindungen von überall zuzulassen.
Sie können diese Beispieldateien von hier aus herunterladen. Vergessen Sie nicht, die Dienste erneut neu zu starten.
Das ist alles!