Подключите VPN, запустите nslookup, и в заголовке появится адрес резолвера с полем имени, заполненным как Unknown. Это слово стоит над ответом, и большинство перестают читать раньше важной части. Метка описывает, есть ли у резолвера собственное обратное имя; она пока ничего не говорит о том, разрешилось ли запрошенное имя хоста. Закрыть это окно вовремя — вот и всё мастерство здесь.

Два разных запроса могут дать такую картину, и только один из них относится к вашей проблеме. Их разделение стоит одной дополнительной команды и экономит полдня правки настроек DNS, которые никогда не были ошибочными.

Что инструмент делает перед тем, как ответить

nslookup может попытаться найти имя для адреса сервера, который собирается использовать, а это обратный запрос в домене in-addr.arpa или ip6.arpa. Если эта запись PTR отсутствует, отфильтрована политикой или просто не опубликована, инструмент печатает Unknown и идёт дальше. Прямое разрешение этим сбоем не затрагивается, потому что это другой вопрос, отправленный тому же серверу.

Поэтому частный резолвер может правильно отвечать на каждое корпоративное имя и всё равно выглядеть анонимным в заголовке инструмента. Адрес известен; имя за ним нет, и инструмент честен в этом, хотя остаётся слегка театральным в выборе слова.

Запустите оба запроса осознанно

Спросите о хосте, который вам важен, затем об адресе самого резолвера. Первый запрос несёт нужное вам имя; второй спрашивает сервер, может ли он назвать себя сам. В записанном виде они выглядят так: nslookup app.corp.example 10.77.0.53 для хоста и nslookup 10.77.0.53 10.77.0.53 для обратного имени резолвера.

Оба примера иллюстративны, поэтому подставьте свои имена и адреса. Дело не в точном синтаксисе, а в разделении: две команды задают разные вопросы и могут давать разные результаты, не будучи ни одна из них неисправностью.

Три результата, которые выглядят похоже и не являются таковыми

Тайм-аут означает, что ответа не пришло вообще, что указывает на доступность, фильтрацию или неверный адрес сервера. Отрицательный ответ означает, что сервер ответил и сообщил, что имени не существует, что указывает на зону или суффикс. Отсутствующее обратное имя означает, что сервер ответил на второй вопрос ничем полезным, и прямой ответ всё ещё мог быть безупречным. Три результата, три владельца, и только один из них об имени хоста, которое вам было нужно.

Только первые два описывают путь DNS, который отказывает для вашего приложения. Третий описывает запись, которая никогда не публиковалась, и отношение к нему как к неисправности ведёт к изменениям, которые не могут её исправить, например к перезаписи суффикса поиска, пока заголовок не станет приветливее.

Читайте разделы, а не заголовок

Под заголовком инструмент печатает ответ, авторитет и любые дополнительные записи. Правильный адрес в разделе ответа — это результат, который вы хотели, даже когда имя в заголовке — Unknown. Пустой ответ с авторитетным отказом — другой исход, и он заслуживает собственного расследования.

Держите оба объекта явными во всём, что отправляете в поддержку: какое имя запрашивалось и какой сервер был опрошен. Отчёты, в которых сказано только, что DNS сломан через VPN, заставляют следующего человека восстанавливать тест, который вы уже провели.

Когда обратное имя действительно важно

Некоторые службы действительно заботятся о записях PTR: журналирование, разрешающее адреса клиентов, проверки репутации почты или административные инструменты, показывающие имена. Если что-то из этого не работает, опубликуйте запись или исправьте зону, которая должна её содержать. Эта работа законна и отделена от вопроса, правильно ли VPN пересылает запросы.

Узкий вывод остаётся: одна отсутствующая метка резолвера не доказывает, что прямое разрешение через туннель сломано, а один работающий прямой запрос не доказывает, что каждое имя в зоне разрешается. Проверьте имя, которое вам действительно нужно, и затем решите, чего стоит слово в заголовке.

Похожие статьи