Tunelis veikia, IPv4 svetainės įkeliamos, o vienas prieglobos vardas baigia laukti. Iš karto daroma išvada, kad VPN sugedęs arba prisijungimo duomenys neteisingi, ir paprastai nė viena iš jų netiesa. Vardas grąžino ir IPv4, ir IPv6 adresą, programėlė pasirinko vieną, ir tik vienas iš tų kandidatų turėjo veikiantį kelią. Pasirinkimą padarė klientas; tunelis tiesiog neapėmė to, ką jis pasirinko.

Pasirinkimas nėra aprėpties pažadas

Numatytasis adreso pasirinkimas, aprašytas RFC 6724, nusprendžia, kurią šaltinio ir paskirties porą priegloba teikia pirmenybę, kai jų yra kelios. Happy Eyeballs prideda ryšio strategiją: pradeda bandymus abiejose šeimose ir palieka tą, kuri atsako pirmoji, kad naudotojas nelauktų sugedusios šeimos laiko pabaigos.

Nė vienas mechanizmas nesukuria maršruto. Jei jūsų tunelis perneša tik IPv4, AAAA kandidatas vis tiek yra teisėtas tikslas, kurį klientas gali išbandyti, o gedimas pasireiškia kaip lėtas įkėlimas, o ne kaip klaida, nes naršyklė atsitraukė. Naudotojas praneša apie lėtą svetainę, o ne sugedusią, ir pagalbos bilietas paveldi tą neapibrėžtumą. Atkurkite tai su fiksuota šeima ir ataskaita taps konkreti.

Būtent dėl šio atsitraukimo simptomas skirtingose programėlėse yra nenuoseklus. Naršyklė paslepia delsą; komandinės eilutės klientas su fiksuota šeima iš karto parodo tikrąjį gedimą.

Raskite, kurią šeimą užklausa iš tikrųjų naudojo

Pradėkite nuo vardo, o ne nuo tunelio. Užklauskite abiejų tipų įrašų ir užsirašykite, kas grįžo:

dig +short A example.com
dig +short AAAA example.com
curl -4 -sS -o /dev/null -w '%{http_code}\n' https://example.com
curl -6 -sS -o /dev/null -w '%{http_code}\n' https://example.com

Jei v4 užklausa pavyksta, o v6 užklausa nepavyksta, problemą atkūrėte tokia forma, kurią galite derinti. Jei abi pavyksta iš apvalkalo, o naršyklė vis tiek nepavyksta, prieš liesdami tunelį pažiūrėkite į programėlės sprendiklį arba podėlyje laikomą atsakymą.

Laikykite šeimą ir paskirties vietą savo užrašuose. Bilietas, kuriame sakoma, kad svetainė neįkeliama per VPN, niekam netikrinamas, o bilietas, kuriame sakoma, kad AAAA nepavyksta ir A veikia, nurodo konkretų maršrutą.

Patikrinkite tos šeimos maršrutą

Dėl nepavykstančios šeimos paklauskite branduolio, kokį kelią jis naudotų, ir palyginkite jį su sukonfigūruotais tunelio adresais. Linux sistemoje ip -6 route get paskirties vietai rodo sąsają ir šaltinį, kurie būtų pasirinkti.

Tada patikrinkite patį tunelį. WireGuard partneriai turi leidžiamų IP sąrašą, o įrašas, skirtas 0.0.0.0/0 nieko nesako apie IPv6. Jei partnerio sąraše nėra IPv6 priešdėlio, klientas neturi priežasties siųsti AAAA srauto į tunelį, ir paketas išeina tuo keliu, kurį priegloba kitaip būtų pasirinkusi.

Ugniasienės taisyklės ir NAT politika nusipelno tos pačios patikros kiekvienai šeimai. Taisyklė, parašyta IPv4, neapima IPv6 jokioje platformoje, ir tai yra dažniausia priežastis, kodėl viena šeima veikia, o kita ne.

Neišjunkite IPv6, kad ekrano kopija būtų paprastesnė

Išjungus IPv6 visoje sistemoje, simptomas išnyks, o jūs liksite be diagnozės. Tai taip pat sugadina bet kurią paskirties vietą, kuri yra tik IPv6, ir paslepia tą pačią klaidą kitai programėlei. Jei kompiuteris tikrai neturėtų naudoti IPv6, tai sąmoninga politika su savininku ir testu. Išjungimas incidento metu nėra nė viena iš jų.

Nuspręskite, ką klientas turi daryti su šeima, ir tai aiškiai sukonfigūruokite: perkelkite ją per tunelį arba užblokuokite palaikomu būdu, kad pasirinkimas niekada nepasiūlytų nepasiekiamo kandidato. Abi yra teisėtos konstrukcijos. Visuotinis išjungimas nėra nė viena iš jų, nes tai visai ne konstrukcija.

Ką įrašyti į bilietą

Užrašykite keturis dalykus: prieglobos vardą, nepavykusią šeimą, branduolio pasirinktą maršrutą ir šeimai būdingos užklausos rezultatą. Šio rinkinio pakanka, kad kitas žmogus atkurtų gedimą nespėliodamas, kurią iš dviejų kelių turėjote omenyje.

RFC 6724 adresų pasirinkimo taisyklės paaiškina, kodėl klientas teikė pirmenybę tam kandidatui, kuriam teikė, o RFC 8305 paaiškina lenktynių elgseną, kuri paslėpė delsą. Nė viena iš jų nepaskirs jums paketo maršruto, ir būtent tai turi padaryti tunelis.

Susiję straipsniai