Trägt Ihr VPN IPv6 – oder erreicht es nur den Server?
IPv6-Erreichbarkeit ist kein IPv6-Transport. Prüfen Sie beide Familien, entscheiden Sie zwischen Tragen und Blockieren, und lassen Sie den Kill-Switch dasselbe Gebiet abdecken.
Ein Leak-Test nur für IPv4 kommt sauber zurück, ein IPv6-Test zeigt Ihre Heimatadresse, und der Tunnel ist nominell verbunden. Diese Kombination ist in Dual-Stack-Netzen üblich, weil das VPN den Pfad der einen Familie änderte und die andere unberührt ließ. Der äußere Tunnel und der Verkehr darin sind zwei getrennte Adressierungsentscheidungen. Das eine zu prüfen sagt nichts über das andere.
Prüfen Sie sowohl, was der Client meldet, als auch, welche Familie die Anfrage tatsächlich verwendet hat, denn ein Hostname kann beide Arten von Antworten liefern.
Zwei Familien, zwei verschiedene Wege
Das Betriebssystem führt pro Adressfamilie eine Routing-Tabelle. Eine Standardroute für IPv4 zu installieren installiert keine für IPv6, und ein über IPv4 erreichbarer Tunnelendpunkt sagt nichts darüber, ob IPv6-Verkehr in ihn gelangt. Existiert keine IPv6-Standardroute durch den Tunnel, nutzt der Host den IPv6-Pfad, den er hat, und das ist oft die physische Verbindung. Aus Sicht der Anwendung ist die Verbindung einfach direkt.
Ein Hostname, der sowohl A- als auch AAAA-Einträge zurückgibt, macht das schwerer zu sehen, weil Anwendungen die Familien in unterschiedlicher Reihenfolge versuchen können. Eine Anfrage, die gelingt, beweist nicht, welchen Pfad sie genommen hat. Verwenden Sie einen Test, der die Familie benennt, die er geprüft hat.
Den Server erreichen heißt nicht, den Verkehr tragen
Anbieter verwenden den Ausdruck IPv6-Unterstützung für mehrere verschiedene Fähigkeiten. Der Endpunkt kann eine Verbindung über IPv6 annehmen, während der Tunnel weiterhin nur IPv4 trägt. Der Tunnel kann innere IPv6-Pakete tragen, während der äußere Transport IPv4 bleibt. Oder der Client blockiert IPv6 vollständig, damit nichts außerhalb des Tunnels entweicht. Das sind drei verschiedene Verhaltensweisen, und eine Seite, die nur IPv6 unterstützt sagt, unterscheidet sie nicht.
Fragen Sie, welche davon das Design braucht. Ein Netz, das Dienste erreichen muss, die es nur über IPv6 gibt, braucht Tragen. Ein Netz, das direkten IPv6-Verkehr verhindern muss, braucht Blockieren oder vollständiges Tragen, kein Etikett auf einer Marketingseite.
Entscheiden Sie zwischen Tragen und Blockieren
Tragen bedeutet, dass der Tunnel eine IPv6-Adresse, eine Standardroute in ihm und eine Richtlinie hat, die den Verkehr an beiden Enden erlaubt. Blockieren bedeutet, dass der Client IPv6 gezielt daran hindert, den Tunnel zu verlassen, was sicher und für das Erreichen von IPv6-Zielen nutzlos ist. Beides ist legitim; keines ist ein Standard, den man annehmen kann. Wählen Sie zuerst die Anforderung und prüfen Sie dann, ob der Client sie tatsächlich umsetzt.
Ein Gastnetz nur mit IPv4 kann keinen IPv6-Pfad ausüben, daher sagt ein dort durchgeführter Test nichts über das Heimnetz aus, in dem beide Familien existieren. Testen Sie dort, wo die betreffende Familie tatsächlich angeboten wird.
Der Kill-Switch braucht dieselbe Abdeckung
Ein Kill-Switch, der nur IPv4 abdeckt, lässt die andere Familie direkt hinaus, und genau das ist das Leck, das er verhindern sollte. Prüfen Sie seine Regeln für beide Familien und für die Übergangsmomente, während der Tunnel hoch- oder herunterfährt. IPv6 systemweit abzuschalten ist kein Ersatz: Es kann unabhängige Dienste brechen und verbirgt ein Client-Richtlinienproblem hinter einer maschinenweiten Änderung.
Halten Sie DNS von all dem getrennt. Bei DNS geht es darum, wer die Abfrage beantwortet und wie die Abfrage reist; die Anwendungsverbindung danach hat ihre eigene Route. Eines kann korrekt sein, während das andere es nicht ist, und beide zusammen zu diagnostizieren führt zu verworrenen Schlüssen.
Notieren Sie, welche Familie jeder Test geprüft hat und welche Fähigkeit der Client behauptet. Dieses Faktenpaar beantwortet die Frage, die ein Support-Etikett nie beantworten wird.