wg-quick sulaužo DNS jungiantis: perskaitykite sąrankos klaidą
DNS eilutė priklauso sąrankos pagalbininkui, o ne partnerio protokolui. Perskaitykite pirmąją klaidą, patikrinkite sprendėjo maršrutą ir patvirtinkite, kad valymas atkuria seną būseną.
Tunelis pakyla, rankos paspaudimas baigiasi, o vardų sprendimas sustoja. Partnerio konfigūracijoje niekas nepasikeitė, nes DNS eilutė niekada nebuvo jos dalis. Ji priklauso sąrankos pagalbininkui, vadinasi, gedimas gyvena hosto sprendėjo įrankiuose, o ne WireGuard raktuose.
Perskaitykite pirmąjį pagalbininko atspausdintą pranešimą, o ne paskutinį, ir skirtumas tarp trūkstamo įrankio bei nepasiekiamo serverio taps akivaizdus.
DNS eilutė yra pagalbininko funkcija
Pagrindiniai konfigūracijos laukai aprašo partnerius, raktus ir leidžiamus adresus. Vardų sprendimą iš viršaus prideda scenarijus, kuris pakelia sąsają, ir kiekviena realizacija tai daro kitaip. Darbalaukio klientas gali valdyti DNS per savo paslaugą, distribucijos scenarijus gali iškviesti vieną iš kelių sprendėjo įrankių, o konteineris gali nedaryti nė vieno. Konfigūracijos failas negali pasakyti, kuris iš šių kelių veikia.
Štai kodėl konfigūracijos failas gali būti galiojantis protokolui ir vis tiek nepavykti sąrankos metu: gedimas priklauso kabliui, kurio protokolas niekada nemato.
Išplėstinio lauko įrašymas į pagrindinę konfigūraciją ir lūkestis, kad protokolo įrankis jį priims, sukuria tą pačią painiavą iš priešingos pusės. Du analizatoriai skaito skirtingus failus.
Žinojimas, kuris veikia, yra pirmas diagnostikos žingsnis, ir tai paprastai matyti įvestoje komandoje, o ne konfigūracijos faile.
Perskaitykite pirmąją klaidą, kurią atspausdina pagalbininkas
Pakelkite sąsają pirmame plane ir skaitykite išvestį iš eilės. Trūkstamas sprendėjo įrankis, nepavykęs kablys ir nepasiekiamas serveris sustabdo tą pačią komandą skirtingose vietose, ir kiekvienas turi skirtingą taisymą.
wg-quick up wg0
resolvectl status wg0
ip route get 10.66.0.1
Pirmoji komanda praneša apie sąrankos eigą, antroji parodo, kokių serverių sąsaja dabar reikalauja, o trečioji parodo, ar sprendėjo adresas iš tikrųjų pasiekiamas per tunelį. Sprendėjas, kuris sukonfigūruotas, bet neturi maršruto, sukuria laiko limitus, o ne konfigūracijos klaidas, todėl abu patikrinimai priklauso kartu. Skaitant tik būsenos išvestį gaunama užtikrinta ir klaidinga išvada.
Jei sąranka baigėsi, o vardų sprendimas vis tiek nepavyksta, palyginkite pagalbininko įdiegtą sprendėją su tuo, kurį tinklas naudojo anksčiau. Privatus sprendėjas turi turėti maršrutą per tunelį, o konfigūracija, kuri jį išvardija neuždengdama jo prefikso, palieka kiekvieną užklausą laukti.
Kurį sprendėją hostas iš tikrųjų turi
Šiuolaikiniai Linux hostai dažnai paleidžia vietinį stub sprendėją, todėl pagalbininko įdiegtą adresą naudoja tas stub, o ne programos tiesiogiai. Rankinis sugeneruoto failo keitimas gali atrodyti veikiantis iki kito prisijungimo, kai pagalbininkas jį perrašo.
Naudokite palaikomą distribucijos integraciją ir leiskite vienam komponentui valdyti sprendėjo būseną. Du šeimininkai sukuria tą pačią lenktynes kaip du sąsajos adreso šeimininkai, o simptomas yra hostas, kuris po kiekvieno pakeitimo kelias minutes teisingai išsprendžia.
Vidiniai vardai nusipelno atskiro patikrinimo. Viešas sprendėjas gali atkurti įprastą naršymą, bet padaryti, kad kiekvienas įmonės vardas nepavyktų, o tai yra priešingybė tam, kam tunelis buvo skirtas. Prieš darydami išvadą, kad DNS sutvarkytas, paklauskite numatyto serverio apie vidinį vardą.
Valymas toks pat svarbus kaip sąranka
Nuleiskite sąsają ir dar kartą apžiūrėkite sprendėjo būseną. Pagalbininkas, atkuriantis ankstesnę konfigūraciją, palieka hostą naudojamą; tas, kuris palieka savo serverius, sukuria kitą gedimą, dažnai po kelių valandų, kai tunelio seniai nebėra.
Pasenusią būseną lengva pastebėti, kai pradedate jos ieškoti. Sprendėjų sąrašas gali rodyti adresą sąsajoje, kurios nebėra, o paieškos domenas gali išgyventi tinklą, kurį palikote šį rytą. Bet kuris iš jų daro kitą ryšį nenuspėjamą, ir nė vienas neatsiranda paties tunelio būsenos išvestyje. Patikrinimas trunka dešimt sekundžių ir sutaupo kitam žmogui valandą.
Laikykite diagnostiką atskirai nuo taisymo. Jei nepavyksta kiekvienas tikslas, o ne tik vardų paieškos, kalti yra maršrutai ir persiuntimas, o DNS eilutė yra dėmesio atitraukimas. wg-quick vadovas dokumentuoja, kuriuos laukus jis tvarko ir kurie priklauso protokolui, ir ta riba yra visas atsakymas į daugumą šių pranešimų.