Netzwerke:DNS:Server

Aus ITWiki
Zur Navigation springen Zur Suche springen

Dieser Artikel beschreibt die Einrichtung eines primären DNS-Servers im Labornetz Raum102 des ITW.


1 Konventionen unseres neuen DNS-Servers

Zu Beginn machen wir uns kurz Gedanken wie die Domäne, der Servername und die IP-Adresse lauten sollen.
Weiter sollten wir uns überlegen, welchen Dienst wir hierfür einsetzen möchten.

Primary DNS-Server
Domain: raum102.itw 
Servername: ns1.raum102.itw
IP-Address: 10.0.0.3
Alias: nameserver1

Als DNS-Dienst wollen wir bind9 verwenden.

2 Prerequisites (Vorbedingungen)

Bevor wir den eigentlichen DNS Dienst installieren, müssen wir noch einige Vorkehrungen treffen.

2.1 Statische IP setzen

1. Zum root User wechseln
~$ su -


2 Schnittstellenbezeichnung herausfinden
~# ip a


3 interfaces Datei bearbeiten
~# vi /etc/network/interfaces


Das resolvconf Paket muss installiert sein, wenn man die Namesserver in die /etc/network/interfaces eintragen will! Wir tragen die Nameserver allerdings in die /etc/resolv.conf ein und brauchen das Paket somit nicht. Wir müssen allerdings sicherstellen, dass wir eine IP-Adresse nutzen, die im Adressbereich liegt den unser Router auch kennt. Als Nameserver nutzen wir zu Beginn am besten 8.8.8.8.


/etc/network/interfaces

# In dieser Datei werden die Schnittstellen bekannt gemacht und 
# konfiguriert. (weitere Informationen enthält die Manpage)

# Sollte man die Schnittstellen in jeweils eigenen Dateien angelegt
# haben, werden diese hiermit eingebunden
source /etc/network/interfaces.d/*

# LOOPBACK INTERFACE (localhost) --> nicht verändern
auto lo
iface lo inet loopback

# DNS INTERFACE
# Bereitstellung beim Hochfahren
auto enp2s0
# Konfiguration der statischen Adressinformationen 
iface enp2s0 inet static
        address 10.0.0.3/8
        gateway 10.0.0.1

# Bekanntmachung der Routen bei jedem Start (somit persistent)
post-up ip route add 10.10.0.0/16 via 10.0.0.1
post-up ip route add 10.20.0.0/16 via 10.0.0.1
post-up ip route add 10.30.0.0/16 via 10.0.0.1


4. resolv.conf Datei bearbeiten
~# vi /etc/resolv.conf


/etc/resolv.conf

# Der zu nutzende Nameserver
nameserver 8.8.8.8


5. Jetzt den Dienst neu starten
~# service networking restart


6. Mit ~# ip a und ~# ip r überprüfen ob unsere Einträge greifen.

2.2 Packetliste und Packete updaten

~# apt update && apt upgrade

3 bind9 installieren

~# apt install -y bind9 bind9utils bind9-doc dnsutils


In /etc/bind/ liegen nun die Konfigurationsdateien für bind9 hier werden wir auch unsere sogenannten Zonendateien ablegen.

3.1 Zonendateien anlegen

Damit der DNS Server ordnungsgemäss arbeiten kann benötigt dieser entsprechende Zonendateien.

3.1.1 Forward lookup Zone anlegen

~# vi /etc/bind/fwd.raum102.itw


/etc/bind/fwd.raum102.itw

;
; BIND forward zone file for raum102.itw
;

$TTL    604800
@       IN      SOA     ns1.raum102.itw. root.raum102.itw. (
                             20         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL

;@      IN      NS      localhost.
;@      IN      A       127.0.0.1
;@      IN      AAAA    ::1


;Name Server Information
                IN      NS      ns1.raum102.itw.

;IP address of Name Server
ns1             IN      A       10.0.0.3

;A - Record HostName To Ip Address
nfs             IN      A       10.0.0.140
bup             IN      A       10.0.0.141
r1              IN      A       10.0.0.1
r2              IN      A       10.0.0.2
 
;CNAME record
nameserver1     IN      CNAME   ns1.raum102.itw.
fileserver      IN      CNAME   nfs.raum102.itw.
backupserver    IN      CNAME   bup.raum102.itw.
router01        IN      CNAME   r1.raum102.itw.
router02        IN      CNAME   r2.raum102.itw.

3.1.2 Reverse lookup Zone anlegen

~# vi /etc/bind/rev.raum102.itw


/etc/bind/rev.raum102.itw

;
; BIND reverse zone file for raum102.itw
;

$TTL    604800
@       IN      SOA     raum102.itw. root.raum102.itw. (
                             20         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL

;Name Server Information
        IN      NS      ns1.raum102.itw.

;Reverse lookup for Name Server
3       IN      PTR     ns1.raum102.itw.

;PTR Record IP address to HostName
140     IN      PTR     nfs.raum102.itw.
141     IN      PTR     bup.raum102.itw.
1       IN      PTR     r1.raum102.itw.
2       IN      PTR     r2.raum102.itw.

3.2 Zonendateien einbinden

~# vi /etc/bind/named.conf.local


/etc/bind/named.conf.local

zone "raum102.itw" IN {                         //domain name (forward zone)
     type master;                               //primary DNS
     file "/etc/bind/fwd.raum102.itw";          //forward zone file
     allow-update { none; };                    //none, because its primary DNS
};

zone "0.0.10.in-addr.arpa" IN {                 //reverse zone
     type master;                               //primary DNS
     file "/etc/bind/rev.raum102.itw";          //reverse zone file
     allow-update { none; };                    //none, because its primary DNS
};

3.3 Syntax der named.conf.* und der Zonendateien überprüfen

Mit dem Befehl ~# named-checkconf wird die Syntax aller named.conf.* Dateien geprüft.
Um die Zonendateien zu überprüfen verwenden wir ~# named-checkzone.

~# named-checkzone raum102.itw /etc/bind/fwd.raum102.itw

zone raum102.itw/IN: loaded serial 20
OK

~# named-checkzone 0.0.10-in-addr.arpa /etc/bind/rev.raum102.itw

zone 0.0.10-in-addr.arpa/IN: loaded serial 20
OK

3.4 bind9 Installation abschließen

1. Service neu starten
~# systemctl restart bind9


2. Bei jedem Systemstart laden
~# systemctl enable bind9


3. Status anzeigen lassen
~# systemctl status bind9
● bind9.service - BIND Domain Name Server
   Loaded: loaded (/lib/systemd/system/bind9.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2019-09-20 13:28:34 CEST; 1s ago
     Docs: man:named(8)
  Process: 1886 ExecStart=/usr/sbin/named $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 1887 (named)
    Tasks: 5 (limit: 4478)
   Memory: 12.2M
   CGroup: /system.slice/bind9.service
           └─1887 /usr/sbin/named -u bind
4. resolv.conf Datei bearbeiten
~# vi /etc/resolv.conf


/etc/resolv.conf

# Der zu nutzende Nameserver
nameserver 10.0.0.3


5. Jetzt den Dienst neu starten
~# service networking restart


6. Mit ~# ip a und ~# ip r überprüfen ob unsere Einträge greifen.