JavaRush /Курсы /Docker SELF /Проверка DNS: команды `nslookup`, `dig`

Проверка DNS: команды `nslookup`, `dig`

Docker SELF
4 уровень , 2 лекция
Открыта

1. Введение в DNS

Представьте себе такой момент: вы хотите получить доступ к вашему любимому сайту — например, google.com. Но ваш браузер не понимает слова "google", ему нужны IP-адреса (например, 142.250.74.206). Преобразование доменного имени в IP-адрес происходит с помощью DNS (Domain Name System). Если этот процесс ломается, вы увидите сообщение от браузера: "Не удаётся найти сервер". Вы, как будущий сетевой мастер Linux, обязаны знать, как диагностировать и решать проблемы, связанные с DNS.

DNS — это как телефонная книга интернета. Вместо того чтобы запоминать сложные IP-адреса, мы можем использовать удобные имена, которые преобразуются системой DNS. Вот несколько ключевых концепций:

  1. DNS-записи:

    • A-запись (Address Record): связывает доменное имя с IPv4-адресом.
    • AAAA-запись: связывает доменное имя с IPv6-адресом.
    • CNAME-запись (Canonical Name): указывает псевдоним домена.
    • MX-запись (Mail Exchange): указывает на серверы обработки почты.
  2. DNS-серверы:

    • Повседневный пользователь обычно использует DNS-серверы своего провайдера.
    • Альтернативы: публичные DNS-серверы Google (8.8.8.8), Cloudflare (1.1.1.1).
  3. Резолвинг имён:

    • Когда вы вводите доменное имя в браузер, оно отправляет запрос на DNS-сервер, чтобы получить IP-адрес.

С этими знаниями вооружён, вы готовы к практическому освоению магии DNS через команды nslookup и dig.


2. Команда nslookup

nslookup — это утилита, которая позволяет нам проверять работу DNS. Она доступна на большинстве дистрибутивов Linux и в других операционных системах.

Основной синтаксис:

nslookup [опции] [домен или IP-адрес]

Простой пример:

Проверим IP-адрес для сайта google.com:

nslookup google.com

Вывод:

Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
Name:   google.com
Address: 142.250.74.206

Примечания к выводу:

  • Server: DNS-сервер, который обработал запрос.
  • Non-authoritative answer: это значит, что информация была получена не с корневого DNS-сервера, а через кэш другого сервера.

Проверка DNS-сервера

Если вы хотите использовать определённый DNS-сервер, можно указать его при вызове команды:

nslookup google.com 8.8.8.8

Здесь мы указали явный выбор DNS-сервера Google (8.8.8.8).

Практика: Найдём IP для учебного сайта

Попробуйте выполнить команду:

nslookup linux.org

Посмотрите на результаты — это IP-адреса, которые связаны с сервером сайта.


3. Команда dig

dig (Domain Information Groper) — это более продвинутая утилита для работы с DNS. Она предоставляет подробную информацию о DNS-запросах и ответах.

Основной синтаксис:

dig [домен] [опции]

Пример запроса:

dig google.com

Вывод (основные моменты):

;; Question section:
;google.com.			IN	A

;; ANSWER SECTION:
google.com.		300	IN	A	142.250.74.206

;; Query time: 35 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu Oct 19 10:00:00 UTC 2023
;; MSG SIZE  rcvd: 68

Разделы вывода:

  • ANSWER SECTION: IP-адреса, связанные с доменом.
  • Query time: время обработки запроса.
  • SERVER: DNS-сервер, который обработал запрос.

4. Основные DNS-записи и как их проверять

A-запись (IPv4)

dig linux.org A

Результат покажет IPv4-адреса для домена.

AAAA-запись (IPv6)

dig linux.org AAAA

Вывод будет содержать IPv6-адреса. Полезно, если вы работаете с современными сетями.

MX-запись (почтовые серверы)

dig linux.org MX

Используется для проверки, какие серверы обрабатывают почтовую корреспонденцию для домена.


5. Углублённая практика: dig vs nslookup

Теперь вы можете сравнить результаты двух команд:

  1. Выполните:

        nslookup linux.org
    
  2. Затем:

        dig linux.org
    

Обратите внимание, что dig предоставляет больше деталей. Например, вы видите время выполнения запроса, а также информацию о сервере, который ответил на запрос.


6. Проверка DNS-сервера Google

Задача:

  1. Используя nslookup, проверьте, работает ли публичный DNS-сервер Google:

    nslookup github.com 8.8.8.8
    
  2. Теперь сделайте то же самое с помощью dig:

    dig @8.8.8.8 github.com
    
  3. Проверьте, есть ли у сайта IPv6-адреса:

    dig github.com AAAA
    

7. Типичные ошибки и особенности

Работа с DNS почти всегда упирается в следующие проблемы:

  1. Неправильные настройки DNS-сервера: Если ваш DNS-сервер не работает или настроен неверно, вы можете не получить ответа. Проверьте доступность сервера, указав его IP вручную при использовании nslookup или dig.
  2. Кэширование DNS: Иногда изменения в DNS могут занять время из-за кэширования. Например, вы можете увидеть устаревшую информацию, если DNS-запись недавно изменилась.

  3. Недоступность DNS-сервера: Если вы видите ошибку вроде connection timed out; no servers could be reached, это может означать, что сервер недоступен или заблокирован.

  4. Альтернативные команды: nslookup не всегда доступен в минимальных установках Linux, в то время как dig чаще входит в стандартный набор инструментов.

Реальное применение знаний: зачем это знать?

  • Диагностика проблем с DNS. Вы сможете быстро понять, почему браузер "не видит" сайт.
  • Конфигурация серверов. Когда вы настраиваете сервер в облаке, вам нужно проверять, правильно ли настроены DNS-записи.
  • Интернет-безопасность. Умение работать с DNS-записями помогает анализировать фишинговые сайты.
  • На собеседованиях. Знание команд dig и nslookup — это один из стандартных вопросов для специалистов по Linux/DevOps.

Теперь вы вооружены всем необходимым для глубокого понимания и диагностики DNS. Запускайте терминал, пробуйте команды, и пусть никакой "DNS-сбой" не сможет вас застигнуть врасплох.

1
Задача
Docker SELF, 4 уровень, 2 лекция
Недоступна
Проверка доступности сайта с помощью nslookup
Проверка доступности сайта с помощью nslookup
1
Задача
Docker SELF, 4 уровень, 2 лекция
Недоступна
Определение почтовых серверов домена
Определение почтовых серверов домена
1
Задача
Docker SELF, 4 уровень, 2 лекция
Недоступна
Проверка IPv6-адресов для сайта
Проверка IPv6-адресов для сайта
Комментарии (1)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Slevin Уровень 5
25 сентября 2025
- понятная лекция - адекватные задачи - решения принимаются валидатором без детского сада. Отлично.