Тест утечки 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 полезна, когда нужно объяснить, что зашифрованный резолвер скрывает, а что нет.