Ein persönlicher DNS-Server bietet eine hervorragende Möglichkeit, DNS zu lernen und Ihr lokales Netzwerk zu kontrollieren. Ein Raspberry Pi, mit seiner Erschwinglichkeit und Zugänglichkeit, macht dieses Projekt überraschend einfach. Diese Anleitung führt Sie durch den Prozess und ermöglicht Ihnen die Verwaltung von DNS-Einträgen für Ihr Heimnetzwerk.
Inhaltsverzeichnis
- Einrichten einer statischen IP-Adresse auf Ihrem Raspberry Pi
- Einrichten des DNS-Servers (Bind9)
- Testen Ihres DNS-Servers
Einrichten einer statischen IP-Adresse auf Ihrem Raspberry Pi
Bevor Sie Ihren DNS-Server konfigurieren, ist es wichtig, Ihrem Raspberry Pi eine statische IP-Adresse zuzuweisen. Dies verhindert, dass IP-Adressänderungen die DNS-Funktionalität beeinträchtigen. Wir verwenden das Raspberry Pi Konfigurationstool:
- Zugriff auf das Konfigurationstool: Öffnen Sie ein Terminal auf Ihrem Raspberry Pi (oder über SSH) und geben Sie ein:
- Netzwerkoptionen: Navigieren Sie zu „5 Interfacing Options“ und dann zu „P5 Network Configuration“.
- Statische IP einstellen: Wählen Sie die Konfiguration „Manual“. Geben Sie Ihre gewünschte statische IP-Adresse, Subnetzmaske, Gateway und DNS-Serveradressen ein (verwenden Sie vorübergehend die DNS-Server Ihres Routers). Stellen Sie sicher, dass die IP-Adresse innerhalb des Bereichs Ihres Netzwerks liegt und nicht mit anderen Geräten kollidiert. Notieren Sie sich diese Einstellungen.
- Speichern und Neustarten: Speichern Sie die Änderungen und starten Sie Ihren Raspberry Pi neu mit:
- Überprüfung: Überprüfen Sie nach dem Neustart Ihre statische IP-Adresse mit:
sudo raspi-config
sudo reboot
ip addr show
Einrichten des DNS-Servers (Bind9)
Wir verwenden Bind9, einen zuverlässigen und weit verbreiteten DNS-Server.
- Paket aktualisieren: Aktualisieren Sie die Paketliste Ihres Raspberry Pi:
- Bind9 installieren: Installieren Sie Bind9 und seine Dienstprogramme:
- Bind9 konfigurieren: Die Hauptkonfigurationsdatei befindet sich unter `/etc/bind/named.conf.local`. Fügen Sie Einträge für Ihre Domains hinzu. Um beispielsweise Einträge für `example.local` zu bedienen, fügen Sie hinzu:
- Datenbankdatei erstellen: Erstellen Sie `/etc/bind/db.example.local` mit folgendem Inhalt (ersetzen Sie die Platzhalter durch Ihre Informationen):
- Bind9 neustarten: Starten Sie Bind9 neu, um die Änderungen zu implementieren:
- Firewall (Optional): Wenn Sie eine Firewall (z. B. `ufw`) verwenden, erlauben Sie DNS-Traffic (Port 53):
sudo apt update
sudo apt install bind9 bind9utils
zone "example.local" {
type master;
file "/etc/bind/db.example.local";
};
$TTL 604800
@ IN SOA raspberrypi.example.local. admin.example.local. (
2023102702 ; Seriennummer (erhöhen Sie diese Nummer bei jeder Änderung)
86400 ; Aktualisieren
7200 ; Wiederholen
3600000 ; Ablaufen
604800 ; Negative Cache TTL
)
@ IN NS raspberrypi.example.local.
raspberrypi IN A 192.168.1.100
www IN A 192.168.1.100
sudo systemctl restart bind9
sudo ufw allow 53/udp
sudo ufw allow 53/tcp
Testen Ihres DNS-Servers
- Client-Konfiguration: Ändern Sie auf einem Gerät in Ihrem Netzwerk die DNS-Servereinstellungen auf die statische IP-Adresse Ihres Raspberry Pi.
- Auflösung testen: Pingen oder browsen Sie zu einem Hostnamen, der in `db.example.local` definiert ist (z. B. `raspberrypi.example.local` oder `www.example.local`). Eine erfolgreiche Auflösung bestätigt, dass Ihr DNS-Server betriebsbereit ist. Wenn nicht, überprüfen Sie Ihre Konfigurationsdateien.
Denken Sie daran, Platzhalterwerte durch Ihre tatsächlichen IP-Adressen und Domainnamen zu ersetzen. Dies ist eine Grundeinrichtung; für erweiterte Konfigurationen konsultieren Sie die Bind9-Dokumentation. Sichern Sie Konfigurationsdateien immer, bevor Sie Änderungen vornehmen.