A DNS stub resolver is a client-side software component that forwards DNS queries from applications to a configured recursive resolver without performing full DNS hierarchy lookups itself, making it a critical infrastructure element found on every networked device. Misconfiguration of stub resolvers—through incorrect DHCP settings, unreachable servers, stale caches, or inconsistent search domains—causes widespread operational problems including slow page loads, failed logins, and application timeouts despite healthy network connectivity. Operations teams typically manage stub resolver behavior indirectly through DHCP distribution and endpoint management tools, while also facing security and failover challenges related to unencrypted DNS traffic and resolver address prioritization.
So funktioniert ein DNS-Stub-Resolver
Ein Stub-Resolver befindet sich zwischen den Anwendungen auf einem Gerät und einem rekursiven Resolver. Er führt selbst keine iterativen Lookups durch, sodass sich seine Aufgabe darauf beschränkt, Anfragen weiterzuleiten und Ergebnisse zurückzugeben.
- Anwendung fordert einen Namen an: Eine Anwendung ruft eine Systembibliotheksfunktion wie z. B. „getaddrinfo“ auf, um einen Hostnamen nachzuschlagen.
- Lokale Quellen werden überprüft: Der Stub-Resolver konsultiert möglicherweise zunächst eine Hosts-Datei oder einen lokalen Cache und antwortet sofort, wenn er eine Übereinstimmung findet.
- Die Anfrage wird an einen rekursiven Resolver gesendet: Wenn keine lokale Antwort vorliegt, sendet der Stub eine DNS-Anfrage mit gesetztem „Recursion Desired“-Flag an die Resolver-Adresse, die für ihn konfiguriert wurde. Diese Adresse wird häufig über DHCP ermittelt oder manuell festgelegt.
- Antwort wird zurückgegeben: Der rekursive Resolver führt die vollständige Abfrage durch und antwortet. Der Stub leitet die Adressen oder den Fehlercode an die Anwendung weiter und speichert das Ergebnis möglicherweise für die Gültigkeitsdauer des Eintrags im Cache.
Wenn der erste konfigurierte Resolver nicht antwortet, versucht der Stub in der Regel einen erneuten Versuch oder wendet sich an den nächsten in seiner Liste. Viele Stubs können auch verschlüsselte Übertragungsprotokolle wie DNS über TLS oder DNS über HTTPS verwenden, um den rekursiven Resolver zu erreichen.
Häufige Probleme mit DNS-Stub-Resolvern
Wenn der erste konfigurierte Resolver ausgefallen ist, wartet der Stub bis zum Ablauf einer Timeout-Frist, bevor er den nächsten versucht, sodass Benutzer bei jeder Abfrage Verzögerungen von mehreren Sekunden erleben. Der Zeitpunkt des Failovers variiert je nach Betriebssystem, wodurch das Symptom auf verschiedenen Geräten unterschiedlich auftritt.
Kurznamen werden anhand der konfigurierten Suchdomänen aufgelöst, sodass bei einer Abfrage möglicherweise mehrere fehlgeschlagene Anfragen generiert werden, bevor eine erfolgreich ist. Eine falsche Suffixliste kann zudem dazu führen, dass ein Kurzname zu einem unbeabsichtigten Host aufgelöst wird.
Ein lokaler Cache kann nach der Änderung eines Eintrags weiterhin eine veraltete Adresse zurückgeben, obwohl der rekursive Resolver bereits über die neue Adresse verfügt. Durch das Leeren des Client-Caches wird das Symptom behoben, was eher auf den Stub als auf den Server hindeutet.
Wenn ein VPN-Client die Resolver-Einstellungen ändert, können interne Namen außerhalb des VPN fehlschlagen oder öffentliche Namen an den internen Resolver weitergeleitet werden. Gemischte Resolver-Listen, in denen nur einige Server die internen Zonen kennen, führen zu zeitweiligen Ausfällen.
Eine falsche DNS-Server-Einstellung in einem DHCP-Bereich weist jedem Client in diesem Subnetz dieselbe fehlerhafte Resolver-Adresse zu. In diesem Fall treten auf vielen Geräten gleichzeitig Fehler auf, während die IP-Konnektivität weiterhin funktioniert.