Gi hjemme-VPN-en din egne DNS-poster for nas.home.arpa
Publiser ett navn fra dnsmasq, rut resolveren gjennom WireGuard, og velg deretter mellom å dytte DNS til hele klienten og split-DNS bare for home.arpa.
Når tunnelen er oppe, er det siste trinnet vanligvis et navn som virker i stedet for en adresse du limer inn i et bokmerke. En dnsmasq-vertspost pluss en resolveradresse klienten kan nå gjør det med to filer og uten multicast. Beslutningen som virkelig krever ettertanke er smalere: sender klienten all DNS gjennom hjemmeresolveren, eller bare navnene under home.arpa? Alt nedenfor forutsetter et godkjent WireGuard-oppsett med en Linux-klient og en laboratorieresolver som hjemmeadministratoren allerede administrerer.
Tre måter å gi klienten en resolver
| Approach | Scope | Cost |
|---|---|---|
DNS = in the wg-quick interface | the client's general DNS while the tunnel is up | every name in the house now depends on the tunnel |
Platform split-DNS for home.arpa | only that suffix | more configuration per client platform |
Manual dig @resolver | one query at a time | fine for testing, useless for applications |
For en bærbar datamaskin som av og til kobler seg til tunnelen, er split-DNS det bedre standardvalget: det holder vanlige internettnavn på resolveren maskinen allerede stoler på. For en maskin som finnes for å nå hjemmetjenester, er det enklere å dytte resolveren, og kostnaden ved omfanget spiller ingen rolle.
Publiser posten på resolveren som eier sonen
Hold rollene fra hverandre før du skriver konfigurasjon: VPN-klientadressen, resolveren og tjenesten er tre forskjellige verter med tre forskjellige jobber. I dette laboratoriet er de 10.77.0.2 for klienten, 192.168.50.53 for dnsmasq og 192.168.50.20 for NAS-en, mens tunnelen ruter hjemme-LAN-et.
listen-address=127.0.0.1,192.168.50.53
bind-interfaces
local=/home.arpa/
host-record=nas.home.arpa,192.168.50.20
Linjen host-record gir adressen, og linjen local= holder ukjente home.arpa-spørsmål inne i denne resolveren i stedet for å videresende dem oppover. Les den eksisterende konfigurasjonen din først og avstem alt som allerede definerer en server, et grensesnitt eller samme lokale domene; å stable et fragment oppå et motstridende gir en resolver som laster gladelig og svarer feil. dnsmasq-håndboken definerer begge direktivene og lyttestyringen.
Bekreft deretter tjenesten som kjører, ikke filen. En konfigurasjonstest pluss en omstart er minimum, og det effektive svaret er det en spørring returnerer.
Rut resolveren, ikke bare nettsiden
WireGuards AllowedIPs avgjør hvilke destinasjoner som kommer inn i tunnelen. Hvis resolveradressen faller utenfor den, forlater spørringen den normale ruten og når aldri dnsmasq, selv om NAS-en selv er tilgjengelig. Ta med resolverens adresse, eller LAN-prefikset som inneholder den, og kontroller gatewayens videresendingspolicy på den andre siden.
Tillat UDP og TCP på port 53 fra det autoriserte tunnelområdet, med en returvei tilbake til klientens tunneladresse. Ikke videresend port 53 fra WAN for å gjøre testing enklere: en åpen rekursiv resolver på en hjemmeforbindelse blir funnet innen timer. Å binde til et grensesnitt er ikke en tilgangspolicy i seg selv.
Kontroller svaret før applikasjonen
Spør resolveren først direkte, deretter systemet, deretter applikasjonen. Hvert trinn isolerer en lenke i kjeden, og forskjellen mellom dem er diagnosen.
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-spørringen er verdt å kjøre fordi et avkortet UDP-svar tvinger frem et nytt forsøk, og en policy som dropper TCP 53 gir feil som virker periodiske. Trinnet getent viser hva maskinens resolverkonfigurasjon faktisk gjør, noe som ikke alltid er det du dyttet ut.
Bestem hva som skjer når tunnelen er nede
Hvis klientens generelle DNS peker på 192.168.50.53, slutter all navneoppslag å virke når tunnelen ikke er oppe. Det er akseptabelt på en maskin som bare er nyttig med tunnelen, og uakseptabelt på en bærbar datamaskin som også bruker Wi-Fi på en kafé. Split-DNS unngår spørsmålet helt, fordi bare home.arpa-oppslag avhenger av hjemmeresolveren.
Husk hva navnet er: home.arpa er reservert for bolignettverk og er ikke globalt unikt, så et annet nettverk kan med rette bruke samme navn. Det er en lokal bekvemmelighet, ikke en pålitelig identifikator. Hold posten oppdatert når tjenesten flytter, og fjern resolverpolicyen når laboratoriet avvikles, i stedet for å etterlate en bærbar datamaskin som peker på en adresse den bare kan nå gjennom en tunnel som ikke finnes lenger.