DNS aufsetzen

Der DNS-Dienst wird auf einem Debian 11 aufgesetzt. 

Serverdaten Angangszustand. 


Servername: ddf
IP-Adresse: 172.16.0.10
Netmask: 255.255.252.0
Gateway: 172.16.0.1
DNS: 8.8.8.8 (Nach der DNS Installation und Konfiguration wird auf 172.16.0.10 geändert)
DNS-Suffix: schule.wlan

Punkt
Der DNS Server bind9 wird installiert.

 

root@ddf:~# apt install bind9
Punkt
Wir wechseln zu dem Ordner /etc/bind. In diesem Ordner erstellen wir zuerst 2 neue Dateien db.schule.wlan und db.0.16.172

 

root@ddf:~# cd /etc/bind
root@ddf:~# nano /etc/bind/db.schule.wlan
root@ddf:~# nano /etc/bind/db.0.16.172

 

Punkt
Der Inhalt der Datei /etc/bind/db.schule.wlan kann so ähnlich aussehen wie unten. Einige Einträge müssen hier selbstverständlich angepasst werden, einige entfernt und nach Bedarf einige sollte man dazu einfügen.

 

;; db.schule.wlan
;; Forwardlookupzone für domainname
;;
$TTL 2D
@       IN      SOA     ddf.schule.wlan. mail.schule.wlan. (
                        2006032201       ; Serial
                                8H       ; Refresh
                                2H       ; Retry
                                4W       ; Expire
                                3H )     ; NX (TTL Negativ Cache)

@                               IN       NS      ddf.schule.wlan.
                                IN       MX      10 mailserver.schule.wlan.
                                IN       A       172.16.0.10

ddf                             IN       A       172.16.0.10
localhost                       IN       A       127.0.0.1
client1                         IN       A       172.16.0.20
rechner1                        IN       A       172.16.1.200
mailserver                      IN       A       172.16.2.201
rechner2                        IN       CNAME   mailserver
rechner3                        IN       A       172.16.3.12
drucker4                        IN       A       172.16.3.200
 
Punkt
Die Revers Datei /etc/bind/db.0.16.172 wird bearbeitet. Hier werden benötigte Geräte eingetragen die in der IP Adresse die 3 Stelle in unserem Fall die 0 haben.

 

;; db.0.16.172
;; Reverselookupzone für domainname
;;
$TTL 2D
@       IN      SOA     ddf.schule.wlan. mail.schule.wlan. (
                                2006032201      ; Serial
                                        8H      ; Refresh
                                        2H      ; Retry
                                        4W      ; Expire
                                        3H )    ; TTL Negative Cache

@       IN      NS      ddf.schule.wlan.

20      IN      PTR     client1.schule.wlan.
Punkt
Die Reversdatei /etc/bind/db.1.16.172 wird bearbeitet. Hie kommen alle Einträge bei denn in der IP-Adresse die 3 Stelle die 1 ist z.B. der rechner1 172.16.1.200

 

;; db.1.16.172
;; Reverselookupzone für domainname
;;
$TTL 2D
@       IN      SOA     ddf.schule.wlan. mail.schule.wlan. (
                                2006032201      ; Serial
                                        8H      ; Refresh
                                        2H      ; Retry
                                        4W      ; Expire
                                        3H )    ; TTL Negative Cache

@       IN      NS      ddf.schule.wlan.

200     IN      PTR     rechner1.schule.wlan.
Punkt
Die Reversdatei /etc/bind/db.2.16.172 wird bearbeitet. Hie kommen alle Einträge bei denn in der IP-Adresse die 3 Stelle die 2 ist z.B. der mailserver 172.16.2.201

 

;; db.2.16.172
;; Reverselookupzone für domainname
;;
$TTL 2D
@       IN      SOA     ddf.schule.wlan. mail.schule.wlan. (
                                2006032201      ; Serial
                                        8H      ; Refresh
                                        2H      ; Retry
                                        4W      ; Expire
                                        3H )    ; TTL Negative Cache

@       IN      NS      ddf.schule.wlan.

201     IN      PTR     mailserver.schule.wlan.
Punkt
Die Reversdatei /etc/bind/db.3.16.172 wird bearbeitet. Hie kommen alle Einträge bei denn in der IP-Adresse die 3 Stelle die 3 ist z.B. der drucker4 172.16.3.200

 

;; db.3.16.172
;; Reverselookupzone für domainname
;;
$TTL 2D
@       IN      SOA     ddf.schule.wlan. mail.schule.wlan. (
                                2006032201      ; Serial
                                        8H      ; Refresh
                                        2H      ; Retry
                                        4W      ; Expire
                                        3H )    ; TTL Negative Cache

@       IN      NS      ddf.schule.wlan.

12     IN      PTR     rechner3.schule.wlan.
200    IN      PTR     drucker4.schule.wlan.
Punkt
Die erstellten Dateien müssen in die Konfiguration aufgenommen werden. Die Datei /etc/bind/named.conf.local wird zu diesem Zweck bearbeitet.

 

//
// Do any local configuration here
//
zone "schule.wlan" {
  type master;
  file "/etc/bind/db.schule.wlan";
};

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

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

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

zone "3.16.172.in-addr.arpa" {
  type master;
  file "/etc/bind/db.3.16.172";
};
Punkt
Wir wollen nur die IP4 nutzen, deshalb müssen wir in der Datei /etc/default/named die entsprechende
Option "-4 -u bind" setzen.

 

#
# run resolvconf?
RESOLVCONF=no

# startup options for the server
# OPTIONS="-u bind"
OPTIONS="-4 -u bind"
Punkt
Es ist uns noch eine Datei geblieben, die wir bearbeiten müssen, das ist die /etc/bind/named.conf.options. In der Datei können wir bestimmte ACLs setzen, was für Netze dürfen auf den DNS Server zugreifen. Standardmäßig sind alle Netze. Wir müssen auch eine externen DNS Server definieren. So ca. würde dann die Datei aussehen.

 

acl goodclients { // Name kann frei gewählt werden
     192.168.2.0/24; // Lokales Netz (IP-Adressbereich anpassen)
     172.16.0.0/22;
     # 10.0.10.45 // einzelner Client im Netz
     localhost; // localhost sollte immer eingetragen sein
     localnets;
};

options {
     directory "/var/cache/bind";
     allow-query { goodclients; }; //ACL-Name von oben

     forwarders {
         8.8.8.8;
     };

     // allow-recursion {
     //       any;
     // };

     // Die dnssec-validation auf no setzen
     // dnssec-validation auto;
     dnssec-validation no;
     listen-on-v6 { any; };
};
Punkt
Jetzt können wir den DNS Dienst named neu starten, mit status überprüfen, ob alles richtig läuft.

 

root@ddf:~# systemctl restart named
root@ddf:~# systemctl status named
Punkt
Bis jetzt haben wir einen externen DNS auf diesem Server genutzt. Das können wir selbstverständlich nach der Installation und Konfiguration eines eigenen DNS-Servers in System umstellen. Wir bearbeiten die Dateien /etc/network/interfaces und /etc/resolv.conf. Die IP-Adressen des DNS Eintrags ändern wir auf 172.16.0.10. So würde z.B. die /etc/resolv.conf aussehen.

 

search schule.wlan
nameserver 172.16.0.10
Punkt
Mit dem letztem Schritt überprüfen wir, ob alles richtig läuft. Wir nutzen die Befehle ping um die Namenauslösung zu überprüfen und nslookup um Rückwärts zu suchen

 

root@ddf:~# ping mailsever
root@ddf:~# nslookup 172.16.2.201

 

Ausgabe bei nslookup, in unserem Fall würde es so aussehen

201.2.16.172.in-addr.arpa       name = mailserver.schule.wlan.

 

Die Konfiguration des DNS Servers ist abgeschlossen, vollfunktionsfähig und kann für alle Clients in diesem Netz genutzt werden, auch für Clients die die IP-Adresse per DHCP beziehen.