Kai tunelis pakeltas, paskutinis žingsnis paprastai yra vardas, kuris veikia vietoj adreso, kurį įklijuojate į žymą. dnsmasq host įrašas ir resolverio adresas, kurį klientas gali pasiekti, tai padaro dviem failais ir be multicast. Sprendimas, kuriam tikrai reikia pagalvoti, yra siauresnis: ar klientas siunčia visą DNS per namų resolverį, ar tik vardus po home.arpa? Viskas žemiau remiasi patvirtinta WireGuard sąranka su Linux klientu ir laboratoriniu resolveriu, kurį namų administratorius jau valdo.

Trys būdai duoti klientui resolverį

ApproachScopeCost
DNS = in the wg-quick interfacethe client's general DNS while the tunnel is upevery name in the house now depends on the tunnel
Platform split-DNS for home.arpaonly that suffixmore configuration per client platform
Manual dig @resolverone query at a timefine for testing, useless for applications

Nešiojamajam kompiuteriui, kuris kartais prisijungia prie tunelio, split-DNS yra geresnė numatytoji reikšmė: ji palieka įprastus interneto vardus resolveryje, kuriuo mašina jau pasitiki. Mašinai, kuri egzistuoja tam, kad pasiektų namų paslaugas, resolverio stūmimas yra paprastesnis, o apimties kaina nesvarbi.

Paskelbkite įrašą resolveryje, kuris valdo zoną

Prieš rašydami konfigūraciją atskirkite vaidmenis: VPN kliento adresas, resolveris ir paslauga yra trys skirtingi hostai su trimis skirtingais darbais. Šioje laboratorijoje jie yra 10.77.0.2 klientui, 192.168.50.53 dnsmasq ir 192.168.50.20 NAS, o tunelis maršrutizuoja namų LAN.

listen-address=127.0.0.1,192.168.50.53
bind-interfaces
local=/home.arpa/
host-record=nas.home.arpa,192.168.50.20

host-record eilutė pateikia adresą, o local= eilutė laiko nežinomus home.arpa klausimus šiame resolveryje, o ne persiunčia juos aukštyn. Pirmiausia perskaitykite esamą konfigūraciją ir suderinkite viską, kas jau apibrėžia serverį, sąsają ar tą patį vietinį domeną; fragmento uždėjimas ant prieštaringo duoda resolverį, kuris linksmai įkeliamas ir atsako neteisingai. dnsmasq vadove apibrėžtos abi direktyvos ir klausymosi valdymas.

Tada patikrinkite veikiančią paslaugą, o ne failą. Konfigūracijos testas ir paleidimas iš naujo yra minimumas, o tikrasis atsakymas yra tai, ką grąžina užklausa.

Maršrutizuokite resolverį, ne tik tinklalapį

WireGuard AllowedIPs nusprendžia, kurie tikslai patenka į tunelį. Jei resolverio adresas lieka už jo ribų, užklausa išeina įprastu maršrutu ir niekada nepasiekia dnsmasq, nors pats NAS yra pasiekiamas. Įtraukite resolverio adresą arba LAN priešdėlį, kuris jį apima, ir patikrinkite šliuzo persiuntimo politiką kitoje pusėje.

Leiskite UDP ir TCP 53 prievade iš įgalioto tunelio diapazono, su grįžimo keliu į kliento tunelio adresą. Neperduokite 53 prievado iš WAN, kad palengvintumėte testavimą: atviras rekursyvus resolveris namų ryšyje randamas per kelias valandas. Prisirišimas prie sąsajos savaime nėra prieigos politika.

Patikrinkite atsakymą prieš programą

Pirmiausia paklauskite resolverio tiesiogiai, tada sistemos, tada programos. Kiekvienas žingsnis izoliuoja vieną grandinės grandį, o skirtumas tarp jų yra diagnozė.

dig @192.168.50.53 nas.home.arpa. A
dig +tcp @192.168.50.53 nas.home.arpa. A
getent ahostsv4 nas.home.arpa
curl -sS --max-time 5 http://nas.home.arpa/ -o /dev/null -w '%{http_code}\n'

TCP užklausą verta paleisti, nes sutrumpintas UDP atsakymas verčia kartoti, o politika, kuri meta TCP 53, sukuria gedimus, kurie atrodo protarpiniai. getent žingsnis parodo, ką mašinos resolverio konfigūracija iš tikrųjų daro, o tai ne visada tai, ką išsiuntėte.

Nuspręskite, kas atsitinka, kai tunelis yra išjungtas

Jei bendras kliento DNS nukreiptas į 192.168.50.53, bet koks vardų sprendimas nustoja veikti, kai tunelis nepakeltas. Tai priimtina mašinoje, kuri naudinga tik su tuneliu, ir nepriimtina nešiojamajame kompiuteryje, kuris taip pat naudoja kavinės Wi-Fi. Split-DNS visiškai išvengia šio klausimo, nes tik home.arpa paieškos priklauso nuo namų resolverio.

Prisiminkite, kas tai per vardas: home.arpa yra rezervuotas gyvenamiesiems tinklams ir nėra globaliai unikalus, todėl kitas tinklas gali teisėtai naudoti tą patį vardą. Tai vietinis patogumas, o ne patikimas identifikatorius. Palaikykite įrašą aktualų, kai paslauga persikelia, ir pašalinkite resolverio politiką, kai laboratorija išjungiama, o ne palikite nešiojamąjį kompiuterį, nukreiptą į adresą, kurį jis gali pasiekti tik per tunelį, kurio nebėra.

Susiję straipsniai