Einen eigenen DNS-Server unter Linux einrichten
Ein DNS-Server (Domain Name System) wandelt Domainnamen in IP-Adressen um. Diese Anleitung zeigt, wie du einen DNS-Server mit Bind9 einrichtest und konfigurierst.
1. Bind9 installieren
- Installiere Bind9:
- Debian/Ubuntu:
sudo apt install bind9 bind9utils bind9-doc
- RedHat/CentOS:
sudo yum install bind bind-utils
- Debian/Ubuntu:
- Starte den Bind9-Dienst:
- Debian/Ubuntu:
sudo systemctl start bind9
- RedHat/CentOS:
sudo systemctl start named
- Debian/Ubuntu:
2. DNS-Zonen konfigurieren
- Bearbeite die Hauptkonfigurationsdatei von Bind9:
- Pfad:
/etc/bind/named.conf.local
(Debian/Ubuntu) oder/etc/named.conf
(RedHat/CentOS)
- Pfad:
- Füge eine Zone für deine Domain hinzu, z. B. "example.local":
zone "example.local" { type master; file "/etc/bind/db.example.local"; };
- Erstelle die Zonendatei:
- Befehl:
sudo nano /etc/bind/db.example.local
$TTL 604800 @ IN SOA ns1.example.local. admin.example.local. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns1.example.local. ns1 IN A 192.168.1.100 www IN A 192.168.1.101
- Befehl:
3. DNS-Server testen
- Überprüfe die Konfiguration:
- Befehl:
sudo named-checkconf
- Prüfe die Zonendatei:
sudo named-checkzone example.local /etc/bind/db.example.local
- Befehl:
- Starte den Bind9-Dienst neu:
- Debian/Ubuntu:
sudo systemctl restart bind9
- RedHat/CentOS:
sudo systemctl restart named
- Debian/Ubuntu:
- Teste die DNS-Auflösung:
- Befehl:
nslookup www.example.local
- Befehl:
4. Sicherheit und Optimierung
- Beschränke den Zugriff auf den DNS-Server:
- Füge in der Konfigurationsdatei
allow-query { 192.168.1.0/24; };
hinzu.
- Füge in der Konfigurationsdatei
- Aktiviere DNSSEC zur Sicherung von DNS-Daten.
- Überwache den DNS-Server mit `journalctl` oder Logdateien unter
/var/log
.