Короткие внутренние имена не работают через VPN: суффикс, которого вы не видите
Короткое имя работает только потому, что поисковый суффикс дополняет его. Сравните полное и короткое имя, чтобы отличить отсутствие суффикса от сбоя резолвера.
Короткое имя работало в офисе и не работает через VPN, а полное имя разрешается без проблем. Ничего не сломано. Голое имя вроде intranet не является полным именем; клиент добавляет суффикс из своего списка поиска и запрашивает результат. Если профиль VPN не передаёт этот суффикс, привычная короткая форма перестаёт существовать.
Вот и весь миф. DNS не сломался, изменилась политика поиска.
Голое имя — не имя
Когда вы вводите одну метку, резолвер должен решить, что спрашивать. Он пробует имя как есть, а затем по одному добавляет записи из списка поиска, пока что-нибудь не ответит. В Linux порядок задаёт resolv.conf с параметрами search и ndots. В Windows то же делают список суффиксов и политика разрешения имён. Уберите суффикс — и резолверу нечего будет добавить.
Поэтому работающее короткое имя — доказательство политики, а не исправного DNS-сервера.
Что делают список суффиксов и адрес резолвера
Эти два понятия постоянно путают. Адрес резолвера говорит, кого спрашивать; список суффиксов говорит, о каком имени спрашивать. VPN может выдать приватный резолвер без суффикса или суффикс с неправильным резолвером. Только один из этих сбоев выглядит как отказ DNS.
Проверяйте их по отдельности, потому что исправление не того сжигает окно поддержки.
| What you see | Likely cause |
|---|---|
| Full name resolves, short name fails | Suffix or search list missing |
| Neither resolves | Resolver unreachable or wrong domain rule |
| Both resolve, resource fails | Route or service permission |
Три симптома, три разных владельца.
Сначала проверьте полное имя
Запросите задокументированное администратором полное доменное имя, а не догадку. Работающий FQDN доказывает, что резолвер доступен и запись существует, а это одним запросом снимает половину возможных причин. Используйте инструмент, который показывает, какой сервер ответил, чтобы не читать кэшированный результат.
Держите проверку приватной. Отправка внутренних вариантов публичному резолверу раскрывает имена и проверяет политику, которую никто не задумывал.
Где место исправлению
Исправьте профиль-владелец или систему управления, которая его создаёт. Ручная правка локальной конфигурации резолвера обычно исчезает при переподключении или применяется ко всем сетям, к которым подключается машина, что хуже.
В Windows проверяйте действующую политику, а не флажок, который вы помните. Get-DnsClientNrptPolicy показывает правила разрешения имён, которые действительно действуют.
В macOS scutil --dns выводит конфигурацию резолвера для каждого интерфейса с областью, включая домены поиска, переданные VPN.
В Linux прочитайте строку search в /etc/resolv.conf, но проверьте, не переписала ли её программа VPN. Если файлом управляют, правьте источник истины, а не отрендеренный файл. Устаревшая строка search, оставшаяся от прошлой сети, — частая причина.
Что хранить вместе с профилем
Храните исправленное полное имя, список суффиксов и адрес резолвера рядом с профилем клиента. Следующий человек, который сообщит, что сайт intranet недоступен, сможет сравнить три известных значения вместо того, чтобы начинать с пустой страницы.
И если не работает только короткая форма, напишите это в тикете. Эта фраза сберегает команде резолверов целый день.