En offentlig IP-kontrollsida svarar på en fråga, och oftast inte den du ställde. Den berättar utgångsadressen som sidan såg; den berättar inte om IPv6-vägen genom tunneln fungerar, om värden föredrog IPv6 eller föll tillbaka, eller om ett undantaget program tog en annan väg. En auktoriserad resurs som du kontrollerar svarar ordentligt på den snävare frågan, eftersom du ser båda ändarna. Guiden nedan handlar om att nå en slutsats du kan försvara, inte om att få ett grönt resultat.

Steg 1: säg vilken IPv6-väg du testar

Säg det i en mening. En begäran till tunnelserverns egen IPv6-adress testar tunneln; en begäran till en värd bortom utgången testar utgångens IPv6-utgång; en begäran till en privat IPv6-adress testar en intern väg.

Det är tre olika påståenden och en enda lyckad begäran kan inte stödja alla. Välj den som spelar roll för beslutet framför dig och skriv ned den innan du kör något. Om oro handlar om IPv6 läcker runt tunneln gäller frågan värdens vägval, inte utgångens nåbarhet. Om oro handlar om den bortre sidan kan nå en intern tjänst är utgången irrelevant.

Steg 2: bekräfta att värden väljer den vägen

ip -6 route get 2001:db8:1::10 skriver ut vägen, källadressen och det gränssnitt som kärnan skulle använda, och det är det faktum resten av testet hänger på.

Att ett gränssnitt finns är inte samma sak som att det väljs. Värdar med två stackar har en prioritetstabell, och /etc/gai.conf på Linux kan ändra vilken familj som vinner för ett namn som löses till båda.

Steg 3: använd ett legitimt mål och ett legitimt namn

Om du testar HTTPS, använd det värdnamn som certifikatet utfärdades för och behåll verifieringen på; att byta till en litteral adress för att få testet att gå igenom stänger av precis den kontroll som bevisar att du nådde den avsedda värden. En diagnostisk tjänst som du kontrollerar, som svarar på ett känt namn med ett giltigt certifikat, är det renaste målet. Den ger dig också en logglinje på serversidan att korrelera mot, vilket en tredjepartskontroll aldrig ger.

Kör begäran i en form som visar adressen den använde: curl -6 -sS -o /dev/null -w '%{remote_ip} %{http_code}\n' https://test6.example.net/. -6 tvingar familjen, och det är så du skiljer IPv6 fungerar inte från IPv6 föredrogs inte.

För ett rent nåbarhetstest där ICMPv6 är tillåtet räcker ping -6 -c 3 2001:db8:1::10. Det bevisar vägen och inget ovanför den.

Steg 4: korrelera båda ändarna

När du har åtkomst till båda ändarna, kör tcpdump -ni any ip6 and host 2001:db8:1::10 på klienten och motsvarande på resursen, med tidsstämplar, och bekräfta att samma flöde syns på båda. Det är det som gör ett trovärdigt resultat till bevis: klientens vy ensam kan inte skilja ett svar från resursen från ett svar från något däremellan. Håll insamlingen smal till den enda destinationen så att utdata förblir läsbara och ingens orelaterade session hamnar i filen.

Upprepa testet efter en återanslutning om oron gäller huruvida policy överlever en omstart. Rutt- och brandväggstillstånd som tillämpades en gång vid anslutning kan skilja sig från tillstånd som tillämpas igen, och skillnaden syns först vid den andra anslutningen.

Testa fel-fallet separat om du behöver det. En tunnel som blockerar IPv6 när den faller och en som läcker det är olika konstruktioner, och bara en av dem kan verifieras med en lyckad begäran.

Steg 5: skriv ned vad testet inte bevisade

Steg fem är att skriva ned vad testet inte bevisade, och det är den del som brukar utelämnas. Ett lyckat test mot en privat ändpunkt bevisar inte offentlig IPv6-utgång, bevisar inte DNS-beteende och täcker inte program som du undantagit från tunneln. Var och en av dessa behöver sin egen destination och sin egen observation. En anteckning som säger att IPv6 fungerar efter en begäran till en värd är inte ett fynd; det är en gissning med tidsstämpel.

Den post som är värd att behålla är kort: destinationen, namnet, källadressen som värden valde, den observerade fjärradressen och tiden. RFC 7359 diskuterar hur man testar att en relevant IPv6-väg verkligen är användbar, och det är den standard som denna guide närmar sig med enklare verktyg. Om slutsatsen behöver en offentlig kontroll för att vara sann var testet inte specifikt nog.

Relaterade artiklar