Javna stranica za provjeru IP-a odgovara na jedno pitanje, i to obično ne na ono koje ste postavili. Kaže vam izlaznu adresu koju je stranica vidjela; ne kaže vam radi li IPv6 ruta kroz tunel, je li host dao prednost IPv6 ili se vratio natrag, ni je li izuzeta aplikacija krenula drugim putem. Ovlašteni resurs koji kontrolirate ispravno odgovara na uže pitanje, jer vidite oba kraja. Uputa ispod govori o tome kako doći do zaključka koji možete braniti, a ne o zelenom rezultatu.

Korak 1: navedite koju IPv6 putanju testirate

Recite to u jednoj rečenici. Zahtjev na vlastitu IPv6 adresu servera tunela testira tunel; zahtjev na host iza izlaza testira IPv6 izlaz na izlazu; zahtjev na privatnu IPv6 adresu testira unutrašnju rutu.

To su tri različite tvrdnje i jedan uspješan zahtjev ne može podržati sve tri. Odaberite onu koja je važna za odluku pred vama i zapišite je prije nego što bilo šta pokrenete. Ako je briga curi li IPv6 oko tunela, pitanje je o izboru rute na hostu, a ne o dostupnosti izlaza. Ako je briga može li daleka strana doći do unutrašnje usluge, izlaz nije bitan.

Korak 2: potvrdite da host bira tu rutu

ip -6 route get 2001:db8:1::10 ispisuje rutu, izvornu adresu i interfejs koji bi jezgro koristilo, i o toj činjenici zavisi ostatak testa.

Postojanje interfejsa nije isto što i njegov izbor. Hostovi s dva steka imaju tablicu prioriteta, a /etc/gai.conf na Linuxu može promijeniti koja porodica pobjeđuje za ime koje se razrješava na obje.

Korak 3: koristite legitimno odredište i ime

Ako testirate HTTPS, koristite ime hosta za koje je certifikat izdat i držite provjeru uključenom; prelazak na doslovnu adresu da bi test prošao isključuje upravo provjeru koja dokazuje da ste došli do željenog hosta. Dijagnostička usluga koju kontrolirate, koja odgovara na poznatom imenu s važećim certifikatom, najčišća je meta. Ona vam daje i serversku liniju dnevnika za upoređivanje, što provjerivač treće strane nikada neće dati.

Pokrenite zahtjev u obliku koji pokazuje adresu koju je koristio: curl -6 -sS -o /dev/null -w '%{remote_ip} %{http_code}\n' https://test6.example.net/. -6 prisiljava porodicu, i tako razdvajate IPv6 ne radi od IPv6 nije bio preferiran.

Za čistu provjeru dostupnosti gdje je ICMPv6 dopušten, ping -6 -c 3 2001:db8:1::10 je dovoljan. Dokazuje putanju i ništa iznad nje.

Korak 4: uporedite oba kraja

Kada imate pristup obama krajevima, pokrenite tcpdump -ni any ip6 and host 2001:db8:1::10 na klijentu i ekvivalent na resursu, s vremenskim oznakama, i potvrdite da se isti tok pojavljuje na obama. To pretvara vjerodostojan rezultat u dokaz: klijentov pogled sam ne može razlikovati odgovor resursa od odgovora nečega između. Držite snimanje usko na jedno odredište da ispis ostane čitljiv i da ničija nepovezana sesija ne završi u datoteci.

Ponovite test nakon ponovnog povezivanja ako je briga preživljava li politika restart. Stanje rute i firewall-a primijenjeno jednom pri povezivanju može se razlikovati od stanja koje se ponovno primjenjuje, a razlika se vidi samo na drugoj vezi.

Testirajte slučaj neuspjeha odvojeno ako vam treba. Tunel koji blokira IPv6 kad padne i onaj koji ga propušta različiti su dizajni, i samo se jedan od njih može potvrditi uspješnim zahtjevom.

Korak 5: zapišite šta test nije dokazao

Peti korak je zapisati šta test nije dokazao, i to je dio koji se izostavlja. Uspješan test privatne krajnje točke ne dokazuje javni IPv6 izlaz, ne dokazuje ponašanje DNS-a i ne pokriva aplikacije koje ste izuzeli iz tunela. Svako od toga treba vlastito odredište i vlastito promatranje. Bilješka koja kaže da IPv6 radi nakon jednog zahtjeva na jedan host nije nalaz; to je nagađanje s vremenskom oznakom.

Zapis koji vrijedi čuvati je kratak: odredište, ime, izvorna adresa koju je host odabrao, zapažena udaljena adresa i vrijeme. RFC 7359 raspravlja kako testirati da je relevantna IPv6 putanja stvarno upotrebljiva, i to je standard kojem ova uputa prilazi jednostavnijim alatima. Ako zaključak treba javni provjerivač da bi bio istinit, test nije bio dovoljno specifičan.

Povezani članci