DNS with bind9 in Debian 10

Zuerst muss zum root User gewechselt werden, dann kann Bind9 installiert werden.

#su -
#apt install bind9

Im /etc/bind folgenden Files editieren:

/etc/bind/named.conf.local

Im ersten Schritt wird hier eine forward Zone konfiguriert. Mit der Forward Zone werden Namen auf IP Adressen aufgelöst. - Im Gegensatz dazu löst die Reverse Zone Ip Adressen auf Namen auf.

In dieser Datei wird die Zone angelegt. In der ersten Zeile wird der DNS Name festgelegt. Der Typ gibt an ob die Zone ein Master oder Slave ist. Der Parameter File zeigt auf das Zonen DB File, in diesen sind die einzelnen DNS Records mit den IP Adressen drinnen.

# This is the zone definition. replace example.com with your domain name
zone "server1.com" {
        type master;
        file "/etc/bind/zones/server1.com.db";
        };

Das Database File sollte folgendermaßen aussehen:

$ttl 3600
server1.com.      IN      SOA     ns1.server1.com. hostmaster.server1.com.(
                                                        2006081401
                                                        28800
                                                        3600
                                                        604800
                                                        38400
 )

server1.com.     IN      NS              ns1.server1.com.
server1.com.     IN      MX     10       mta.server1.com.
server1.com.     IN      A       192.168.0.10
www              IN      A       192.168.0.1
mta              IN      A       192.168.0.2
ns1              IN      A       192.168.0.3

Der SOA Eintrag bedeutet Start of authority. Das bedeutet das es sich um einen authoritativen Nameserver handelt, dieser ist für seine Zone zuständig. Im Gegensatz dazu bezieht ein nicht-authoritativer Nameserver seine Infomation nur vom authoritativen Nameserver. - Ein nicht-authorativer-Nameserver wird auch als Caching DNS Server bezeichnet.

Der Eintrag ttl gibt an wie lange dieser Eintrag im dns resolver des Clients gültig ist. Die TTL kann auch für jeden Record als zweiter Parameter festgelegt werden. In der dritten Spalte ist der Typ des DNS Eintrags hinterlegt.

  • NS ... Nameserver Record
  • MX ... MaileXchanger Record
  • A ... Address Record

Beim MX Eintrag kann noch die Priorität, in obigen Fall 10 eingestellt werden. Das wird benötigt falls es mehrere Mailserver gibt.

Ist die Konfiguration erstellt muss der Dienst neu gestartet werden:

#systemctl restart bind9

Zum Testen der Konfiguration gibt es mehrere Möglichkeiten.

  1. nslookup www.server1.com 127.0.0.1
  2. dig @localhost www.server1.com
  3. host www.orf.at

Um nslookup und dig verwenden zu können muss das Paket dnsutils nachinstalliert werden. Bei nslookup ist der erste Parameter der DNS Eintrag der abgefragt werden soll und der zweite Eintrag welcher Server abgefragt werden soll. Bei digist es genau umgekehrt, der erste Parameter ist der Server der zweite Parameter ist der DNS Eintrag.

Damit die Konfiguration systemweit wirkt muss noch die /etc/network/interfaces angepasst werden. Es muss folgender Eintrag zur IP Konfiguration hinzugefügt werden:

iface ens33 inet static
   address 192.168.1.1
   dns-nameservers 127.0.0.1

Sollte der Eintrag keine Wirkung zeigen so kann in der Datei /etc/resolv.conf der richtige DNS eingetragen werden.

Treten Fehler beim neu starten des Dienstes auf so kann in der Datei /var/log/syslognach Fehlern gesucht werden. Achtung ab Debian 12 muss der Fehler in journalctl -f gesucht werden.

Im nächsten Schritt muss nun noch die Reverse Zone konfiguriert werden. Das erfolgt in mehreren Dateien. Zuerst muß wieder die named.conf.local Datei angepasst werden und die Reverse Zone angelegt werden. Der Eintrag für das IP Netz 192.168.1.0 sieht folgendermaßen aus. - Wie man hier unschwer erkennen kann ist die IP Adresse des Netzes in umgekehrter Richtung geschrieben.

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

Des weiteren muss jetzt noch das Zonenfile konfiguriert werden. Das sollte für das 192.168.1.0 Netz in der Datei 1.168.192.in-addr.arpaerfolgen. Die Datei schaut folgendermaßen aus:

@ IN SOA ns1.example.com. admin.example.com. (
                        2006081401;
                        28800;
                        604800;
                        604800;
                        86400
)

                     IN    NS     ns1.example.com.
1                    IN    PTR    example.com

In der Reverse Zone gibt es hauptsächlich PTR (Pointer) Records. Im speziellen wird hier die IP 192.168.1.1 mit dem PTR Record 1 angesprochen. Die Abfrage der Reverse Zone kann entweder wieder mittels den Befehlen dig oder nslookup erfolgen.

Achtung bei dig muss dig -x <ip-Adresse> PTR verwendet werden. -x ist für die Eingabe einer IPV4 Adresse erforderlich. PTR damit die Pointer Records angezeigt werden da dig standardmäßig nur A Records anzeigt.