OpenVPN išsiuntė DNS serverį, bet Linux jo nepaiso
Išsiųstas DNS serveris yra žurnale, tunelis pakeltas, o vidiniai vardai vis dar nepavyksta. Patikrinkite sprendėjo nuorodą ir pasirinkite vieną jungties savininką.
Išsiųstas DNS serveris yra žurnale, tunelis pakeltas, o vidiniai vardai vis dar nepavyksta. Pačiame siuntime niekas nesugedę; nuostata atėjo ir ten sustojo. Išsiųstas DNS parametras yra žinutė klientui, o ne nurodymas operacinės sistemos sprendėjui, ir būtent perdavimas tarp jų yra vieta, kurioje baigiasi dauguma tokių atvejų. Penki patikrinimai iš eilės randa perdavimą, kuris neįvyko.
Pirmas patikrinimas: kaip prasideda jungtis
Jungties savininkas nustato, kas gali taikyti sprendėjo nuostatas. Tiesioginė openvpn komanda iš apvalkalo neturi nieko, išskyrus savo procesą, o systemd unitas, NetworkManager ar tiekėjo klientas kiekvienas turi savo būdą skelbti DNS. Perskaitykite procesų sąrašą ir unito pavadinimą prieš manydami ką nors iš to.
Komandinės eilutės procesas nebūtinai yra NetworkManager jungtis, o NetworkManager jungtis nebūtinai yra tai, kas įrašė resolv.conf. Šios dvi prielaidos paaiškina didžiąją dalį šiame tyrime prarastų valandų. Paklauskite, kuris komponentas paskelbtų DNS sąsajai, kurią iš tikrųjų matote.
Užsirašykite savininką prieš tęsdami. Kiekvienas vėlesnis patikrinimas nuo to priklauso.
Antras patikrinimas: ką sprendėjo nuoroda iš tikrųjų laiko
Sistemoje su systemd-resolved, resolvectl status išvardija kiekvieną nuorodą su jos DNS serveriais ir domenais. Raskite tunelio nuorodą ir perskaitykite jos įrašus, ir nemanykite, kad sąsaja vadinasi tun0, nes numeracija seka kūrimo tvarką. Jei išsiųsto adreso nuorodoje nėra, nepavyko perdavimas, o ne užklausa.
Jei adresas yra, kitas klausimas — kokius domenus ta nuoroda reiškia. Nuoroda be domenų sąrašo atsako tik į vardus, kurių klausiama tiesiogiai, ir tai retai yra tai, ko nori split-DNS diegimas. Vien adreso nepakanka, nors jis būtinas.
Prieš darydami kokią nors išvadą, palyginkite nuorodos pavadinimą sprendėjo išvestyje su sąsajos pavadinimu VPN žurnale. Ten esantis neatitikimas paprastai reiškia, kad žurnalo eilutė atėjo iš kito proceso.
Trečias patikrinimas: ar vardų erdvė pasirenka tą nuorodą
Sprendėjas gali turėti tinkamą serverį ir vis tiek būti nepaklaustas. Domenas kiekvienai nuorodai nustato, kurios užklausos kur eina, o be maršrutizavimo domeno privati vardų erdvė grįžta prie to, ką sako numatytoji nuoroda. Štai kodėl resolvectl query gali pavykti vidiniam vardui, nors programa vis dar nepavyksta. Gali būti, kad programa naudoja visiškai kitą sprendėjo kelią.
Patikrinkite domeno priskyrimą, o ne tik serverio adresą. Domenas, parašytas kaip ~corp.example, yra maršrutizavimo domenas, o tildė keičia tai, kaip vardas sutapatinamas.
Jei programa turi savo sprendėją, tikrinkite tuo pačiu mechanizmu, kurį ji naudoja, o ne sistemos įrankiu. Užklausų įrankis, apeinantis sistemos sprendėją, pavyks nepriklausomai nuo nuorodos būsenos.
Ketvirtas patikrinimas: vienas savininkas, o ne du
Jei NetworkManager jau valdo VPN ir sprendėjo būseną, nesusijusio hook scenarijaus pridėjimas sukuria konkuruojančius rašytojus. Paketo teikiamas systemd-resolved hook yra palaikoma integracija ir tikisi konkretaus gyvavimo ciklo: script-security 2, up kelio, up-restart, down kelio ir down-pre. Šios parinktys leidžia registracijai ir pašalinimui įvykti tinkamais momentais, o ne tik pirmos jungties metu.
Naudokite įdiegtą kelią iš paketo, o ne iliustracinį, nukopijuotą iš vadovo. Teisės taip pat svarbios, nes hook veikia po to, kai privilegijos sumažėja.
Platinimo sprendėjo scenarijaus redagavimas norint pakeisti jo išvesties tikslą įrašo vieno hosto apėjimą. Tai nėra bendras taisymas.
Penktas patikrinimas: tas pats rezultatas po prisijungimo iš naujo
Prisijunkite iš naujo ir dar kartą perskaitykite nuorodą. Registracija, kuri pasirodo vieną kartą ir išnyksta kitame perėjime, yra gedimas, dėl kurio egzistuoja visas šis kontrolinis sąrašas. Išbandykite po miego, po priverstinio prisijungimo iš naujo ir po sprendėjo tarnybos perkrovimo. Kiekvienas perėjimas išbando kitą tvarkos prielaidą.
Tik kai prisijungus iš naujo praeina visi penki patikrinimai, galite sakyti, kad išsiųstos nuostatos naudojamos. Viskas anksčiau yra laimingo momento nuotrauka.