
Da sich immer mehr Geräte in meinen Haushalt schleichen, die eine IP Adresse benötigen, wird es langsam schwer, sich immer die richtige IP Adresse zu dem entsprechenden Gerät zu merken. Um mir hier das leben zu vereinfachen, will ich auf meinem Raspberry Pi mit der SmartHome Steuerung den DNS Server bind9 installiere.
So habe ich die Möglichkeit, die Geräte direkt mit einem richtigen Namen anzusprechen. Dabei will ich die entstehende DNS Domain .piazzimedia nennen.
Installation von bind9
Um bind9 auf dem Raspberry Pi zu installieren, müssen wir uns auf diesen zuerst via ssh verbinden. Anschließend können wir mit dem folgenden Befehl, alle notwendigen Pakete für den DNS Server installieren.
1 | sudo apt-get install bind9 bind9utils dnsutils |
Anlegen der Zonendateien für bind9
Damit es später zu keinen Problemen kommt, sollte der Raspberry Pi, welcher als DNS Server dient, eine feste IP Adresse zugewiesen haben. Weiterhin habe ich folgende Parameter für das DNS Setup definiert.
Setup:
- Netzwerk: 192.168.10.0/24
- Subnetzmaske: 255.255.255.0
- Broadcast-Adresse: 192.168.10.255
- Gateways/Router: 192.168.10.1 (FritzBox)
- Raspberry (DNS-Server): 192.168.10.2
- Hostname – Raspberry (DNS Servers): smarthome
- DNS-Zone: piazzimedia
In viele Umgebungen werden die Zonen für den DNS Server nach /etc/bind/zones gelegt. Da ich selber aber schon Daten für mein Smarthome in /opt liegen haben, werde ich auch hier die Zonendateien ablegen.
Den Ablageort der Zonendateien konfigurieren wir in /etc/bind/named.conf.local. Die Datei sieht bei mir dann folgendermaßen aus.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | // // Do any local configuration here // // Consider adding the 1918 zones here, if they are not used in your // organization zone "piazzimedia" { type master; file "/etc/bind/zones/piazzimedia.zone"; }; // Reverse-Lookup zone "10.168.192.in-addr.arpa" { type master; file "/etc/bind/zones/db.10.168.192.inv"; }; |
Jetzt kann ich die entsprechenden Zonendateien, auf die ich bereits in /etc/bind/named.conf.local verweise, anlegen.
1 2 3 | mkdir /opt/zones touch /opt/zones/piazzimedia.zone /opt/zones/db.10.168.192.inv |
Meine beiden Zonendateien für bind9 sehen dann wie folgt aus:
piazzimedia.zone:
1 2 3 4 5 6 7 8 9 10 11 12 | ; piazzimedia $TTL 3600 @ IN SOA smarthome.piazzimedia. root.smarthome.piazzimedia. ( 2017122112 ; Serial 604800 ; refresh after 3 hours 86400 ; retry after 1 hour 241920 ; expire after 1 week 604800 ) ; minimum TTL of 1 day IN NS smarthome.piazzimedia. ; own dns server smarthome IN A 192.168.10.2 ; EOF |
db.10.168.192.inv:
1 2 3 4 5 6 7 8 9 10 11 12 | ;piazzimedia $TTL 3600 @ IN SOA smarthome.piazzimedia. root.smarthome.piazzimedia. ( 2017122112 ; Serial 604800 ; refresh after 3 hours 86400 ; retry after 1 hour 241920 ; expire after 1 week 604800 ) ; minimum TTL of 1 day IN NS smarthome.piazzimedia. ; own dns server 2 IN PTR smarthome.piazzimedia. |
Neustart von bind9 und testen
Nachdem wir die Zonendateien angelegt haben, können wir bind9 neustarten
1 | systemctl status bind9 |
Nun können wir unsere Einträge testen. Dafür müssen wir auf dem System, mit dem wir das testen, den eigenen DNS Server hinterlegen. Dies getan, fragen wir mit nslookup den DNS Namen und die IP Adresse ab. Wenn alles richtig eingerichtet ist, bekommen wir eine entsprechende Antwort. Bei mir sieht das ganze so aus:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | root@smarthome:~# nslookup smarthome.piazzimedia Server: 192.168.10.2 Address: 192.168.10.2#53 Name: smarthome.piazzimedia Address: 192.168.10.2 root@smarthome:~# nslookup 192.168.10.2 Server: 192.168.10.2 Address: 192.168.10.2#53 2.10.168.192.in-addr.arpa name = smarthome.piazzimedia. root@smarthome:~# |
[…] letzen Artikel habe ich auf meinen Raspberry Pi den DNS Server bind9 installiert. Heute schauen wir uns an, wie wir mit check_dns die Funktionalität des Servers […]