- 1 Section
- 10 Lessons
- unbegrenzt
Expand all sectionsCollapse all sections
- DNS – Domain Name System10
- 1.1Was ist DNS?
- 1.2DNS-Hierarchie: Root, TLD, SLD, Subdomain
- 1.3Auflösungsvorgang Schritt für Schrit
- 1.4DNS-Eintragstypen: A, AAAA, CNAME, MX, PTR, TXT
- 1.5DNS-Server: Resolver, Forwarder, Authoritative
- 1.6DNS-Zonen und Zonentransfer
- 1.7DNS unter Windows Server einrichten
- 1.8DNS unter Linux (BIND) einrichten
- 1.9DNS-Sicherheit: DNSSEC, DNS over HTTPS
- 1.10Aufgaben DNS
DNS unter Linux (BIND) einrichten
BIND (Berkeley Internet Name Domain) ist der weltweit verbreitetste DNS-Server – er läuft auf dem Großteil der autoritativen Nameserver im Internet. Auf Linux-Systemen (Ubuntu, Debian, RHEL, CentOS) wird er als Paket bind9 (Debian/Ubuntu) oder named (RHEL) installiert und über Textdateien konfiguriert: /etc/named.conf für die Hauptkonfiguration und Zone Files für die eigentlichen DNS-Daten.
BIND ist sehr mächtig aber auch komplex. Für einfache rekursive Resolver in lokalen Netzen ist Unbound oder dnsmasq oft einfacher. Für autoritative Nameserver, besonders mit DNSSEC, ist BIND der Standard. Voraussetzung: DNS-Zonen und Zone Files. Windows-Alternative: Windows Server DNS.
1) BIND installieren und konfigurieren
BIND9 auf Ubuntu Server – Schritt für Schritt
1
Installation und Basisprüfung
# BIND9 installieren
root@srv:# apt install bind9 bind9utils bind9-doc -y
Setting up bind9 (1:9.18.x) ...
[OK] BIND9 installiert.
# Status prüfen
root@srv:# systemctl status named
● named.service - BIND Domain Name Server
Active: active (running)
# BIND beim Start aktivieren
root@srv:# systemctl enable named
Hauptkonfigurationsdatei: /etc/bind/named.conf – bindet weitere Konfigurationsdateien ein.Zonendateien:
/etc/bind/ oder /var/lib/bind/
2
named.conf – Hauptkonfiguration
# /etc/bind/named.conf.options – globale Optionen
options {
directory "/var/cache/bind";
// Nur interne Clients dürfen rekursiv anfragen
allow-recursion { 192.168.0.0/16; 127.0.0.1; };
allow-query { any; };
// Forwarder für externe Domains
forwarders { 8.8.8.8; 8.8.4.4; };
forward only; // Oder: first (erst Forwarder, dann selbst)
dnssec-validation auto;
listen-on { any; };
};
allow-recursion: Nur interne Hosts dürfen rekursiv anfragen (Open Resolver vermeiden!). forward only: BIND fragt selbst nicht iterativ – leitet immer an Forwarder weiter.
3
Zone konfigurieren in named.conf.local
# /etc/bind/named.conf.local – eigene Zonen definieren
zone "firma.local" {
type master;
file "/etc/bind/zones/db.firma.local";
allow-transfer { 192.168.1.2; }; // Nur Secondary NS
};
zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/zones/db.192.168.1";
};
type master: Primärer NS. type slave: Secondary NS (add: masters { primary_ip; };). allow-transfer: Zonentransfer nur zu bekannten Secondary-Servern erlauben.
4
Zone File erstellen
# /etc/bind/zones/db.firma.local
; Zone: firma.local
$TTL 3600
$ORIGIN firma.local.
@ IN SOA ns1.firma.local. admin.firma.local. (
2024020101 ; Seriennummer
3600 ; Refresh
900 ; Retry
604800 ; Expire
300 ) ; Neg. TTL
; Nameserver
@ IN NS ns1.firma.local.
; A Records
ns1 IN A 192.168.1.1
webserver IN A 192.168.1.100
mail IN A 192.168.1.110
@ IN MX 10 mail.firma.local.
www IN CNAME webserver.firma.local.
5
Konfiguration prüfen und BIND neustarten
# Konfigurationssyntax prüfen
root@srv:# named-checkconf /etc/bind/named.conf
[OK] Keine Fehler.
# Zone File prüfen
root@srv:# named-checkzone firma.local /etc/bind/zones/db.firma.local
zone firma.local/IN: loaded serial 2024020101
OK
# BIND neustarten
root@srv:# systemctl restart named
# Testen
root@srv:# dig @192.168.1.1 webserver.firma.local
;; ANSWER SECTION:
webserver.firma.local. 3600 IN A 192.168.1.100
;; Query time: 2 msec
named-checkconf und named-checkzone prüfen Syntax BEVOR BIND neugestartet wird – damit fehlerhafte Configs nicht einen laufenden DNS-Dienst zerstören.
Wichtige Diagnosebefehle:
dig @server domain type (detaillierte DNS-Abfrage), nslookup domain server (einfacher Test), host domain server (kompakte Ausgabe), journalctl -u named (BIND-Logdateien unter systemd).Wichtige BIND-Konfigurationspfade
| Datei/Verzeichnis | Inhalt |
|---|---|
/etc/bind/named.conf | Haupt-Konfigurationsdatei (bindet weitere ein) |
/etc/bind/named.conf.options | Globale Optionen (Forwarder, Rekursion, Logging) |
/etc/bind/named.conf.local | Eigene Zonen-Definitionen |
/etc/bind/zones/ | Zone Files (Forward + Reverse) |
/var/cache/bind/ | Cache und dynamische Zones |
named-checkconf | Syntaxprüfung named.conf |
named-checkzone | Syntaxprüfung Zone File |
DNS unter Windows Server einrichten
Vorheriges
DNS-Sicherheit: DNSSEC, DNS over HTTPS
Nächstes
