Тест витоку DNS: ім'я резолвера — не маршрут
Ім'я резолвера не скаже, чи DNS обійшов тунель. Визначте бажану політику, потім порівняйте отримувача, маршрут і винятки.
Три схеми вважаються правильним DNS для користувача VPN: запити до резолвера оператора, запити до обраного вами зашифрованого резолвера і split DNS, що надсилає робочі імена до організації. Тест витоку повідомляє один резолвер, і ця єдина мітка не скаже, яка схема у вас насправді. Спершу визначте задуману політику, потім перевіряйте щодо неї. Інакше ви порівнюєте число з відчуттям.
Вирішіть, чого ви хотіли, перш ніж читати результат
Назвіть політику одним реченням: усі імена до резолвера VPN, усі імена до обраного зашифрованого резолвера або split DNS із внутрішніми іменами, що йдуть до організації. Кожна виправдана для окремого користувача, і кожна дає іншу очікувану відповідь. Без цього речення будь-який результат, що відрізняється від знімка екрана в дописі на форумі, виглядає тривожно. Запишіть політику до першого тесту.
Тест, виконаний до визначення політики, нічого не вимірює. Він дає ім'я резолвера без жодної точки відліку.
Ім'я резолвера не доводить ні шляху, ні отримувача
Важливі два питання: хто отримав запит і який маршрут його ніс. До стороннього резолвера можна дістатися через тунель, поки екран налаштувань показує адресу провайдера. Мітка на сторінці тесту витоку описує погляд спостерігача, а не вашу таблицю маршрутизації.
Браузер може використовувати власний зашифрований DNS, поки трафік сайту йде через тунель, а кешовані відповіді можуть дозволити завантажити сторінку без нового запиту. Тому результат публічної IP нічого не каже про DNS. DoH і DoT захищають запит на шляху до резолвера, і цей резолвер усе одно бачить імена.
resolvectl status
resolvectl query example.com
dig +short example.com
Split DNS робить кілька резолверів правильними
Організація може надсилати внутрішні імена до свого DNS, а все інше в інше місце. Тому тест, що перелічує кілька резолверів, може описувати задуману політику, а не несправність. Порівняйте спостережуваний набір із задокументованими правилами split DNS, перш ніж щось вимикати. Вимкнення внутрішнього резолвера, щоб тестова сторінка виглядала чистіше, ламає приватні імена.
Split tunneling і split DNS — різні вибори: один маршрутизує пакети, інший — запитання. Зміна маршруту тунелю не переміщує пошук імені, а зміна резолвера не виправляє шлях сайту. IPv6 — третє питання, адже ненавмисне з'єднання IPv6 не є автоматично витоком DNS.
Перетворіть результат на розслідування
Запишіть задуману політику й налаштування безпечного DNS браузера до тесту. Запустіть тест з активним тунелем, занотуйте кожен названий резолвер і порівняйте набір із політикою, а не з однією очікуваною адресою.
Повторіть після повторного підключення, якщо симптом з'являється саме тоді, бо політика, застосована під час підключення, може згодом загубитися. Для внутрішніх винятків DNS використовуйте документацію клієнта, а не здогадки про налаштування.
Виправте виявлену невідповідність: вибір браузера, налаштування DNS у VPN або правило split DNS. Якщо запити мають зупинятися, коли тунель відмовляє, kill switch — окреме налаштування, і сама лише конфігурація DNS його не дає. Специфікація RFC 8484 корисна, коли треба пояснити, що зашифрований резолвер приховує, а що ні.