Forgot your password?

Forgot your username?

All about IT, Web and Development.
By users for users.

Lokalen Bind DNS Server unter Ubuntu einrichten



Um im internen Netzwerk eine Namensauflösung zu realisieren wird ein DNS Server benötigt. Mit Bind besteht eine weit verbreitete Lösung einen solchen unter Ubuntu einzurichten.



Installation


Unter Ubuntu erfolgt die Installation über Apt.

sudo apt-get install bind9

Da wir den DNS für ein IPv4 Netz konfigurieren, deaktivieren wir gleich nach der Deinstallation die IPv6 Funktionalität. Dies steigert die Performance deutlich.

sudo nano /etc/default/bind9
OPTIONS="-4 -u bind"


Konfiguration


Ein Nameserver ist in Zonen aufgeteilt. Im folgenden verwenden wir das folgende Bespielnetzwerk als Zone.

  • Netz: 192.168.1.0/24

  • Domain: foxplex.local

  • DNS-Server IP: 192.168.1.1

  • DNS-Server FQDN: dns.foxplex.local

  • Mail-Server IP: 192.168.1.2

  • Mail-Server FQDN: mail.foxplex.local



Hierfür erstellen wir nun eine neue Zone. Sämtliche Dateien befinden sich im Verzeichnis /etc/bind.

Grundlegend gibt es immer 2 Zonendateien für ein Netzwerk. Eine Datei für den normalen Forward Lookup (Name in IP) und den Reverse Lookup (IP in Name).



Forward Lookup


Zuerst erstellt die Zonendatei für den Forward Lookup.

sudo nano /etc/bind/db.foxplex.local
;; db.foxplex.local
;;
;; BIND forward data file for rfc1918 zone
;;
;;
$TTL    86400
@       IN      SOA     dns.foxplex.local. mail.foxplex.local. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                          86400 )       ; Negative Cache TTL
;
@        IN      NS      dns.foxplex.local.
@        IN      MX      10 mail.foxplex.local.
;
dns     IN      A       192.168.1.1
mail    IN      A       192.168.1.2
client1 IN      A       192.168.1.10
client2 IN      A       192.168.1.11


Wichtig ist es hier die Punkte hinter dem Domain Namen zu setzen. Andernfalls funktioniert die Namensauflösung nicht ordnungsgemäß.


Reverse Lookup


Nun legen wir die Reverse Lookup Datei für unsere Zone an.

sudo nano /etc/bind/db.1.168.192

Wichtig ist hier die umgedrehte Schreibweise des Subnetzes (192.168.1.0).

;; db.1.168.192
;;
;; BIND reverse data file for rfc1918 zone
;;
;;
$TTL    86400
@       IN      SOA    dns.foxplex.local. mail.foxplex.local. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                          86400 )       ; Negative Cache TTL
;
@       IN      NS     dns.foxplex.local.
@       IN      MX     10 mail.foxplex.local.
;
1       IN     PTR     dns.foxplex.local.
2       IN     PTR     mail.foxplex.local
10      IN     PTR     client1.foxplex.local.
11      IN     PTR     client2.foxplex.local.



Zonen einbinden


Die Definition der Zone ist damit vorerst abgeschlossen. Jetzt tragen wir die Zonen noch in die Konfigurationsdatei des Nameservers ein.

sudo nano /etc/bind/named.conf.local

zone "foxplex.local" {
   type master;
   file "/etc/bind/db.foxplex.local";
};

zone "1.168.192.in-addr.arpa" {
   type master;
   file "/etc/bind/db.1.168.192";
};


Abschließend den DNS Server neustarten.

sudo service bind9 restart

Da der DNS Server in der Regel auch nach einem Neustart zur Verfügung stehen soll, fügen wir den Dienst dem Autostart hinzu.

sudo update-rc.d bind9 defaults


Test


Um den Nameserver lokal zu testen können wir auf dem Server den Befehl dig verwenden.

dig @127.0.0.1 client1.foxplex.local

Die Antwort sollte folgenden Teil mit der passenden IP Adresse enthalten.

;; QUESTION SECTION:
;client1.foxplex.local.         IN      A

;; ANSWER SECTION:
client1.foxplex.local.  86400   IN      A       192.168.1.10



Troubleshooting


Befinden sich Fehler in den Zonendateien meldet sich Bind leider nicht direkt beim Neustart des Dienstes mit einer Fehlermeldung.

Sämtliche Ereignisse gehen nach /var/log/syslog. Hier finden sich dann auch die Fehlermeldungen.


Fazit


Die Konfiguration von Bind als lokalen Nameserver erfordert einwenig Hintergrundwissen über Netzwerke und DNS Zonen. Vorab ist es immer gut sich einen groben Plan über das lokale Netzwerk mit IP-Adressen und Namen zu erstellen.

Der interne DNS Server lässt sich durch das Hinzufügen der Root DNS Server auch als DNS Cache für Internetabfragen konfigurieren.

Quellen: Ubuntu Logo

Michael Kostka

Fachinformatiker / Systemintegration
Ich schreibe hier regelmäßig zu den Themen Android, Web, Linux und Hardware.

Raspberry Pi Starter Kit
DataCloud

Leave a comment

I have read the privacy policy and agree to electronically store and process my input data to answer the request.