Үй VPN-іңізге nas.home.arpa үшін өз DNS жазбаларын беріңіз
dnsmasq-тан бір ат жариялаңыз, resolver-ді WireGuard арқылы бағыттаңыз, содан кейін барлық клиентке DNS жіберу мен тек home.arpa үшін split-DNS арасында таңдаңыз.
Туннель көтерілгеннен кейін соңғы қадам әдетте бетбелгіге қоятын мекенжайдың орнына жұмыс істейтін ат болады. dnsmasq хост жазбасы және клиент жете алатын resolver мекенжайы мұны екі файлмен және multicast-сыз жасайды. Шынымен ойлауды қажет ететін шешім тарырақ: клиент барлық DNS-ті үй resolver-і арқылы жібере ме, әлде тек home.arpa астындағы аттарды ма? Төмендегінің бәрі Linux клиенті және үй әкімшісі әлдеқашан басқаратын зертханалық resolver-і бар бекітілген WireGuard конфигурациясын болжайды.
Клиентке 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 |
Туннельге анда-санда қосылатын ноутбук үшін split-DNS жақсырақ әдепкі: ол қарапайым интернет аттарын машина әлдеқашан сенетін resolver-де қалдырады. Үй қызметтеріне жету үшін бар машина үшін resolver-ді итеру қарапайым және ауқым құны маңызды емес.
Жазбаны аймаққа ие resolver-де жариялаңыз
Конфигурация жазбас бұрын рөлдерді бөлек ұстаңыз: VPN клиентінің мекенжайы, resolver және қызмет үш түрлі жұмысы бар үш түрлі хост. Бұл зертханада олар клиент үшін 10.77.0.2, dnsmasq үшін 192.168.50.53 және NAS үшін 192.168.50.20, ал туннель үй 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 жолы мекенжайды береді, ал local= жолы белгісіз home.arpa сұрақтарын жоғары жіберудің орнына осы resolver-дің ішінде ұстайды. Алдымен қазіргі конфигурацияңызды оқып, серверді, интерфейсті немесе сол жергілікті доменді әлдеқашан анықтайтынның бәрін сәйкестендіріңіз; қайшы келетіннің үстіне үзінді қою қуана жүктелетін және қате жауап беретін resolver жасайды. dnsmasq нұсқаулығы екі директиваны да және тыңдауды басқаруды анықтайды.
Содан кейін файлды емес, жұмыс істеп тұрған қызметті тексеріңіз. Конфигурация сынағы және қайта іске қосу ең азы, ал нақты жауап — сұраныс қайтаратын нәрсе.
Resolver-ді маршруттаңыз, тек веб-бетті емес
WireGuard-тың AllowedIPs қандай межелердің туннельге кіретінін анықтайды. Егер resolver мекенжайы оның сыртында қалса, сұраныс қалыпты маршрутпен шығады және dnsmasq-қа ешқашан жетпейді, NAS өзі қолжетімді болса да. Resolver мекенжайын немесе оны қамтитын LAN префиксін қосыңыз және арғы жақтағы шлюздің қайта жіберу саясатын тексеріңіз.
Уәкілетті туннель ауқымынан 53 портында UDP және TCP рұқсат етіңіз, клиенттің туннель мекенжайына қайту жолымен. Сынақты жеңілдету үшін 53 портын WAN-нан қайта жібермеңіз: үй байланысындағы ашық рекурсивті resolver сағаттар ішінде табылады. Интерфейске байлау өздігінен қатынау саясаты емес.
Қолданбадан бұрын жауапты тексеріңіз
Алдымен resolver-ден тікелей сұраңыз, содан кейін жүйеден, содан кейін қолданбадан. Әр қадам тізбектің бір буынын оқшаулайды, ал олардың арасындағы айырмашылық — диагностика.
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 сұранысын іске қосудың мәні бар, өйткені кесілген UDP жауабы қайта әрекетке мәжбүрлейді, ал TCP 53-ті тастайтын саясат үзілісті болып көрінетін ақаулар тудырады. getent қадамы машинаның resolver конфигурациясы шын мәнінде не істейтінін көрсетеді, бұл әрдайым сіз жіберген нәрсе емес.
Туннель өшіп тұрғанда не болатынын шешіңіз
Егер клиенттің жалпы DNS-і 192.168.50.53-ке сілтесе, туннель көтерілмегенде кез келген ат шешуі тоқтайды. Бұл тек туннельмен пайдалы машинада қолайлы, ал дәмхана Wi-Fi-ын да пайдаланатын ноутбукта қолайсыз. Split-DNS бұл сұрақты мүлдем айналып өтеді, өйткені тек home.arpa іздеулері үй resolver-іне тәуелді.
Аттың не екенін есте сақтаңыз: home.arpa тұрғын желілерге арналған және әлемдік деңгейде бірегей емес, сондықтан басқа желі сол атты заңды түрде пайдалана алады. Бұл жергілікті ыңғайлылық, сенімді идентификатор емес. Қызмет көшкенде жазбаны өзекті ұстаңыз, ал зертхана пайдаланудан шығарылғанда resolver саясатын алып тастаңыз, енді жоқ туннель арқылы ғана жете алатын мекенжайға сілтеп ноутбук қалдырудың орнына.