Ein VPN verbirgt deine Adresse vor den Seiten, die du besuchst. Deine DNS-Anfragen schützt es aber nur, wenn dein System sie auch wirklich durch den Tunnel schickt. Tut es das nicht, sieht dein Internetanbieter weiterhin jeden Namen, den du nachschlägst. Das ist ein DNS-Leak.
Die Idee
Deinen Browser kannst du nicht fragen, welchen DNS-Resolver er benutzt. Du kannst ihn aber einen Namen nachschlagen lassen, den nur ein einziger Server auf der Welt beantworten kann, und dann diesen Server fragen, wer nachgefragt hat.
SkyPing betreibt diesen Server. Er ist der autoritative Nameserver für leak.skyping.ch und steckt in netd.
Was bei einem Test passiert
- Die Seite bittet netd um einen neuen Test. netd vergibt eine zufällige ID, zum Beispiel
k7q2m9abcdef. - Dein Browser lädt zehn winzige Bilder von Namen wie
1.k7q2m9abcdef.leak.skyping.ch. Nach diesen Namen hat noch nie jemand gefragt, also kann sie kein Cache beantworten. - Dein System gibt jede Anfrage an seinen Resolver weiter, und der muss unseren Nameserver fragen. netd merkt sich die Adresse jedes Resolvers, der nach der ID fragt.
- Die Seite holt die Liste ab und zeigt jeden Resolver mit Netz und Land.
198.51.100.53 Example VPN NL VPN
2001:db8:4::53 Example VPN NL VPN
203.0.113.10 Example ISP CH LeakGehört ein Resolver bei eingeschaltetem VPN deinem Anbieter, läuft ein Teil deines DNS-Verkehrs am Tunnel vorbei.
Was netd behält
netd zeichnet nur IDs auf, die es selbst vergeben hat, Anfragen nach erfundenen Namen hinterlassen also keine Spur. Ein Test lebt zehn Minuten im Arbeitsspeicher und ist dann weg. Nichts landet auf der Festplatte oder in einem Log.
Manche Resolver schicken auch einen Teil deiner eigenen Adresse mit, das EDNS Client Subnet. Der Test zeigt es an, wenn das passiert, denn dann verrät dein Resolver anderen Nameservern ungefähr, wo du bist.
Einen Leak beheben
- Schalte im VPN-Client den DNS-Leak-Schutz ein, oft heisst er «nur VPN-DNS verwenden».
- Prüfe, ob dein Router oder Betriebssystem einen festen DNS-Server erzwingt.
- Tunnelt dein VPN kein IPv6, schalte IPv6 ab, solange es verbunden ist.
Dann starte den Test erneut.