Коли тунель піднято, останнім кроком зазвичай стає ім'я, яке працює, замість адреси, яку ви вставляєте в закладку. Запис хоста в dnsmasq плюс адреса резолвера, до якої клієнт може дістатися, роблять це двома файлами і без multicast. Рішення, яке справді потребує роздумів, вужче: чи клієнт надсилає весь DNS через домашній резолвер, чи лише імена під home.arpa? Усе нижче передбачає схвалене налаштування WireGuard з клієнтом Linux і лабораторним резолвером, яким домашній адміністратор уже керує.

Три способи дати клієнту резолвер

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

Для ноутбука, який час від часу підключається до тунелю, split-DNS є кращим типовим вибором: він тримає звичайні інтернет-імена на резолвері, якому машина вже довіряє. Для машини, що існує для доступу до домашніх служб, проштовхування резолвера простіше, і ціна охоплення не має значення.

Опублікуйте запис на резолвері, який володіє зоною

Тримайте ролі окремо, перш ніж писати конфігурацію: адреса клієнта VPN, резолвер і служба — це три різні хости з трьома різними завданнями. У цій лабораторії це 10.77.0.2 для клієнта, 192.168.50.53 для dnsmasq і 192.168.50.20 для NAS, а тунель маршрутизує домашню 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 усередині цього резолвера, замість того щоб пересилати їх вище. Спершу прочитайте наявну конфігурацію і узгодьте все, що вже визначає сервер, інтерфейс або той самий локальний домен; нашарування фрагмента на суперечливий дає резолвер, який весело завантажується і відповідає неправильно. Посібник dnsmasq визначає обидві директиви та керування прослуховуванням.

Потім перевірте службу, що працює, а не файл. Перевірка конфігурації плюс перезапуск — це мінімум, а дійсна відповідь — те, що повертає запит.

Маршрутизуйте резолвер, а не лише вебсторінку

AllowedIPs у WireGuard вирішує, які адресати потрапляють у тунель. Якщо адреса резолвера опиняється поза ним, запит виходить звичайним маршрутом і ніколи не досягає dnsmasq, хоча сам NAS доступний. Уключіть адресу резолвера або префікс LAN, який її містить, і перевірте політику пересилання шлюзу на іншому боці.

Дозвольте UDP і TCP на порту 53 з авторизованого діапазону тунелю, зі зворотним шляхом до адреси тунелю клієнта. Не пересилайте порт 53 з WAN, щоб полегшити тестування: відкритий рекурсивний резолвер на домашньому підключенні знаходять протягом годин. Прив'язка до інтерфейсу сама по собі не є політикою доступу.

Перевірте відповідь до застосунку

Спершу запитайте резолвер напряму, потім систему, потім застосунок. Кожен крок ізолює одну ланку в ланцюгу, і різниця між ними — це діагноз.

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 показує, що насправді робить конфігурація резолвера машини, а це не завжди те, що ви надіслали.

Вирішіть, що відбувається, коли тунель опущено

Якщо загальний DNS клієнта вказує на 192.168.50.53, будь-яке розв'язання імен перестає працювати, коли тунель не піднято. Це прийнятно на машині, яка корисна лише з тунелем, і неприйнятно на ноутбуці, який також користується Wi-Fi у кав'ярні. Split-DNS повністю обходить це питання, бо лише пошуки home.arpa залежать від домашнього резолвера.

Пам'ятайте, що це за ім'я: home.arpa зарезервовано для житлових мереж і не є глобально унікальним, тому інша мережа може законно використовувати те саме ім'я. Це локальна зручність, а не надійний ідентифікатор. Підтримуйте запис актуальним, коли служба переїжджає, і видаляйте політику резолвера, коли лабораторію виводять з експлуатації, замість того щоб залишати ноутбук, який указує на адресу, до якої він може дістатися лише через тунель, якого більше немає.

Схожі статті