„DNS sugedo“ yra išvada, ir tai ne išvada, pagal kurią padėjėjas galėtų ką nors daryti. Naudingoji ataskaitos dalis yra gedimo forma: kuris vardas, per kurį resolverį, su kokiu atsakymu. Trys detalės paverčia skundą kažkuo, ką galima atkartoti, ir visos trys saugios dalytis, kai privatūs elementai pervadinti. Toliau pateikiama tai, ko VPN DNS ataskaitai reikia bent jau prieš kam nors padedant.

Vardo kategorija, o ne nuosprendis

Pradėkite nuo paties vardo ir jį klasifikuokite: viešas, vidinis, trumpas, pilnai kvalifikuotas arba vieno konkretaus galūnės aptarnaujamas. Vidinis vardas, kuris nepavyksta, kol vieši vardai išsprendžiami, rodo resolverio pasirinkimą, o ne pasiekiamumą. Jei nepavyksta visi vardai, tai rodo kelią iki resolverio, o tai jau kitas tyrimas su kitais įrodymais. Kategorija neša diagnozę, o tiksli eilutė gali būti paslėpta.

Pasakykite, ar gedimui reikia pakelto tunelio, ar jis įvyksta po atsijungimo. Vardas, kuris lūžta tik aktyvaus VPN metu, rodo kiekvienos jungties konfigūraciją, o tas, kuris lūžta po atsijungimo, rodo likusią būseną. Ataskaitos paprastai to neįtraukia ir paskui stebisi, kodėl pirmas pasiūlymas nepadeda.

Užrašykite resolverio kelią

Užklausa, nusiųsta aiškiai pasirinktam serveriui, ir įprasta programos paieška yra skirtingi eksperimentai. Pasakykite, kuris sukėlė gedimą, nes rankinė užklausa veikiančiam serveriui įrodo tik tai, kad serveris veikia. Toliau pateiktos komandos atskiria sistemos kelią nuo tiesioginio klausimo.

resolvectl status --no-pager
getent hosts host.internal
dig +short host.internal @10.20.30.53

Būsenos išvestis įvardija kiekvienos jungties serverius ir maršrutizavimo domenus, o tai kur nusprendžiama dėl split DNS. getent iškvietimas eina tuo pačiu keliu kaip programa, įskaitant nsswitch eiliškumą. Tiesioginė užklausa apeina abu ir išbando vieną serverį atskirai. Praneškite, kuris iš trijų nepavyko ir kuris pavyko, ir skaitytojui nebereikia spėlioti kelio.

Nurodykite kontroliuojamą palyginimą

Pakeiskite vieną kintamąjį ir pasakykite, kas pasikeitė. Vieši vardai sprendžiami, o vidiniai nepavyksta — tai pasirinkimo problema; kiekvienas vardas baigiasi pagal laiką — tai kelio problema; o privatus vardas, išsprendžiamas į viešą adresą, yra nutekėjimas į netinkamą resolverį. Du iš tų trijų neturi nieko bendra su tuo, ar tunelis pakeltas. Ataskaita, kuri teigia, kad visos užklausos sugedusios, paprastai turi palyginimą, kuris niekada nebuvo atliktas.

Atskirkite sprendimą nuo pristatymo. Kai vardas išsprendžiamas, o svetainė vis tiek nepavyksta, DNS etapas pavyko ir ataskaita turėtų tai pasakyti, nes kitas žingsnis yra maršrutas arba klausytojas, o ne resolveris. Šis vienas skirtumas dažniau sutaupo visą klausimų ratą nei bet kokia žurnalo ištrauka.

Paslėpkite vardų erdvę, išsaugokite ryšius

Vidinius vardus galima pakeisti, jei pakeitimai išsaugo struktūrą. Kiekvieną atskirą serverį ir galūnę susiekite su stabiliu žymeniu, o tą susiejimą laikykite už bendrinamos kopijos. Kiekvieno vidinio mazgo pakeitimas tuo pačiu pakaitos simboliu sunaikina būtent tuos įrodymus, kurių ataskaitai reikia, nes skaitytojas nebegali matyti, kad viena galūnė buvo išspręsta, o kita ne. Ta pati taisyklė galioja adresams: išsaugokite prefiksų ryšius ir pakeiskite mazgo bitus, jei to reikalauja politika.

Siųskite įrašą patikrintu kanalu ir palikite tai, ko diagnozei niekada nereikia. Slaptažodžiai, privatūs raktai ir nesusiję įmonių pavadinimai nėra DNS klausimo dalis. Skaitytojui reikia gedimo kategorijos, resolverio kelio, tikslios klaidos ir vieno palyginimo, kurį atlikote.

Susiję straipsniai