Как проверить, работает ли DNS-имя?

«Как проверить, работает ли DNS-имя?» — вопрос из категории Сети, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

При диагностике проблем с доступностью сервиса первым делом проверяю разрешение DNS. Использую комбинацию инструментов для полной картины.

1. Базовые проверки разрешения имен

# Проверка A-записи
nslookup example.com
# Или более подробно
dig example.com +short

# Проверка всех типов записей
dig example.com ANY

# Проверка конкретного DNS-сервера
dig @8.8.8.8 example.com

2. Проверка доступности сервиса После подтверждения разрешения DNS проверяю, отвечает ли сервис:

# Проверка HTTP/HTTPS
curl -I https://example.com
# С таймаутом
curl --connect-timeout 5 -I https://example.com

# Проверка конкретного порта
nc -zv example.com 443
# Или
telnet example.com 80

3. Трассировка и анализ задержек

# Traceroute до хоста
traceroute example.com
# Или mtr для постоянного мониторинга
mtr --report example.com

# Проверка времени ответа DNS
dig example.com | grep "Query time"

4. Внешние проверки Для исключения локальных проблем проверяю с разных точек:

  • Из разных сетей (офис, дом, мобильный интернет)
  • Через публичные DNS-серверы (1.1.1.1, 8.8.8.8)
  • С помощью онлайн-сервисов:

Типичные сценарии проблем:

  • DNS не разрешается — проблема с DNS-сервером или записью
  • Разрешается, но сервис не отвечает — проблема с веб-сервером или фаерволом
  • Разрешается только из некоторых сетей — проблема с географическим распределением или кэшированием
  • Большая задержка разрешения — проблема с DNS-сервером или сетью