DNS verstehen & selbst betreiben
Fast jeder Klick im Internet beginnt mit einer DNS-Abfrage — und genau die ist ein unterschätzter Kontroll- und Datenpunkt. Lerne, wie DNS funktioniert, was du damit machen kannst und wie du mit Pi-hole, Unbound und autoritativem DNS deinen eigenen Server baust. Dein Fortschritt wird lokal gespeichert.
Worum geht's?
DNS — das Domain Name System — ist das „Telefonbuch des Internets": es übersetzt Namen wie fl-pro-consulting.de in IP-Adressen, die Computer wirklich brauchen. Klingt unscheinbar, ist aber der erste Schritt jeder Verbindung — und damit eine perfekte Stelle, um mitzulesen, zu sperren oder zu manipulieren.
Diese Schulung führt dich von null: wie eine Auflösung abläuft → welche Record-Typen es gibt → DNS selbst abfragen → das Kontroll-/Datenproblem → verschlüsseltes DNS → bis zum eigenen DNS-Server mit netzwerkweitem Werbe-/Tracker-Blocking, eigener Rekursion und einer eigenen Zone.
Selbstlern-Kurs zum Durchklicken — dein Fortschritt wird lokal gespeichert.
? Für wen ist das interessant?
Für alle, die verstehen wollen, wohin ihre Anfragen gehen — und die Kontrolle zurückholen möchten.
🗺️ Die 9 Stufen
Was ist DNS?
Das mentale Modell, wofür DNS da ist und wie eine Auflösung Schritt für Schritt abläuft.
1 Das Telefonbuch des Internets
Menschen merken sich Namen (fl-pro-consulting.de), Computer brauchen Zahlen (203.0.113.10). DNS übersetzt zwischen beiden — vor jeder Verbindung.
Weil diese Übersetzung am Anfang jeder Verbindung steht, ist DNS eine extrem mächtige Stelle: Wer sie kontrolliert, sieht, wohin du willst — und kann dich umleiten oder blockieren. Genau darum geht es ab Stufe 4.
2 Wie eine Auflösung abläuft
Dein Gerät fragt nicht das ganze Internet — es delegiert an einen rekursiven Resolver, der die Kette für dich abläuft:
Beim ersten Mal läuft die ganze Kette; danach cacht der Resolver die Antwort für die Dauer der TTL (Stufe 2) — die nächste Abfrage derselben Domain ist sofort da.
3 Die Rollen im Überblick
✓ Geschafft, wenn Du …
DNS-Records verstehen
Was in einer Zone steht — die wichtigsten Record-Typen, plus TTL und Caching.
1 Records = die Einträge einer Domain
Eine Domain besteht aus einer Sammlung von Resource Records. Jeder hat einen Typ, der sagt, was gefragt wird. Die wichtigsten:
| Typ | Bedeutung | Beispiel-Wert |
|---|---|---|
| A | Name → IPv4-Adresse | 203.0.113.10 |
| AAAA | Name → IPv6-Adresse | 2001:db8::1 |
| CNAME | Alias auf einen anderen Namen | www → fl-pro-consulting.de. |
| MX | zuständiger Mailserver (+ Priorität) | 10 mail.example.de. |
| TXT | Freitext: SPF, DKIM, Domain-Verifizierung | "v=spf1 include:…" |
| NS | welche Nameserver für die Zone zuständig sind | ns1.example.de. |
| SOA | Start of Authority: Eckdaten der Zone | Serial, TTLs, Verantwortlicher |
| PTR | Reverse: IP → Name | 10.113.0.203.in-addr.arpa. |
| SRV | Dienst + Port (z. B. SIP, XMPP) | _sip._tcp … |
| CAA | welche CA Zertifikate ausstellen darf | 0 issue "letsencrypt.org" |
example.de) ist ein CNAME nicht erlaubt — dort gehören A/AAAA hin. CNAME ist für Unterdomains wie www gedacht.2 So sieht das in einer Zonendatei aus
; Name TTL Klasse Typ Wert @ 3600 IN SOA ns1.example.de. admin.example.de. ( 2026061301 ; Serial (Versionsnummer) 7200 3600 1209600 3600 ) @ 3600 IN NS ns1.example.de. @ 3600 IN A 203.0.113.10 @ 3600 IN MX 10 mail.example.de. www 3600 IN CNAME example.de. mail 3600 IN A 203.0.113.20 @ 3600 IN TXT "v=spf1 mx -all"
@ steht für die Zone selbst.3 TTL & Caching
Jeder Record trägt eine TTL (Time To Live) in Sekunden — so lange darf ein Resolver die Antwort cachen, bevor er neu fragt.
- weniger Anfragen, schneller
- gut für stabile Einträge
- Änderungen greifen schnell
- gut vor einem Server-Umzug
✓ Geschafft, wenn Du …
DNS selbst abfragen
Mit den Bordmitteln deines Systems eine Auflösung sichtbar machen — und die ganze Kette selbst nachlaufen.
1 Das richtige Werkzeug
Je nach System hast du andere Tools an Bord. Wähle oben deine Plattform:
dig (aus dem Paket dnsutils bzw. bind-utils) ist der Klassiker. Mit systemd zusätzlich resolvectl query <name>.dig und nslookup sind vorinstalliert (Terminal-App). dscacheutil -flushcache leert den lokalen Cache.nslookup ist überall dabei. In PowerShell ist Resolve-DnsName <name> komfortabler. ipconfig /flushdns leert den Cache. dig gibt es optional über die BIND-Tools.2 Eine Domain abfragen
# A-Record (IPv4) dig fl-pro-consulting.de A # nur die nackte Antwort dig +short fl-pro-consulting.de # Mailserver der Domain dig example.de MX +short
# A-Record (IPv4) dig fl-pro-consulting.de A # nur die nackte Antwort dig +short fl-pro-consulting.de # Mailserver der Domain dig example.de MX +short
# A-Record (IPv4) Resolve-DnsName fl-pro-consulting.de -Type A # Mailserver der Domain Resolve-DnsName example.de -Type MX # Klassisch mit nslookup nslookup -type=MX example.de
Lies die ANSWER SECTION: dort stehen Name, TTL, Typ und Wert. Sinkt die TTL bei wiederholten Abfragen, siehst du den Cache deines Resolvers bei der Arbeit.
3 Einen bestimmten Resolver fragen
Mit @ wählst du gezielt einen DNS-Server — praktisch, um zu vergleichen, ob jemand etwas anders (oder gar nicht) beantwortet:
# Quad9 (9.9.9.9) fragen dig @9.9.9.9 example.de +short # Cloudflare (1.1.1.1) zum Vergleich dig @1.1.1.1 example.de +short
nslookup example.de 9.9.9.9. So entlarvst du z. B. eine vom Anbieter-Resolver gefilterte Antwort.4 Die ganze Kette nachlaufen: +trace
Damit fragt dig selbst von den Root-Servern an nach unten — du siehst Stufe 1 live:
✓ Geschafft, wenn Du …
Versionsstand: BIND-dig 9.x / Windows 11 PowerShell · Stand Juni 2026
DNS als Kontroll- und Datenpunkt
Die unterschätzte Schwachstelle: Warum dein Anbieter standardmäßig mitliest und sperrt — und wie Manipulation funktioniert.
1 Klassisches DNS ist offen wie eine Postkarte
Die normale DNS-Anfrage läuft über Port 53 — unverschlüsselt. Jeder auf dem Weg (dein Anbieter, der WLAN-Betreiber, ein Angreifer im Netz) kann mitlesen, welche Domains du aufrufst.
Und standardmäßig fragst du den Resolver deines Internetanbieters — denn den verteilt der Router automatisch. Damit liegt diese Übersetzungsstelle, durch die jeder deiner Klicks läuft, in fremder Hand.
2 Was darüber gemacht wird
3 Anbieter-Resolver vs. eigener Weg
- unverschlüsselt — alle Domains sichtbar
- Sperren & Filter durch den Anbieter
- du vertraust einem fremden Logging
- anfällig für Spoofing ohne DNSSEC
- Anfragen verschlüsselt (Stufe 5)
- du wählst, wem du vertraust — oder niemandem (Stufe 7)
- Werbung/Tracker netzwerkweit blocken (Stufe 6)
- DNSSEC-Validierung gegen Fälschung (Stufe 9)
✓ Geschafft, wenn Du …
Verschlüsseltes DNS & Resolver umstellen
Der schnelle Gewinn ohne eigenen Server: DNS verschlüsseln und einen Resolver wählen, dem du vertraust.
1 DoH, DoT & DoQ
Drei Wege, die Postkarte in einen verschlossenen Brief zu verwandeln — dein Anbieter sieht dann nicht mehr, welche Domains du auflöst:
853. Eigener, klar erkennbarer Port — gut am Router/OS.443. Versteckt sich im normalen Web-Traffic; in Browsern eingebaut.2 Welchen Resolver?
| Resolver | Adresse | Profil |
|---|---|---|
| Quad9 | 9.9.9.9 | Stiftung (CH/EU), filtert Malware, kein Profil-Logging |
| Cloudflare | 1.1.1.1 | schnell, US-Unternehmen |
| 8.8.8.8 | schnell, US-Unternehmen | |
| dismail/digitalcourage | DE | kleine, datenschutzorientierte Angebote |
3 Umstellen — wo am besten?
/etc/systemd/resolved.conf setzen: DNS=9.9.9.9 und DNSOverTLS=yes, dann systemctl restart systemd-resolved. Prüfen mit resolvectl status.✓ Geschafft, wenn Du …
Eigener DNS-Server: Pi-hole
Der Payoff aus dem Video: ein netzwerkweiter DNS-Server, der Werbung und Tracker für alle Geräte blockt — auch Smart-TV und Handy.
1 Was Pi-hole ist
Pi-hole ist ein DNS-Server für dein Heimnetz: Alle Geräte fragen ihn, er filtert Werbe- und Tracker-Domains per Blocklisten heraus (Antwort = „gibt's nicht") und leitet alles andere an einen Upstream-Resolver weiter.
2 Pi-hole mit Docker starten
services: pihole: container_name: pihole image: pihole/pihole:latest ports: - "53:53/tcp" - "53:53/udp" # DNS - "80:80/tcp" # Web-Oberfläche environment: TZ: 'Europe/Berlin' FTLCONF_webserver_api_password: 'BITTE-AENDERN' FTLCONF_dns_upstreams: '9.9.9.9;149.112.112.112' # Quad9, vorerst FTLCONF_dns_listeningMode: 'all' volumes: - './etc-pihole:/etc/pihole' restart: unless-stopped
FTLCONF_*-Variablen; das Web-Passwort setzt FTLCONF_webserver_api_password.3 Einrichten & ins Netz hängen
- Web-Oberfläche öffnen:
http://<pi-hole-ip>/admin, mit dem Passwort anmelden. - Unter Lists die Blocklisten prüfen — Standard reicht für den Anfang; bei Bedarf weitere seriöse Listen ergänzen.
- Router: im DHCP-Server den DNS-Server auf die Pi-hole-IP setzen. Jetzt nutzen alle Geräte automatisch Pi-hole.
- Auf einem Gerät kurz testen (Werbung weg?) und im Pi-hole-Dashboard die Abfragen live mitlaufen sehen.
✓ Geschafft, wenn Du …
Volle Souveränität: Unbound
Den letzten Mittelsmann abschaffen — selbst rekursiv ab den Root-Servern auflösen.
1 Warum noch ein Baustein?
Pi-hole filtert, fragt für den Rest aber einen öffentlichen Resolver — der dann doch alle deine Domains sieht. Unbound ist ein eigener, rekursiver und validierender Resolver: er läuft die Kette aus Stufe 1 selbst ab und braucht keinen Dritten.
- Quad9/Cloudflare sieht alle Anfragen
- du vertraust deren Logging-Versprechen
- kein Upstream-Dritter mehr
- DNSSEC-Validierung selbst
- maximale Privatsphäre & Souveränität
2 Unbound danebenstellen
services: pihole: # … wie Stufe 6, aber Upstream auf Unbound zeigen: environment: FTLCONF_dns_upstreams: 'unbound#53' depends_on: [unbound] unbound: container_name: unbound image: mvance/unbound:latest volumes: - './unbound:/opt/unbound/etc/unbound' restart: unless-stopped
unbound. Klassische Anleitungen nutzen alternativ 127.0.0.1#5335 mit Unbound auf dem Host.3 Prüfen, dass DNSSEC validiert
qname-minimisation sorgt zusätzlich dafür, dass Root/TLD nur so viel erfahren wie nötig.✓ Geschafft, wenn Du …
Versionsstand: Unbound 1.2x · Stand Juni 2026
Eigene Domain: autoritatives DNS
Vom Fragen zum Antworten: selbst die Quelle der Wahrheit für eine Zone sein — fürs Heimnetz oder die eigene Domain.
1 Rekursiv vs. autoritativ
Bisher hast du Resolver gebaut, die für dich fragen (rekursiv). Ein autoritativer Server ist das Gegenteil: er liefert die Antworten für eine Zone, die dir gehört.
nas.heim.lan → 192.168.1.10. Sauber und änderbar.2 Mit CoreDNS eine Zone betreiben
CoreDNS ist modern, in Go geschrieben und Docker-freundlich. Es liest ein Corefile und Zonendateien:
heim.lan:53 { file /etc/coredns/db.heim.lan log errors } .:53 { forward . 192.168.1.53 # alles andere an Pi-hole/Unbound cache }
$TTL 3600 @ IN SOA ns.heim.lan. admin.heim.lan. ( 2026061301 7200 3600 1209600 3600 ) @ IN NS ns.heim.lan. ns IN A 192.168.1.53 nas IN A 192.168.1.10 pi IN A 192.168.1.53
2026061301) bei jeder Änderung hochzählen. Alternativen: dnsmasq (leichtgewichtig, oft schon im Router/Pi-hole) und BIND9 (der mächtige Klassiker).3 Damit die Welt deine Zone findet
Für eine öffentliche Domain müssen zwei Dinge stimmen — sonst findet dich niemand:
- NS-Delegation: beim Registrar die NS-Records auf deinen Server zeigen lassen.
- Glue-Record: ein A-Record für den NS-Hostnamen selbst (sonst Henne-Ei-Problem). Voraussetzung: eine statische, öffentliche IP — also ein VPS.
4 Praxis-Bonus: DDNS & Zertifikate
✓ Geschafft, wenn Du …
Sicherheit & Betrieb
DNS ist kritisch — fällt es aus oder wird manipuliert, „geht nichts mehr". So betreibst du deinen Resolver sicher und zuverlässig.
1 Gegen Manipulation absichern
2 Datenschutz beim Logging
Query-Logs sind hochsensibel — sie verraten alles, was im Netz aufgerufen wird.
- Pi-hole: Privacy-Level hochsetzen, Aufbewahrung kurz halten.
- Im Firmen-/Familienkontext: wer sehen darf, was geloggt wird, ist eine echte DSGVO-Frage.
- So wenig speichern wie möglich — Statistik ja, Vollprotokoll selten nötig.
3 Backup & Ausfallsicherheit
- Backup: Pi-hole-Einstellungen per Teleporter exportieren;
docker-compose.yml+ Volumes sichern. - Fallback-Resolver: am Client/Router einen zweiten DNS hinterlegen — fällt dein Pi-hole aus, bleibt das Netz erreichbar.
- Monitoring: Verfügbarkeit überwachen (z. B. Uptime-Kuma — siehe Self-Hosting-Schulung).
- Server härten: SSH absichern, Updates fahren — siehe SSH und Docker.
✓ Geschafft, wenn Du …
DNS Cheat-Sheet
Die wichtigsten Befehle und Bausteine auf einen Blick. (Zählt nicht für den Fortschritt.)
🔎 Abfragen
# A-Record, nur die Antwort dig +short example.de # bestimmten Typ abfragen dig example.de MX dig example.de TXT # gezielt einen Resolver fragen dig @9.9.9.9 example.de # ganze Kette ab Root nachlaufen dig +trace example.de # Windows (PowerShell) Resolve-DnsName example.de -Type A
📇 Record-Typen
| Typ | Wofür |
|---|---|
| A / AAAA | Name → IPv4 / IPv6 |
| CNAME | Alias auf anderen Namen |
| MX | Mailserver (+ Priorität) |
| TXT | SPF/DKIM/Verifizierung |
| NS / SOA | Zuständigkeit & Eckdaten der Zone |
| CAA | erlaubte Zertifizierungsstelle |
🕳️ Pi-hole + Unbound (Docker)
services: pihole: image: pihole/pihole:latest ports: ["53:53/tcp", "53:53/udp", "80:80/tcp"] environment: FTLCONF_webserver_api_password: 'AENDERN' FTLCONF_dns_upstreams: 'unbound#53' volumes: ['./etc-pihole:/etc/pihole'] restart: unless-stopped unbound: image: mvance/unbound:latest volumes: ['./unbound:/opt/unbound/etc/unbound'] restart: unless-stopped
🔐 Resolver & Verschlüsselung
9.9.9.9 · EU-Stiftung, Malware-Filter853443Quiz
7 Fragen quer durch die DNS-Stufen. Ab 6 richtigen Antworten schaltest du dein Zertifikat frei.
Dein Zertifikat
Glückwunsch! Trage deinen Namen ein und drucke das Zertifikat (oder speichere als PDF).