Anna kotisi VPN:lle omat DNS-tietueet osoitteelle nas.home.arpa
Julkaise yksi nimi dnsmasqista, reititä resolveri WireGuardin läpi ja valitse sitten koko asiakkaalle työnnettävän DNS:n ja vain home.arpaa koskevan split-DNS:n välillä.
Kun tunneli on ylhäällä, viimeinen askel on yleensä nimi, joka toimii sen sijaan, että liittäisit osoitteen kirjanmerkkiin. dnsmasq-isäntätietue ja resolverin osoite, johon asiakas pääsee, hoitavat sen kahdella tiedostolla ja ilman multicastia. Päätös, joka todella vaatii ajattelua, on kapeampi: lähettääkö asiakas kaiken DNS:n kodin resolverin kautta vai vain nimet home.arpa-alapuolella? Kaikki alla olettaa hyväksytyn WireGuard-asennuksen, jossa on Linux-asiakas ja laboratorioresolveri, jota kodin ylläpitäjä jo hallinnoi.
Kolme tapaa antaa asiakkaalle resolveri
| 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 |
Kannettavalle, joka liittyy tunneliin silloin tällöin, split-DNS on parempi oletus: se pitää tavalliset internet-nimet resolverilla, johon kone jo luottaa. Koneelle, joka on olemassa kodin palveluiden saavuttamiseksi, resolverin työntäminen on yksinkertaisempaa eikä laajuuden hinta merkitse.
Julkaise tietue resolverilla, joka omistaa vyöhykkeen
Pidä roolit erillään ennen kuin kirjoitat kokoonpanoa: VPN-asiakkaan osoite, resolveri ja palvelu ovat kolme eri isäntää, joilla on kolme eri tehtävää. Tässä laboratoriossa ne ovat 10.77.0.2 asiakkaalle, 192.168.50.53 dnsmasqille ja 192.168.50.20 NASille, ja tunneli reitittää kodin lähiverkon.
listen-address=127.0.0.1,192.168.50.53
bind-interfaces
local=/home.arpa/
host-record=nas.home.arpa,192.168.50.20
Rivi host-record antaa osoitteen ja rivi local= pitää tuntemattomat home.arpa-kysymykset tämän resolverin sisällä sen sijaan, että välittäisi ne ylöspäin. Lue ensin nykyinen kokoonpanosi ja sovita kaikki, mikä jo määrittelee palvelimen, liitännän tai saman paikallisen verkkotunnuksen; fragmentin pinoaminen ristiriitaisen päälle tuottaa resolverin, joka latautuu iloisesti ja vastaa väärin. dnsmasq-käsikirja määrittelee molemmat direktiivit ja kuuntelun hallinnan.
Tarkista sitten käynnissä oleva palvelu, ei tiedostoa. Kokoonpanotesti ja uudelleenkäynnistys ovat vähimmäisvaatimus, ja todellinen vastaus on se, mitä kysely palauttaa.
Reititä resolveri, älä vain verkkosivua
WireGuardin AllowedIPs päättää, mitkä kohteet tulevat tunneliin. Jos resolverin osoite jää sen ulkopuolelle, kysely lähtee tavallista reittiä eikä koskaan saavuta dnsmasqia, vaikka NAS itse olisi tavoitettavissa. Sisällytä resolverin osoite tai sen sisältävä lähiverkkotunnus ja tarkista yhdyskäytävän välityskäytäntö toisella puolella.
Salli UDP ja TCP portissa 53 valtuutetusta tunnelialueesta, paluupolulla asiakkaan tunneliosoitteeseen. Älä välitä porttia 53 WANista testauksen helpottamiseksi: avoin rekursiivinen resolver kotiyhteydessä löydetään tunneissa. Liitäntään sitominen ei sinänsä ole käyttöoikeuskäytäntö.
Tarkista vastaus ennen sovellusta
Kysy ensin resolverilta suoraan, sitten järjestelmältä, sitten sovellukselta. Jokainen askel eristää yhden ketjun lenkin, ja niiden välinen ero on diagnoosi.
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-kysely kannattaa ajaa, koska katkaistu UDP-vastaus pakottaa uudelleenyritykseen, ja käytäntö, joka pudottaa TCP 53:n, tuottaa vikoja, jotka näyttävät ajoittaisilta. Vaihe getent näyttää, mitä koneen resolverikokoonpano todella tekee, mikä ei aina ole se, mitä työnsit.
Päätä, mitä tapahtuu, kun tunneli on alhaalla
Jos asiakkaan yleinen DNS osoittaa osoitteeseen 192.168.50.53, kaikki nimien selvitys lakkaa toimimasta, kun tunneli ei ole ylhäällä. Se on hyväksyttävää koneella, joka on hyödyllinen vain tunnelin kanssa, ja ei-hyväksyttävää kannettavalla, joka käyttää myös kahvilan Wi-Fiä. Split-DNS välttää kysymyksen kokonaan, koska vain home.arpa-haut riippuvat kodin resolverista.
Muista, mikä nimi on: home.arpa on varattu asuinverkoille eikä ole maailmanlaajuisesti ainutlaatuinen, joten toinen verkko voi laillisesti käyttää samaa nimeä. Se on paikallinen mukavuus, ei luotettava tunniste. Pidä tietue ajan tasalla, kun palvelu muuttaa, ja poista resolverikäytäntö, kun laboratorio poistetaan käytöstä, sen sijaan että jättäisit kannettavan osoittamaan osoitteeseen, johon se pääsee vain tunnelin kautta, jota ei enää ole.