Warum sich Ihre IPv6-Adresse ändert, während das VPN aktiv bleibt
Temporäre Adressen rotieren planmäßig, daher können sich zwei Screenshots ohne Routingänderung unterscheiden. Vergleichen Sie Präfix, Schnittstelle und Route, nicht die vollständige Adresse.
Zwei Screenshots im Abstand einer Stunde zeigen unterschiedliche IPv6-Quelladressen, und die naheliegende Lesart ist, dass der Tunnel geleckt hat oder neu verbunden wurde. Meist ist keines von beidem passiert. Der Host verwendet temporäre Adressen, eine Datenschutzfunktion des Betriebssystems, die den Schnittstellenbezeichner per Timer rotiert. Der Vergleich wirkte nur deshalb eindeutig, weil er ein Feld voraussetzte, das nie stabil war.
Was eine temporäre Adresse tatsächlich rotiert
Eine temporäre Adresse wird aus dem Schnittstellenpräfix plus einem Bezeichner gebildet, den der Host ändert, und sie trägt eine bevorzugte und eine gültige Lebensdauer. Bevor die gültige Lebensdauer abläuft, erzeugt der Host einen Ersatz, sodass zwei Verbindungen legitimerweise von unterschiedlichen Quellen ausgehen können. Die Link-Local-Adresse und das Präfix selbst bleiben bestehen, und so erkennt das Netzwerk die Maschine weiterhin.
Nichts an dieser Rotation macht ein Konto, ein Cookie oder ein Browsermuster anonym. Eine Website, die Sie wiedererkennen will, hat Cookies, Anmeldungen und Fingerabdrücke, und eine wechselnde Quelladresse fällt dagegen kaum auf. Die Rotation ändert ein Feld im Paketkopf, und dieses Feld war nie die einzige Kennung auf dem Weg.
Die Website sieht eine Adresse, der Host hält mehrere
Ein Server notiert die Quelle der Anfrage, die er erhalten hat, mehr nicht. Der Host kann mehrere Adressen mit unterschiedlichen Gültigkeitsbereichen und Lebensdauern halten, und welche gewinnt, hängt von den Regeln der Adressauswahl und vom Ziel ab. Den Wert der Website als Maschinenadresse zu lesen, ist der Anfang dieser Verwechslung. Ein Host kann für zwei Websites im selben Moment wie zwei Maschinen aussehen, einfach weil jede Verbindung eine andere Adresse gewählt hat.
Betrachten Sie während eines Tests die Schnittstelle mit ip -6 addr show dev eth0: mehrere Adressen mit ihren Lebensdauern bedeuten, dass die Rotation planmäßig vorhanden ist. Fragen Sie dann den Kernel, welche Route er mit ip -6 route get 2001:db8:10::5 verwenden würde, was das Gerät und die bevorzugte Quelle für dieses Ziel ausgibt.
Vergleichen Sie Präfix, Schnittstelle und Route, nicht die Zeichenkette
Beim VPN-Test lautet die Frage, ob das Paket durch den Tunnel ging, und das ist eine Frage von Routing und Richtlinie. Die Quelladresse ist dafür ein schwacher Beleg: eine rotierende Adresse auf der Tunnelschnittstelle ist weiterhin auf dem Tunnel. Ein Tunnel, der sich neu verbindet, verschiebt meist stattdessen das Präfix oder das Gerät, und diese Änderungen sind sichtbar, ohne die vollständige Adresse zu lesen.
Vergleichen Sie also die gewählte Route, die Schnittstelle, über die das Paket ging, und das Präfix, das es trug. Diese drei bleiben zwischen Läufen stabil genug, und jedes bedeutet etwas anderes, wenn es sich ändert.
Eine Änderung ist relevant, wenn sich das Präfix ändert, wenn sich die Schnittstelle ändert oder wenn die Route zum Ziel den Tunnel nicht mehr nutzt. Eine Änderung nur im Schnittstellenbezeichner, bei gleichem Präfix und gleichem Gerät, ist Datenschutzverhalten wie vorgesehen. Wenn sich nur der Bezeichner bewegt hat, hat der Test den Datenschutz-Timer gemessen statt der Abdeckung. Schreiben Sie auf, welche der drei sich bewegt hat, bevor Sie den Tunnel beschuldigen.
Schalten Sie IPv6 nicht ab, damit Screenshots übereinstimmen
IPv6 abzuschalten lässt wiederholte Tests übereinstimmen, und es entfernt zugleich eine ganze Adressfamilie aus dem Netz, das Ihr Tunnel abdecken soll. Wenn die Richtlinie lautet, IPv6 zu transportieren, verbirgt das Abschalten eine Abdeckungslücke, statt sie zu schließen.
Wenn die Richtlinie lautet, IPv6 zu blockieren, bis es unterstützt wird, blockieren Sie es bewusst und schreiben Sie die Entscheidung auf. Der nächste Administrator muss den Unterschied zwischen einer dokumentierten Blockade und einem abgeschalteten Stack sehen.
Was zu erfassen ist und was ein einzelner Test beweisen kann
Erfassen Sie das Präfix, den Schnittstellennamen, die gewählte Route, das Ziel und den Zeitstempel, mit der vollständigen Adresse daneben. Die Spezifikation für temporäre Adressen erklärt die Lebensdauern, die die Rotation antreiben, weshalb die vollständige Adresse das am wenigsten stabile Feld in der Notiz ist. Dass zwei der drei stabilen Felder zwischen Läufen übereinstimmen, ist stärkerer Beleg als eine einzelne Adressübereinstimmung.
Ein einzelner Test ist eine Beobachtung einer einzelnen Anfrage. Die Notiz macht aus der nächsten Beobachtung einen Vergleich. Behalten Sie beides, und die nächste Abweichung kostet einen Blick statt eines Nachmittags.