Verejná stránka na kontrolu IP odpovedá na jednu otázku, a zvyčajne nie na tú, ktorú ste položili. Povie vám výstupnú adresu, ktorú stránka videla; nepovie, či trasa IPv6 tunelom funguje, či hostiteľ uprednostnil IPv6 alebo sa vrátil späť, ani či vylúčená aplikácia išla inou cestou. Autorizovaný zdroj, ktorý ovládate, odpovedá na užšiu otázku správne, pretože vidíte oba konce. Návod nižšie je o získaní záveru, ktorý dokážete obhájiť, nie o zelenom výsledku.

Krok 1: povedzte, ktorú trasu IPv6 testujete

Povedzte to jednou vetou. Požiadavka na vlastnú adresu IPv6 servera tunela testuje tunel; požiadavka na hostiteľa za výstupom testuje výstup IPv6 výstupu; požiadavka na privátnu adresu IPv6 testuje vnútornú trasu.

Sú to tri rôzne tvrdenia a jedna úspešná požiadavka nemôže podporiť všetky. Vyberte to, čo je dôležité pre rozhodnutie pred vami, a zapíšte to predtým, než čokoľvek spustíte. Ak je obavou, či IPv6 nepresakuje okolo tunela, otázka je o voľbe trasy hostiteľom, nie o dostupnosti výstupu. Ak je obavou, či vzdialená strana dosiahne vnútornú službu, výstup je irelevantný.

Krok 2: potvrďte, že hostiteľ volí túto trasu

ip -6 route get 2001:db8:1::10 vypíše trasu, zdrojovú adresu a rozhranie, ktoré by jadro použilo, a na tomto fakte závisí zvyšok testu.

Existencia rozhrania nie je to isté ako jeho výber. Hostitelia s duálnym zásobníkom majú tabuľku priorít a /etc/gai.conf v Linuxe môže zmeniť, ktorá rodina vyhrá pre meno, ktoré sa prekladá na obe.

Krok 3: použite legitímny cieľ a legitímne meno

Ak testujete HTTPS, použite meno hostiteľa, pre ktoré bol certifikát vydaný, a nechajte overovanie zapnuté; prechod na doslovnú adresu, aby test prešiel, vypína práve tú kontrolu, ktorá dokazuje, že ste dosiahli zamýšľaného hostiteľa. Diagnostická služba, ktorú ovládate a ktorá odpovedá na známom mene s platným certifikátom, je najčistejší cieľ. Dáva vám aj riadok protokolu na strane servera na porovnanie, čo kontrolór tretej strany nikdy nedá.

Spusťte požiadavku vo forme, ktorá ukazuje použitú adresu: curl -6 -sS -o /dev/null -w '%{remote_ip} %{http_code}\n' https://test6.example.net/. Prepínač -6 vynucuje rodinu, a tak oddeľujete IPv6 nefunguje od IPv6 nebolo preferované.

Na čistú kontrolu dosiahnuteľnosti, kde je povolený ICMPv6, stačí ping -6 -c 3 2001:db8:1::10. Dokazuje trasu a nič nad ňou.

Krok 4: skorelujte oba konce

Keď máte prístup k obom koncom, spustite tcpdump -ni any ip6 and host 2001:db8:1::10 na klientovi a ekvivalent na zdroji, s časovými značkami, a potvrďte, že rovnaký tok sa objaví na oboch. To premieňa pravdepodobný výsledok na dôkaz: pohľad klienta sám nedokáže rozlíšiť odpoveď od zdroja od odpovede od niečoho medzi tým. Držte zachytávanie úzke na jediný cieľ, aby výstup zostal čitateľný a nikoho nesúvisiaca relácia neskončila v súbore.

Zopakujte test po opätovnom pripojení, ak je obavou, či politika prežije reštart. Stav trasy a firewallu aplikovaný raz pri pripojení sa môže líšiť od stavu, ktorý sa aplikuje znova, a rozdiel sa ukáže až pri druhom pripojení.

Otestujte prípad zlyhania oddelene, ak ho potrebujete. Tunel, ktorý blokuje IPv6 pri páde, a ten, ktorý ho prepúšťa, sú rôzne konštrukcie, a iba jednu z nich možno overiť úspešnou požiadavkou.

Krok 5: napíšte, čo test nepreukázal

Piaty krok je napísať, čo test nepreukázal, a práve táto časť sa vynecháva. Úspešný test privátneho koncového bodu nepreukazuje verejný výstup IPv6, nepreukazuje správanie DNS a nepokrýva aplikácie, ktoré ste z tunela vylúčili. Každé z toho potrebuje vlastný cieľ a vlastné pozorovanie. Poznámka, že IPv6 funguje po jednej požiadavke na jedného hostiteľa, nie je zistenie; je to odhad s časovou značkou.

Záznam, ktorý stojí za uchovanie, je krátky: cieľ, meno, zdrojová adresa, ktorú hostiteľ zvolil, pozorovaná vzdialená adresa a čas. RFC 7359 rozoberá, ako testovať, že príslušná trasa IPv6 je skutočne použiteľná, a to je štandard, ku ktorému sa tento návod približuje jednoduchšími nástrojmi. Ak záver potrebuje verejného kontrolóra, aby bol pravdivý, test nebol dosť konkrétny.

Súvisiace články