Mobile-Menu

Der am weitesten verbreitete DNS-Server im Fokus BIND9 DNS-Server auf Ubuntu betreiben

Autor / Redakteur: Thomas Joos / Dipl.-Ing. (FH) Andreas Donner

Bei BIND9 handelt es sich um den am weitesten verbreiteten DNS-Server der Welt. Der Server kann auf Linux installiert werden und ermöglicht auch den Betrieb im internen Netzwerk. Wir geben einen Überblick und zeigen die Einrichtung des Servers.

Der BIND-Server (Berkeley Internet Name Domain Server) ist der am häufigsten eingesetzte DNS-Server weltweit.
Der BIND-Server (Berkeley Internet Name Domain Server) ist der am häufigsten eingesetzte DNS-Server weltweit.
(Bild: © photoopus - stock.adobe.com)

Bei BIND (Berkeley Internet Name Domain Server) https://www.bind9.net handelt es sich um einen Open Source-Server für DNS. Der Server ist mit Abstand der am meisten verbreitete DNS-Server im Internet. Der DNS-Server unterstützt, neben den Standardoptionen von DNS-Servern auch die neuen Protokolle DNS-over-HTTPS (DoH) und DNS-over-TLS (DoT). Bei DoH nutzen Client und Server HTTPS für DNS-Abfragen. DoT bietet Datenverkehrt über TLS.

Bildergalerie
Bildergalerie mit 8 Bildern

BIND9 auf Ubuntu installieren

Um BIND9 auf einem Server mit Ubuntu 20.04 zu installieren, sollte zuerst die Paketliste aktualisiert werden. Danach kann das Paket auf dem Server über die Paketquellen integriert werden:

sudo apt update
sudo apt upgrade
sudo apt install bind9

Damit der lokale Server oder Computer im Netzwerk den DNS-Server nutzen, muss die IP-Adresse des BIND9-Servers in den Netzwerkeinstellungen der Clients hinterlegt werden. Nach der Installation ist BIND9 bereits einsatzbereit. Wenn in den DNS-Einstellungen von Servern, zum Beispiel dem BIND-Server selbst, die IP-Adresse eingetragen ist, kann bereits eine Namensauflösung zum Internet durchgeführt werden, zum Beispiel mit:

nslookup www.google.de

Danach zeigt der Server die Antwort und die IP-Adresse des DNS-Servers an. Auf dem Server selbst wird die Adresse des lokalen Hosts (127.0.0.1) angezeigt. Damit der BIND-Server auch durch die Firewall des Servers hindurch funktioniert, muss die Firewall so konfiguriert werden, dass sie den Zugriff durchlässt. Am Beispiel von Ubuntu wird das mit dem folgenden Befehl durchgeführt:

sudo ufw allow Bind9

Danach sollte auch bereits über das Netzwerk die Namensauflösung zum Internet funktionieren.

BIND konfigurieren

Die Konfiguration von BIND) erfolgt über die Konfigurationsdatei „named.conf.options“, die zum Beispiel mit dem Editor Nano geöffnet werden kann:

sudo nano named.conf.options

In den meisten Fällen befindet sich die Datei im Verzeichnis „/etc/bind“. Über „forwarders“ kann gesteuert werden, zu welchen DNS-Servern Abfragen weitergeleitet werden sollen, wenn der BIND-Server eine Anfrage nicht beantworten kann. Nach dem Speichern der Konfigurationsdatei kann überprüft werden, ob in der Konfiguration von BIND Fehler vorliegen. Der Befehl dazu darf keine Fehlermeldung anzeigen:

sudo named-checkconf

Nach Konfigurationsänderungen sollte BIND9 neu gestartet werden:

sudo systemctl restart bind9

BIND9 und Active Directory

Kommt im Netzwerk ein Active Directory zum Einsatz, kann es notwendig sein, dass DNS-Anfragen von außerhalb oder von ungesicherten Computern an die DNS-Server gestellt werden. Um die Domänencontroller abzusichern, kann es daher sinnvoll sein, den BIND-Server als sekundären DNS-Server für die Active-Directory-DNS-Server zu verwenden. In einer DMZ kann es zudem sinnvoll sein, mit einem BIND-Server zu arbeiten, der die notwendigen Daten auflösen kann, die Windows-DNS-Server entlastet und gegen Zugriffe von außen blockiert.

Um DNS-Server im Netzwerk in die Konfigurationsdatei von BIND9 einzubinden und sicherzustellen, dass die Server DNS-Zonen replizieren dürfen, werden die IP-Adressen der Windows-DNS-Server in der Konfigurationsdatei eingetragen. Zusätzlich kann definiert werden, welche DNS-Server im Netzwerk als Master fungieren, damit der BIND9-DNS-Server als sekundärer DNS-Server funktioniert.

Schlussendlich kann noch definiert werden, aus welchen Subnetzen der BIND9-DNS-Server Anfragen akzeptiert. Diese Einstellungen werden alle in der Datei „named.conf.options“ vorgenommen. In einer eigenen Konfigurationsdatei für die AD-Zone kann festgelegt werden, dass der BIND9-Server als sekundärer DNS-Server genutzt wird.

zone "joos.int" in {
type slave;
file "/var/cache/bind/db.dc01.joos.int";
allow-query { lan; };
allow-transfer {dns; };
masters { dns; };
};

zone "1.168.192.in-addr.arpa" in {
type slave;
file "/var/cache/bind/db.192.168.1.0";
allow-query { lan; };
allow-transfer { dns; };
masters { dns; };
};

Diese Daten können auch in einer eigenen Datei gespeichert werden, in diesem Beispiel „/etc/bind/named.conf.joos.int“. Danach muss diese Datei in die Datei „/etc/bind/named.conf“ integriert werden:

include "/etc/bind/named.conf.joos.int";

Windows-DNS-Server konfigurieren

Damit der BIND-Server die Daten vom Windows-DNS-Server replizieren kann, muss in der DNS-Verwaltung auf dem Server noch in den Eigenschaften der Zone auf der Registerkarte „Zonenübertragungen“ die Option „Zonenübertragungen zulassen“ aktiviert werden. Zusätzlich ist es sinnvoll die Option „Nur an folgende Server“ zu aktivieren. Hier werden anschließend die IP-Adressen der BIND-Server oder der anderen DNS-Server eingetragen, die das Recht haben, die Daten der Zone zu replizieren.

Da sich der BIND-Server nicht dynamisch in der Zone eingetragen hat, sollten A-Records für den Servernamen und die IP-Adressen erstellt werden. Vor der Übertragung sollte sichergestellt werde, dass die internen DNS-Server die IP-Adressen der BIND-Server auflösen können. Auch ein PTR-Eintrag sollte vorgenommen werden.

Namensauflösung zwischen Windows und BIND9 testen

Nach der Konfiguration sollten wieder mit „sudo named-checkconf“ die Konfigurationsdateien getestet werden. Auch hier sollten keine Fehlermeldungen erscheinen. Der Neustart von BIND9 erfolgt anschließend mit:

sudo systemctl restart bind9

Der Status des Servers kann mit dem folgenden Befehl angezeigt werden:

service bind9 status

Danach kann die Namensauflösung von den Clients aus getestet werden, die das Recht haben Anfragen an den DNS-Server zu stellen.

(ID:47381997)

Über den Autor

 Thomas Joos

Thomas Joos

Freiberuflicher Autor und Journalist