Ar VPN sutaisė DNS, ar tik pakartotinai panaudojo podėlyje saugomą atsakymą?
Puslapis, įkeliamas po tunelio pakeitimo, galėjo niekada neatlikti užklausos. Palyginkite podėlyje saugomus ir naujus atsakymus prieš priskirdami pataisą.
Puslapio atidarymas praėjus kelioms sekundėms po tunelio įjungimo nėra įrodymas, kad DNS dabar veikia, nors bilietas paprastai taip teigia. Niekas tame stebėjime nereikalavo užklausos: vardas galėjo būti išspręstas prieš pakeitimą ir pakartotinai panaudotas iš podėlio, kurio tunelis niekada nelietė. Du skirtingi testai sukuria tą patį ekraną.
Palyginkite, ką kiekvienas testas iš tikrųjų išbandė, prieš priskirdami pakeitimui nuopelnus.
Puslapio įkėlimas nėra užklausa
Kiekvienas sluoksnis tarp programos ir sprendėjo gali atsiminti atsakymą per savo gyvavimo laiką. Operacinė sistema laiko vieną, naršyklė laiko savo, o programa su ilgalaikiu ryšiu sesijos metu gali daugiau nieko neišspręsti. Todėl sėkmingas įkėlimas po tunelio pakeitimo gali būti atminties, o ne maršrutizavimo demonstracija. Gedimo nebuvimas nėra užklausos buvimas.
Šis skirtumas keičia tai, ką turėtumėte testuoti toliau. Jei tikslas yra parodyti, kad naujasis sprendėjas atsako, jums reikia užklausos, kurios negalima aptarnauti iš podėlio, kurio neišvalėte.
Skaityti podėlyje saugomą sėkmę kaip įrodymą, kad anksčiau nepasiekiamas serveris atsigavo, yra brangiausia šios klaidos versija, nes ji užbaigia incidentą remiantis klaidinga prielaida.
Suskaičiuokite podėlius prieš darydami išvadą
Keturi verti pavadinimo: pačios programos sprendimas, operacinės sistemos kliento podėlis, vidinė naršyklės būsena ir bet kuris rekursyvus sprendėjas, kurį užklausa galiausiai pasiekia. Kiekvienas turi atskirą gyvavimo laiką ir atskirą išvalymo būdą. Išvalyti vieną ir testuoti kitą yra būdas, kuriuo žmonės daro išvadą, kad išvalymas nieko nepakeitė. Viena išvalymo komanda niekada neišsprendžia klausimo.
Neigiami atsakymai taip pat saugomi podėlyje. Vardas, praneštas kaip trūkstamas, gali likti trūkstamas po to, kai tinklas sutvarkomas, ir tai skaitoma kaip sugadintas tunelis, nors tai dar nepasibaigęs TTL. DNS specifikacija aprašo, kaip šie duomenys turėtų būti laikomi ir pakartotinai naudojami.
Užrašykite įvykį, o ne įspūdį
Užrašykite, kuris iš trijų dalykų pasikeitė: įrašas, kelias iki sprendėjo arba kliento nustatymas. Įrašo redagavimas plinta pagal savo grafiką, maršruto pakeitimas įsigalioja vėl prisijungus, o naršyklės nustatymas galioja tik tai naršyklei. Jų sujungimas į vieną prieš-ir-po sukuria laiko juostą, kurios niekas negali patikrinti.
Užrašykite laiką, naudotą sprendėją ir gautą atsakymą, įskaitant atvejį, kai atsakymas yra neigiamas. Tai faktas, kurį gali patikrinti kas nors kitas.
Atlikite palyginimą du kartus tuo pačiu būdu
Išvalykite podėlį, kurį ketinate testuoti, išsaugokite pradinį stebėjimą ir tada užklauskite taip, kad apeitumėte kuo daugiau atminties. Aiškiai įvardijus sprendėją, sužinosite, ką tas sprendėjas žino; tai nepasako, kurį sprendėją būtų pasirinkusi programa.
resolvectl flush-caches
ipconfig /flushdns
dig +noall +answer internal.example @10.44.0.53
dig +short internal.example
Windows sistemoje kliento podėlio išvalymas išvalo DNS kliento podėlį ir nieko daugiau. Jis neaprašo privačios naršyklės būsenos ir neišvalo aukštesniojo serverio, todėl juo pagrįstas testas gali būti aiškinamas tik siaurai. Visada, kai pranešate rezultatą, pasakykite, kurį podėlį išvalėte.
Tada dar kartą išbandykite tikrąją programą su nauja užklausa ir aktyvia numatyta sprendėjo politika. Rezultatas, gautas pagal kitą politiką, neperkeliamas.