Dajte svom kućnom VPN-u vlastite DNS zapise za nas.home.arpa
Objavite jedno ime iz dnsmasqa, usmjerite resolver kroz WireGuard, pa odaberite između potiskivanja DNS-a cijelom klijentu i split-DNS-a samo za home.arpa.
Kad je tunel podignut, posljednji korak je obično ime koje radi umjesto adrese koju zalijepite u zabilješku. dnsmasq zapis hosta plus adresa resolvera do koje klijent može doći rade to s dvije datoteke i bez multicast-a. Odluka koja zaista traži razmišljanje uža je: šalje li klijent sav DNS kroz kućni resolver ili samo imena pod home.arpa? Sve ispod pretpostavlja odobreno WireGuard postavljanje s Linux klijentom i laboratorijskim resolverom kojim kućni administrator već upravlja.
Tri načina da klijentu date 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 |
Za prijenosno računalo koje povremeno ulazi u tunel, split-DNS je bolji zadani izbor: zadržava obična internetska imena na resolveru kojem stroj već vjeruje. Za stroj koji postoji da bi dosezao kućne usluge, potiskivanje resolvera je jednostavnije i cijena opsega nije važna.
Objavite zapis na resolveru koji posjeduje zonu
Držite uloge odvojenim prije pisanja konfiguracije: adresa VPN klijenta, resolver i usluga su tri različita hosta s tri različita zadatka. U ovom laboratoriju to su 10.77.0.2 za klijenta, 192.168.50.53 za dnsmasq i 192.168.50.20 za NAS, a tunel usmjerava kućni 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
Redak host-record daje adresu, a redak local= zadržava nepoznata pitanja home.arpa unutar ovog resolvera umjesto da ih prosljeđuje dalje. Najprije pročitajte postojeću konfiguraciju i uskladite sve što već definira poslužitelj, sučelje ili istu lokalnu domenu; slaganje fragmenta na proturječni daje resolver koji se veselo učitava i odgovara pogrešno. dnsmasq priručnik definira obje direktive i kontrole slušanja.
Zatim provjerite uslugu koja radi, a ne datoteku. Test konfiguracije plus ponovno pokretanje je minimum, a stvarni odgovor je ono što upit vrati.
Usmjerite resolver, ne samo web stranicu
WireGuardov AllowedIPs određuje koja odredišta ulaze u tunel. Ako adresa resolvera padne izvan toga, upit izlazi kroz uobičajenu rutu i nikada ne stigne do dnsmasqa, iako je sam NAS dostupan. Uključite adresu resolvera ili LAN prefiks koji je sadrži, i provjerite politiku prosljeđivanja pristupnika na drugoj strani.
Dopustite UDP i TCP na portu 53 iz ovlaštenog raspona tunela, s povratnim putem do adrese tunela klijenta. Ne prosljeđujte port 53 s WAN-a da biste olakšali testiranje: otvoreni rekurzivni resolver na kućnoj vezi pronađe se u roku od sati. Vezanje na sučelje samo po sebi nije politika pristupa.
Provjerite odgovor prije aplikacije
Najprije pitajte resolver izravno, zatim sustav, zatim aplikaciju. Svaki korak izolira jednu kariku u lancu, a razlika među njima je dijagnoza.
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 upit je vrijedno pokrenuti jer krnji UDP odgovor prisiljava na ponovni pokušaj, a politika koja odbacuje TCP 53 stvara kvarove koji izgledaju povremeno. Korak getent pokazuje što konfiguracija resolvera na stroju zapravo radi, a to nije uvijek ono što ste poslali.
Odlučite što se događa kad je tunel dolje
Ako opći DNS klijenta pokazuje na 192.168.50.53, svako razrješavanje imena prestaje raditi kad tunel nije podignut. To je prihvatljivo na stroju koji je koristan samo s tunelom, a neprihvatljivo na prijenosnom računalu koje koristi i Wi-Fi u kafiću. Split-DNS posve izbjegava to pitanje jer samo home.arpa pretrage ovise o kućnom resolveru.
Zapamtite što je to ime: home.arpa rezervirano je za stambene mreže i nije globalno jedinstveno, pa druga mreža može legitimno rabiti isto ime. To je lokalna pogodnost, a ne pouzdan identifikator. Držite zapis ažurnim kad se usluga preseli, i uklonite politiku resolvera kad se laboratorij povuče iz upotrebe, umjesto da ostavite prijenosno računalo koje pokazuje na adresu do koje može doći samo kroz tunel koji više ne postoji.