Modius - Techblog

  • Ansible
  • Docker
  • DevOps
  • Gastautor werden
  • Newsletter abonnieren
  • Über Mich
  • Kontakt

bind9 DNS Server und Raspberry Pi

Veröffentlicht am 22. Dezember 2017 von Christian Piazzi 1 Kommentar , Aktualisiert am 16. Mai 2021
Geschätzte Lesezeit: 1 Minute

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.

Shell
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.

Shell
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:~#

Kategorie: Linux Tags: bind9, DNS, HowTo, Server, Tutorial

Über Christian Piazzi

Ich blogge hier über alles, was mir so in meinem ITler Altag über den Weg läuft =)
Man findet mich privat bei Google+ und Twitter

Trackbacks

  1. DNS Server Monitoring mit Icinga2 und check_dns - Modius - Techblog sagt:
    16. Mai 2021 um 14:42 Uhr

    […] 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 […]

    Antworten

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Kategorien

  • Linux
  • Internet, Bloggen & Co
  • Programmierung
  • Sicherheit
  • Netzwerk & Co
  • Mikrokontroller
  • Windows

Beliebte Artikel

  • Docker Container – anzeigen, starten, stoppen und löschen
  • Nextcloud https mit self-signed Zertifikat einrichten
  • Arten von Betriebssystemen
  • ioBroker auf dem Raspberry Pi installieren und konfigurieren
  • systemctl / systemd richtig verwenden

Neueste Kommentare

  • Thorben bei Nextcloud https mit self-signed Zertifikat einrichten
  • Sepp bei Automatisierte Dokumentation von Python Projekten mit sphinx
  • Sascha bei Arduino – 4fach 7-Segmentanzeige mit Schieberegister
  • Sylvio Seidel bei Nextcloud https mit self-signed Zertifikat einrichten
  • Markus Beier bei ioBroker auf dem Raspberry Pi installieren und konfigurieren

Werbung

Archive

Kontakt, Datenschutz und Impressum

  • Kontakt
  • Datenschutz
  • Impressum

Schlagwörter

Anleitung Ansible Apache Apple App Store Automatisierung Blogparade C++ Centos centos 7 CentOS7 Container Datenbank DevOps Docker Dr. Racket Dr. Scheme funktional Gastartikel Google HowTo httpd Icinga2 Icinga 2 Installation itsm Linux Minecraft Monitoring mooc MySQL owncloud PHP Plugin Programmierung python Raspberry Pi Schritt für Schritt Server Sicherheit Tutorial Ubuntu Update Windows Wordpress

Copyright © 2022 · Outreach Pro on Genesis Framework · WordPress · Anmelden