Вопрос или проблема
Я попытался использовать команду 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
-
Проблемы с локальными DNS-серверами: Раз ошибка не воспроизводится при использовании публичных DNS-серверов, таких как Google (8.8.8.8), это означает, что ваши локальные DNS-серверы (указанные в
/etc/resolv.conf
) могут не работать должным образом или не могут получить ответ от авторитетных DNS-серверов. -
Настройки вашего компьютера или сети: Возможно, DNS-серверы, предоставляемые вашим интернет-провайдером или локальной сетью, имеют некоторые ограничения или сбои. Они могут просто не поддерживать отправку и получение запросов для определённых доменов.
-
Конфигурация systemd-resolved: Если в вашем файле
/etc/resolv.conf
используется адрес127.0.0.53
, это означает, что вы используетеsystemd-resolved
. В этом случае следует проверить файл/run/systemd/resolve/resolv.conf
, чтобы определить, какие серверы настроены в качестве upstream.
Что делать дальше
-
Проверить файл /etc/resolv.conf: Убедитесь, что в этом файле указаны корректные DNS-сервера. Если вы видите локальный адрес, например,
127.0.0.53
, проверьте/run/systemd/resolve/resolv.conf
для дальнейших настроек. -
Попробовать другие 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
(или используемую конфигурацию) и перезапустить необходимые службы, если это необходимо. - Google:
-
Проверка соединения: Убедитесь, что ваше интернет-соединение stable и что вы можете получить доступ к другим ресурсам в интернете, использующим DNS.
-
Тестирование через
dig
: Вы также можете использовать командуdig
для получения более подробной отладки. Попробуйте:dig jfeatures.com
Это может дать больше информации о том, как происходит разрешение.
-
Связаться с провайдером: Если проблема сохраняется и вы уверены, что локальные настройки корректны, возможно, стоит обратиться к вашему интернет-провайдеру. Они могут иметь проблемы с их DNS-серверами или способы управления трафиком.
Заключение
Ошибка SERVFAIL в запросах DNS может вызывать беспокойство, но, как правило, это можно исправить, скорректировав настройки DNS-серверов. Если вы систематически пытаетесь разные варианты и не добиваетесь успеха, это может указывать на более глубокие проблемы в конфигурации сети или с провайдером.