După ce tunelul este ridicat, ultimul pas este de obicei un nume care funcționează în locul unei adrese pe care o lipești într-un semn de carte. O înregistrare de gazdă dnsmasq plus o adresă de resolver la care clientul poate ajunge fac asta cu două fișiere și fără multicast. Decizia care chiar cere gândire este mai îngustă: clientul trimite tot DNS-ul prin resolverul de acasă, sau doar numele de sub home.arpa? Tot ce urmează presupune o instalare WireGuard aprobată cu un client Linux și un resolver de laborator pe care administratorul casei îl gestionează deja.

Trei moduri de a da clientului un 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

Pentru un laptop care se alătură tunelului ocazional, split-DNS este valoarea implicită mai bună: păstrează numele obișnuite de internet pe resolverul în care mașina are deja încredere. Pentru o mașină care există pentru a ajunge la serviciile casei, împingerea resolverului este mai simplă, iar costul sferei nu contează.

Publicați înregistrarea la resolverul care deține zona

Țineți rolurile separate înainte de a scrie configurația: adresa clientului VPN, resolverul și serviciul sunt trei gazde diferite cu trei sarcini diferite. În acest laborator sunt 10.77.0.2 pentru client, 192.168.50.53 pentru dnsmasq și 192.168.50.20 pentru NAS, iar tunelul rutează LAN-ul casei.

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

Linia host-record furnizează adresa, iar linia local= ține întrebările necunoscute despre home.arpa în interiorul acestui resolver în loc să le trimită mai departe. Citiți mai întâi configurația existentă și reconciliați tot ce definește deja un server, o interfață sau același domeniu local; a stivui un fragment peste unul contradictoriu produce un resolver care se încarcă vesel și răspunde greșit. Manualul dnsmasq definește ambele directive și controalele de ascultare.

Apoi verificați serviciul care rulează, nu fișierul. Un test de configurație plus o repornire este minimul, iar răspunsul efectiv este ceea ce returnează o interogare.

Rutați resolverul, nu doar pagina web

AllowedIPs din WireGuard decide ce destinații intră în tunel. Dacă adresa resolverului cade în afara lui, interogarea iese pe ruta normală și nu ajunge niciodată la dnsmasq, deși NAS-ul însuși este accesibil. Includeți adresa resolverului, sau prefixul LAN care o conține, și verificați politica de redirecționare a gateway-ului de cealaltă parte.

Permiteți UDP și TCP pe portul 53 din intervalul de tunel autorizat, cu o cale de întoarcere către adresa de tunel a clientului. Nu redirecționați portul 53 din WAN pentru a ușura testarea: un resolver recursiv deschis pe o conexiune de acasă este găsit în câteva ore. Legarea de o interfață nu este în sine o politică de acces.

Verificați răspunsul înainte de aplicație

Întrebați mai întâi resolverul direct, apoi sistemul, apoi aplicația. Fiecare pas izolează o verigă din lanț, iar diferența dintre ele este diagnosticul.

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'

Merită să rulați interogarea TCP pentru că un răspuns UDP trunchiat forțează o reîncercare, iar o politică ce aruncă TCP 53 produce eșecuri care par intermitente. Pasul getent arată ce face de fapt configurația de resolver a mașinii, ceea ce nu este întotdeauna ceea ce ați împins.

Decideți ce se întâmplă când tunelul este jos

Dacă DNS-ul general al clientului indică 192.168.50.53, orice rezolvare de nume încetează să funcționeze când tunelul nu este ridicat. Acest lucru este acceptabil pe o mașină care este utilă doar cu tunelul și inacceptabil pe un laptop care folosește și Wi-Fi-ul unei cafenele. Split-DNS ocolește complet întrebarea, pentru că doar căutările home.arpa depind de resolverul casei.

Amintiți-vă ce este numele: home.arpa este rezervat pentru rețele rezidențiale și nu este unic la nivel global, așa că o altă rețea poate folosi legitim același nume. Este o comoditate locală, nu un identificator de încredere. Păstrați înregistrarea actuală când serviciul se mută și eliminați politica resolverului când laboratorul este retras, în loc să lăsați un laptop care indică o adresă la care poate ajunge doar printr-un tunel care nu mai există.

Articole similare