Внутреннее имя разрешается, и тот же сервер отвечает на внешнее имя отказом насчёт рекурсии. Это сочетание не противоречие. Публикация собственных зон и разрешение всего интернета — две отдельные службы, которые сервер может предлагать, и он может выполнять первую без второй. Считайте отказ заявлением о политике, затем проверьте, соответствует ли политика замыслу.

Отказ и тайм-аут — разные ответы

Запишите имя, тип запроса, ответивший сервер, статус и возвращённые записи. Предупреждение о рекурсии не отменяет автоматически авторитетный ответ, пришедший вместе с ним. Запишите статус до того, как его истолковать. Статус, восстановленный по памяти через час, — это другой факт.

Заголовок DNS несёт запрос рекурсии и признак того, предлагает ли её сервер, а спецификация протокола держит эти флаги отдельно от данных ответа. Поэтому ответ может быть полезным и всё же нести жалобу. Тайм-аут, отрицательный ответ и отказ — три разных результата. Каждый указывает на свой уровень, и только отказ — это сервер, который говорит вам о политике.

Сначала прочитайте код статуса, затем решите, важно ли предупреждение для этого запроса. Авторитетный ответ, называющий зону, пригоден к использованию даже когда рекурсивный бит отклонён. Отказ без ответа — результат политики, а не сломанный путь пакетов.

Что резолвер записал как ваш источник

Клиент может приходить из пула адресов за пределами разрешённых рекурсивных диапазонов сервера, или трансляция может сделать его похожим на шлюз. Собственный адрес адаптера клиента не является доказательством того, что получил резолвер. Спросите администратора сервера о наблюдаемом источнике, вместо того чтобы выводить его со своей стороны пути. Два адреса могут различаться на каждом шаге, который транслирует.

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

dig +short host.corp.example
dig +short example.com

Если развёртывание хочет рекурсию для клиентов VPN, администратор авторизует подходящий диапазон источников через собственные средства сервера. Открыть рекурсию для всей сети, чтобы прошёл один тест, — куда более крупное изменение, чем проверяемое. Запишите авторизованный диапазон рядом с правилом, потому что следующий проверяющий спросит, каким источникам должна была служить политика. Диапазон источников без владельца — это путь, которым временный тест становится постоянным.

Разделённый DNS — это замысел, а не неисправность

Некоторые развёртывания отправляют только рабочие домены к частному резолверу, а всё остальное — к другому одобренному резолверу. Это замысел маршрутизации запросов, и он не доказывает, что частному серверу нужна более свободная политика. При таком замысле внешнее имя, не разрешившееся через частный резолвер, — это намеченный результат, а не неисправность. Отказ — это работающий замысел, а не симптом, который нужно подавлять.

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

Проверьте политику двумя запросами

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

resolvectl query host.corp.example
resolvectl query example.com

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

Читайте отказ как доказательство

Отказ — это ответ. Он означает, что сервер получил запрос и отказался выполнять запрошенную работу, что отличается от пакета, который так и не пришёл. Это различие и есть весь диагноз. Запишите его как ответ, а не как сбой связности.

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

Запишите результат и владельца политики в заявку, чтобы следующий человек начинал с решения, а не с предупреждения. Назовите авторизованный диапазон источников и два имени, которые вы проверили. Заявку с этими тремя фактами можно запустить снова; ту, что говорит "рекурсия сломана", — нельзя.

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