Privates DNS gegenüber VPN: Was jede Ebene wirklich abdeckt
Verfolge eine Anfrage vom Bildschirm für privates DNS bis in den Tunnel: was jede Ebene sieht, wo die beiden auseinandergehen und warum interne Namen der Punkt sind, an dem es bricht.
Dein Smartphone hat gleichzeitig privates DNS auf einen Anbieter-Hostnamen gesetzt und eine VPN-App laufen. Vermutlich steuert jetzt einer von beiden die Namensauflösung. Keiner von beiden tut das, jedenfalls nicht in dem Sinn, den dieser Satz nahelegt, und am schnellsten siehst du warum, wenn du eine einzelne Anfrage vom Tippen auf einen Link an verfolgst.
Die beiden Funktionen liegen an verschiedenen Stellen derselben Strecke. Privates DNS verschlüsselt die Frage, die du einem Resolver stellst. Ein VPN ändert die Route, über die die Verbindung zu dieser Antwort verläuft.
Geh das der Reihe nach auf einem Gerät durch, auf dem beides an ist, und notiere, was jede Ebene noch sieht.
Schritt eins: die Auflösung verlässt die App
Du tippst auf einen Link. Bevor irgendetwas verbindet, braucht die App eine Adresse für diesen Hostnamen. Unter Android ist das Einstellungen, Netzwerk und Internet, Privates DNS. Wählst du dort Anbieter-Hostname für privates DNS, versetzt das Gerät in den strengen Modus: Es führt DNS über TLS zu diesem Hostnamen auf Port 853 aus, und wenn der verschlüsselte Austausch scheitert, scheitert die Auflösung, statt stillschweigend auf Klartext auf Port 53 zurückzufallen.
Das ist ein bedeutender Unterschied zu Automatisch, das opportunistische Verschlüsselung nutzt und ohne Weiteres einen unverschlüsselten Resolver verwendet, wenn das Netz dazwischenfunkt. Wenn dein Ziel ist, dass Auflösungen nie im Klartext erfolgen, ist der strenge Modus mit einem Anbieter-Hostnamen die passende Einstellung.
Hier ist das Erste, was der Durchlauf offenlegt: Die Auflösung ist gegen das lokale Netz geschützt, und der Resolver erfährt trotzdem den Namen. Verschlüsselung deckt den Sprung ab. Der Betreiber dieses Resolvers sieht die Anfrage, weil das Beantworten seine Aufgabe ist.
Schritt zwei: die Verbindung nimmt eine andere Route
Der Resolver gibt eine Adresse zurück, und die App verbindet sich damit. Wie die Auflösung verschlüsselt wurde, spielt in diesem Schritt keine Rolle. Ohne Tunnel verlässt die Verbindung deine normale öffentliche Adresse, und die Ziel-IP und der TLS-Handshake machen den Hostnamen für das Netz ohnehin meist sichtbar, ob mit verschlüsseltem DNS oder ohne.
Schalte das VPN ein, und genau dieser Schritt ändert sich. Verkehr, der zur Routing-Richtlinie des Clients passt, geht durch den Tunnel, das lokale Netz sieht eine Verbindung zum VPN-Endpunkt, und die Website sieht in der Regel die Ausgangsadresse. Die Namensauflösung kann je nachdem, was der Client mitgibt, ebenfalls durch den Tunnel laufen.
Diese Trennung ist der ganze Vergleich in einem Satz. DNS-Verschlüsselung beantwortet, wer die Frage lesen kann. Ein VPN beantwortet, wohin das Gespräch geht.
Schritt drei: im Tunnel wird DNS zur Richtlinienfrage
Jetzt wirken beide zusammen, und der Browser überrascht wie üblich. Ein Browser mit eigener Einstellung für sicheres DNS schickt Auflösungen möglicherweise über HTTPS an seinen gewählten Resolver, statt das Betriebssystem zu fragen. Die Einstellung für privates DNS unter Android reicht nicht in diese Entscheidung hinein.
In Firefox steht der Schalter unter Einstellungen, Datenschutz und Sicherheit, Sicheres DNS aktivieren. In Chrome ist er unter Einstellungen, Datenschutz und Sicherheit, Sicheres DNS verwenden. Beide lassen sich auf einen bestimmten Anbieter festlegen oder ausschalten, und wenn sie an sind, wird die DNS-Konfiguration des Tunnels für diese Auflösungen umgangen, obwohl der Seitenverkehr weiterhin den Tunnel nutzt.
Wenn das VPN seinen eigenen Resolver vorgibt und der Browser auf seinem besteht, entsteht eine Spaltung: Namen werden aufgelöst, Seiten laden, und die Auflösungen, die durch den Tunnel gehen sollten, gingen direkt hinaus. Eine Resolver-Adresse, die vom VPN-Endpunkt abweicht, ist für sich genommen kein Beweis für ein Leck, aber ein Auflösungsweg, der deiner erklärten Absicht widerspricht, ist es wert, korrigiert zu werden.
Schritt vier: interne Namen sind der Punkt, an dem es bricht
Verbinde dich mit einem Arbeits-VPN und öffne einen Intranet-Host. Wenn das sichere DNS des Browsers an ist und auf einen öffentlichen Resolver zeigt, existiert dieser Name aus Sicht des Browsers nicht. Der Tunnel steht, alles andere läuft, und ein Hostname scheitert mit einem Fehler, als wäre die Website down.
Derselbe Fehler zeigt sich umgekehrt unter Android. Strenges privates DNS mit einem öffentlichen Anbieter löst keine Namen auf, die nur der interne Resolver kennt, und der strenge Modus hat keinen Rückfall. Das DNS eines Telefons zwischen einem öffentlichen verschlüsselten Resolver und einem Firmen-Resolver aufzuteilen ist keine Einstellung, sondern eine Frage der Routing-Richtlinie, die derjenige beantworten muss, der das VPN betreibt.
Prüfe das, bevor du den Tunnel verantwortlich machst: Frage den internen Namen ab, dann denselben mit deaktiviertem sicherem DNS des Browsers. Löst er sich auf, war die Resolver-Auswahl das Problem, nicht die Verbindung.
Was dir der Durchlauf zu ändern sagt
Vier Bildschirme tragen fast alles davon. Sieh sie in dieser Reihenfolge an und schreibe auf, was jeder sagt, denn die Antwort ist meist in der Kombination sichtbar:
- Android-Einstellungen, Netzwerk und Internet, Privates DNS: Automatisch oder ein Anbieter-Hostname, und welcher Hostname.
- Die Einstellung für sicheres DNS im Browser: aus oder auf einen bestimmten Resolver festgelegt.
- Die DNS-Richtlinie des VPN-Clients: Gibt sie einen Resolver vor, und schließt Split-Tunnelling etwas aus, das noch Namen braucht?
- Ein Test mit einem internen Hostnamen bei aktivem Tunnel, zweimal ausgeführt, einmal mit Browser-DNS an und einmal aus.
Ordne dann die Korrektur der Anforderung zu, nicht umgekehrt. Wenn Auflösungen verschlüsselt zu einem Resolver deiner Wahl gehen sollen, stelle strenges privates DNS ein und bringe den Browser dazu, dem zuzustimmen. Wenn der Verkehr woanders hinausgehen soll, konfiguriere den Tunnel und erwarte nicht länger, dass eine DNS-Einstellung deine Adresse verschiebt.
Und behalte die Grenzen im Blick. Keine der beiden macht ein feindliches Ziel sicher, und keine entfernt eine Identität, mit der du angemeldet bist. Verschlüsselung ändert, wer die Frage lesen kann; der Tunnel ändert, wohin die Verbindung geht; nichts von beidem anonymisiert das Konto.