FIAE – Anwendungsentwicklung

LF 3 · Clients ins Netz · 11/42 · 52 Min. angesetzt – Langform, jedes Wort zählt

DNS: Frage, Akte, Cache

DNS ist die Auskunft, nicht das Netz. Ein Client mit gültigem Lease und totem DNS pinged 9.9.9.9 und scheitert am Namen. Wer dann den Switch neu startet, flickt am falschen Gerät.

Stub

Was auf dem Client läuft. Windows: Dienst DNS-Client plus Resolver-IPs am Adapter. Linux: oft systemd-resolved mit 127.0.0.53 in resolv.conf.

Resolver

Dienst, der die Kette abläuft: Cache, sonst Forwarder oder Root, TLD, autoritative Zone.

Autoritativ

Dieser Server hat die Zone. Ein Laptop-Cache ist nur ein Abdruck mit TTL.

Zone

Verwaltetes Stück Namensraum. firma.example vorwärts. 30.20.10.in-addr.arpa rückwärts für PTR zu 10.20.30.0/24.

TTL

Sekunden, die der Abdruck leben darf. Nach einem Umzug lügt der Cache so lange.

Records

  • A / AAAA: Name nach IPv4 / IPv6.
  • PTR: Adresse nach Name.
  • CNAME: Alias, nicht an die Zone-Spitze.
  • MX: Mailziel mit Priorität, zeigt auf einen Namen mit A/AAAA.
  • NS und SOA: wer die Zone führt, Serial nach Änderung hoch.
  • SRV: Dienstorte, in AD lebenswichtig.
  • TXT: SPF und Nachweise.

Windows

In der Domäne liegt DNS fast immer AD-integriert auf den Domain Controllern. Dynamische Updates nur durch Mitglieder. Conditional Forwarder für Partnerzonen. Scavenging gegen tote dynamische Records. Ein zweiter DC ohne DNS-Rolle macht Clients namensblind, wenn der erste stirbt.

Resolve-DnsName intranet.firma.example
Resolve-DnsName intranet.firma.example -Server 10.20.30.10
Clear-DnsClientCache
ipconfig /displaydns

Nach einer Zonenänderung: zuerst den autoritativen Server direkt fragen, dann Client-Cache leeren, dann den konfigurierten Resolver. nslookup allein mischt die Lagen.

Linux

resolvectl status zeigt den Stub. dig @10.20.30.10 name A fragt genau diesen Server. getent hosts geht über nsswitch – files vor dns bedeutet, /etc/hosts gewinnt und kann die Wahrheit des Servers verdecken.

resolvectl status
dig @10.20.30.10 intranet.firma.example A
dig -x 10.20.30.10
getent hosts intranet.firma.example

Lagen trennen

  1. Ping auf die IP des Ziels. Geht das nicht, ist DNS unschuldig.
  2. Ping auf 9.9.9.9. Geht das nicht, Routing oder Firewall vor DNS.
  3. Namen gegen den konfigurierten Resolver.
  4. Namen gegen den autoritativen Server direkt.
  5. Nur den Cache leeren, der gelogen hat.

Prüfung

Clear-DnsClientCache leert …