BIND ist zwar die wohl bekannteste und am weitesten verbreitete DNS Server Software (Guide zu BIND9 von mir [HIER]), doch sind andere DNS Server, wie z.B. MaraDNS oft schneller, sicherer, einfacher handzuhaben und dennoch werden die Wenigsten Funktionen vermissen. In diesem Guide geht es darum, wie man MaraDNS auf einem Debian oder Ubuntu Server aufsetzt und konfiguriert – in nichtmal 10 Minuten.


Übersicht:

  • Vorbereitung
  • Installation
  • Konfiguration
  • Testen

1. Vorbereitung

Wie immer empfiehlt es sich, den Server einem Grundsetup zu unterziehen, [HIER] mein Guide dazu. Ist der Server, welchen man nutzen möchte, nicht gerade eben erst neu installiert worden, „tut“ daher schon ein paar Dinge, ist darauf zu achten, bspw. keine nötigten Pakete zu deinstallieren, wie z.B. Apache.

apt-get update

apt-get upgrade

2. Installation

apt-get install maradns nano

Um später zu testen, ob der DNS Server auch wie erwartet funktioniert, entweder auf dem selben Server – oder besser, auf einem anderen, noch folgendes Paket installieren:

apt-get install dnsutils

3. Konfiguration

Schon ist MaraDNS installiert und muss nurnoch konfiguriert werden.

cd /etc/maradns

Hier zuerst die Datei „mararc“ umbennen, da diese eine Beispiel-Konfiguration ist und eine neue Konfiguration erstellen.

mv mararc mararc_example

nano mararc

In diese Datei den folgenden Spoiler einfügen und anpassen:

Spoiler

ipv4_bind_addresses = „1.2.3.4“

chroot_dir = „/etc/maradns/zones“

csv2 = {}

csv2[„bitforce.io.“] = „bitforce.io.zone“

[collapse]

Nach „ipv4_bind_addresses“ wird die IP angegeben, an die MaraDNS sich „binden“ soll. Daher gibt man dort (daher statt 1.2.3.4) die IP des Servers, auf dem man gerade MaraDNS aufsetzt, an. Hat der selbe Server mehrere IPs, können diese mit einem Komma voneinander getrennt angegeben werden:

ipv4_bind_addresses = „1.2.3.4, 5.6.7.8, 9.10.11.12“

„chroot_dir“ ist das Verzeichnis, in dem MDNS nach Zonen Dateien suchen wird. Nicht wundern, noch existiert das /zones Unterverzeichnis nicht – wird im Folgenden noch erstellt. 🙂 „csv2[„bitforce.io.“]“ sagt MDNS, dass es für die Domain bitforce.io zuständig ist und wie die Zonen Datei dieser Domain heißt. Diese Datei wird dann im chroot Verzeichnis gesucht, der absolute Pfad wäre dann also /etc/maradns/zones/bitforce.io.zone. Der Punkt nach der Domain ist nötig, dass MDNS weiß, dass die Domain dort „zu Ende“ ist. Nach diesem Schema können in die mararc Datei weitere Domains und die Namen deren Zonen eingetragen werden. bitforce.io natürlich durch eine eigene Domain ersetzen :p

Anschließend die Datei speichern und schließen.

Um das Verzeichnis für die Zonen-Dateien zu erstellen:

mkdir /etc/maradns/zones

Und die Zone für die bitforce.io Domain erstellen:

nano /etc/maradns/zones/bitforce.io.zone

Im folgenden Spoiler eine Beispiel-Zone.

Spoiler

# Deklarierung der NameServer

bitforce.io. NS ns1.bitforce.io. ~
bitforce.io. NS ns2.bitforce.io. ~

ns1.bitforce.io. 1.1.1.1 ~
ns2.bitforce.io. 2.2.2.2 ~

# A Records

bitforce.io. 3.3.3.3 ~
www.bitforce.io. CNAME bitforce.io. ~

# Mail Records

bitforce.io. MX 10 mail.bitforce.io. ~
mail.bitforce.io. 4.4.4.4 ~

[collapse]

Wie man sieht, müssen A Records nicht explizit als solche gekennzeichnet werden. Steht bei einem Record kein extra Typ dabei, wird er als A Record angesehen.

In dieser Zone steht, dass für die Domain „bitforce.io“ die Nameserver ns1.- und ns2.bitforce.io zuständig sind und diese die IPs 1.1.1.1 bzw 2.2.2.2 haben. Die Domain bitforce.io selbst löst zu 3.3.3.3 auf, www.bitforce.io verweist zum Record ohne www. davor. Desweiteren wird für den Mail-Verkehr (MailXchange) der Server hinter mail.bitforce.io verwendet, welcher auf 4.4.4.4 hört. Man sieht: das Schema von MaraDNS ist simpel:

[Die "angesprochene" Domain]. [Record-Typ] [ggf Priorität] [wozu die Domain auflösen soll][ggf Punkt] ~

Domains müssen immer mit einem Punkt enden, Zeilen mit einem Ungefähr-Zeichen.

Um MaraDNS die Änderungen übernehmen zu lassen, MDNS neustarten:

/etc/init.d/maradns restart

bzw

service maradns restart

4. Testen

Um die Konfiguration mit dem selben Server zu testen, auf dem MDNS läuft:

dig @[IP des DNS Servers] [die konfigurierte Domain] any

mit der obigen Beispiel-Konfiguration sollte nun folgendes als Antwort gegeben werden:

maradns

(Achtung: „dig @localhost…“ funktioniert erst dann, wenn sich MDNS an 127.0.0.1 gebunden hat was in der /etc/maradns/mararc definiert werden muss. Ansonsten wird man keine Antwort – sondern ein Timeout, erhalten! Daher einfach die öffentliche IP angeben 🙂 )

Falls ja – klasse, MaraDNS wurde erfolgreich eingerichtet und löst Domains auf. Natürlich muss in die /mararc eine eigene Domain eingetragen werden und in die zugehörige Zonen-Datei „echte“ IPs. Abschließend müssen die neuen, eigenen DNS Server nur noch beim Domain-Registrar angegeben werden und schon lösen eigene DNS Server eigene Domains auf.


 

Offizielle Webseite: http://maradns.samiam.org/

Mehr Infos über MaraDNS als authoritativer DNS Server: http://maradns.samiam.org/tutorial/authoritative.html

[HowTo] MaraDNS Server unter Debian / Ubuntu aufsetzen und konfigurieren
Markiert in:                                                                                                                                             

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*