Een testpagina meldt een globaal IPv6-adres en de conclusie springt meteen naar verkeer dat de VPN omzeilt. Die conclusie vereist twee feiten die de pagina nooit toonde: welke applicatie het verzoek deed, en welke route de kernel daarvoor koos. Het adresbereik beschrijft hoe ver een adres gerouteerd mag worden. Het zegt niets over waar dit specifieke pakket heen ging.

Bereik en rol zijn verschillende vragen met verschillende bewijzen.

Het bereik beantwoordt wie het mag routeren, niet wie het doet

Globale unicast-adressen zijn in principe routeerbaar op het openbare internet, unieke lokale adressen zijn bedoeld voor interne topologie, en link-lokale adressen bestaan alleen op één link. Dat zijn eigenschappen van het adresblok. Of een pakket naar een bepaalde bestemming de tunnel verlaat, bepalen de routingtabel en het beleid dat aan de interface hangt, en beide kunnen elke kant op wijzen.

Een adres kan een globaal bereik hebben en toch in een tunnel worden gedragen, omdat de tunnel een pad is en geen adresplan.

Lees alle adressen op de interface, niet de webtest

De uitvoer van de interface toont meerdere adressen tegelijk: het buitenadres op de fysieke link, het tunneladres en een link-lokaal adres per interface. De webtest toont alleen het bronadres van één verzoek. Begin met ip -6 addr show en noteer welke interface welk adres bezit en welke prefixlengte het draagt, en vraag dan welke interface het verzoek werkelijk gebruikte.

Vergelijk dat met ip -6 route get 2606:4700::1111, dat de interface en de bron afdrukt die de kernel voor een bestemming zou kiezen.

Hoe een globaal prefix in een tunnel terechtkomt

Twee ontwerpen leveren een globaal adres op een tunnelinterface. De provider kan een prefix delegeren die via de tunnel naar de client wordt gerouteerd, waardoor het adres globaal wordt terwijl het pad nog steeds de tunnel is. Of de client behoudt zijn eigen globale adres en de tunnel draagt het als binnenverkeer terwijl de buitenste header het werk doet. Geen van beide ontwerpen vereist vertaling, en de verwarring begint waar gewoonten uit IPv4 NAT als eis voor IPv6 worden gezien.

Vraag de beheerder welke van de twee geldt. Het antwoord bepaalt wat een server aan de andere kant als jouw bron ziet.

Waarom een adres dat privé lijkt geen vertrouwenssignaal is

Een uniek lokaal adres zegt dat de operator het voor interne routering bedoelt, en niets meer. Het bewijst niet dat het apparaat beheerd wordt, dat de software betrouwbaar is of dat het verkeer versleuteld is. Omgekeerd bewijst een globaal adres niet dat het verkeer aan de tunnel ontsnapte, en juist die aanname bestaat dit hele artikel om te ontkrachten.

Beoordeel vertrouwen op beleid, authenticatie en versleuteling. Het uiterlijk van een adres is een zwakke heuristiek die in beide richtingen faalt.

Test route en beleid als twee vragen

Eerst de route: voer curl -6 https://ifconfig.me uit via de tunnel en daarna via de fysieke interface, en vergelijk de antwoorden. Daarna het beleid: bevestig welk prefix de tunnel werkelijk draagt en of de andere kant een terugroute daarvoor heeft. Een geslaagd verzoek aan een openbare site bewijst geen van beide, want die bestemming is vanaf elke plek bereikbaar. Gebruik een interne bestemming voor de beleidstest.

Noteer het bronadres dat elk pad opleverde. Dat is het bewijs dat een bewering over omzeiling werkelijk nodig heeft.

Gerelateerde artikelen