Почему команда Host возвращает SERVFAIL

Вопрос или проблема

Я попытался использовать команду host для моего блога jfeatures.com и получил ошибку (SERVFAIL). Я использую Google Domains для блога, и он работает на GitHub Pages.

$ host jfeatures.com
jfeatures.com имеет адрес 185.199.111.153
jfeatures.com имеет адрес 185.199.108.153
jfeatures.com имеет адрес 185.199.109.153
jfeatures.com имеет адрес 185.199.110.153

Хост jfeatures.com не найден: 2(SERVFAIL)

jfeatures.com почта обрабатывается 20 alt2.gmr-smtp-in.l.google.com.
jfeatures.com почта обрабатывается 40 alt4.gmr-smtp-in.l.google.com.
jfeatures.com почта обрабатывается 5 gmr-smtp-in.l.google.com.
jfeatures.com почта обрабатывается 10 alt1.gmr-smtp-in.l.google.com.
jfeatures.com почта обрабатывается 30 alt3.gmr-smtp-in.l.google.com.
alt2.gmr-smtp-in.l.google.com имеет адрес 142.250.141.14
alt4.gmr-smtp-in.l.google.com имеет адрес 64.233.171.14
gmr-smtp-in.l.google.com имеет адрес 142.251.10.14
alt1.gmr-smtp-in.l.google.com имеет адрес 173.194.202.14
alt3.gmr-smtp-in.l.google.com имеет адрес 142.250.115.14

Если я указываю DNS-сервер, похоже, всё работает как ожидается. Вот результат команды host jfeatures.com 8.8.8.8

host jfeatures.com 8.8.8.8
Используется доменный сервер:
Имя: 8.8.8.8
Адрес: 8.8.8.8#53
Псевдонимы:

jfeatures.com имеет адрес 185.199.109.153
jfeatures.com имеет адрес 185.199.111.153
jfeatures.com имеет адрес 185.199.110.153
jfeatures.com имеет адрес 185.199.108.153
jfeatures.com почта обрабатывается 10 alt1.gmr-smtp-in.l.google.com.
jfeatures.com почта обрабатывается 30 alt3.gmr-smtp-in.l.google.com.
jfeatures.com почта обрабатывается 40 alt4.gmr-smtp-in.l.google.com.
jfeatures.com почта обрабатывается 5 gmr-smtp-in.l.google.com.
jfeatures.com почта обрабатывается 20 alt2.gmr-smtp-in.l.google.com.

С дополнительным параметром в команде host вы обходите ваши DNS-серверы по умолчанию, определенные через /etc/resolv.conf, и используете конкретно указанный вами:

host jfeatures.com 8.8.8.8    # {домен} {dns_сервер}

Поскольку вы не можете воспроизвести проблему, указывая вышестоящий DNS-сервер (1.1.1.1, 8.8.8.8 или 9.9.9.9, как подтвержденные рабочие альтернативы), я бы предположил, что проблема в ваших вышестоящих DNS-серверах.

Дома это могут быть либо локальные серверы, либо серверы вашего интернет-провайдера. На работе это обычно серверы DNS вашей сети. В зависимости от того, насколько глубоко вы хотите погрузиться в идентификацию проблемного компонента, вы можете проследить цепочку DNS-серверов. Например, если в /etc/resolv.conf содержится ссылка на nameserver 127.0.0.53, вы используете systemd-resolved, и вам нужно проверить /run/systemd/resolve/resolv.conf для получения сведений о ваших вышестоящих DNS-серверах. В противном случае используйте значения в /etc/resolv.conf сами по себе.

Ответ или решение

Ошибка SERVFAIL, которую вы наблюдаете при использовании команды host для проверки области jfeatures.com, указывает на проблемы с разрешением DNS. Давайте разберем подробности и предложим пути решения.

Причины возникновения ошибки SERVFAIL

  1. Проблемы с локальными DNS-серверами: Раз ошибка не воспроизводится при использовании публичных DNS-серверов, таких как Google (8.8.8.8), это означает, что ваши локальные DNS-серверы (указанные в /etc/resolv.conf) могут не работать должным образом или не могут получить ответ от авторитетных DNS-серверов.

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

  3. Конфигурация systemd-resolved: Если в вашем файле /etc/resolv.conf используется адрес 127.0.0.53, это означает, что вы используете systemd-resolved. В этом случае следует проверить файл /run/systemd/resolve/resolv.conf, чтобы определить, какие серверы настроены в качестве upstream.

Что делать дальше

  1. Проверить файл /etc/resolv.conf: Убедитесь, что в этом файле указаны корректные DNS-сервера. Если вы видите локальный адрес, например, 127.0.0.53, проверьте /run/systemd/resolve/resolv.conf для дальнейших настроек.

  2. Попробовать другие DNS-серверы: Попробуйте временно изменить настройки на публичные DNS-серверы, такие как:

    • Google: 8.8.8.8 и 8.8.4.4
    • Cloudflare: 1.1.1.1 и 1.0.0.1
    • Quad9: 9.9.9.9

    Для этого вы можете отредактировать файл resolv.conf (или используемую конфигурацию) и перезапустить необходимые службы, если это необходимо.

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

  4. Тестирование через dig: Вы также можете использовать команду dig для получения более подробной отладки. Попробуйте:

    dig jfeatures.com

    Это может дать больше информации о том, как происходит разрешение.

  5. Связаться с провайдером: Если проблема сохраняется и вы уверены, что локальные настройки корректны, возможно, стоит обратиться к вашему интернет-провайдеру. Они могут иметь проблемы с их DNS-серверами или способы управления трафиком.

Заключение

Ошибка SERVFAIL в запросах DNS может вызывать беспокойство, но, как правило, это можно исправить, скорректировав настройки DNS-серверов. Если вы систематически пытаетесь разные варианты и не добиваетесь успеха, это может указывать на более глубокие проблемы в конфигурации сети или с провайдером.

Оцените материал
Добавить комментарий

Капча загружается...