ГлавнаяОперационные системыLinuxРасширенное руководство по использованию nslookup в Linux

Расширенное руководство по использованию nslookup в Linux

Как сетевой администратор, вы обнаружите, что команда nslookup— один из самых важных инструментов. С помощью nslookup вы можете проверять записи DNS для устранения проблем с вашим DNS-сервером или определенной записью DNS. В этой статье мы подробно рассмотрим nslookup и покажем несколько практических примеров его использования.

Что такое nslookup?

Nslookup означает «поиск сервера имен». Инструмент командной строки nslookup используется для запроса к системе доменных имен (DNS) для получения сопоставления доменного имени или IP-адреса или других записей DNS. Э

Что такое nslookup?

мент, с помощью которого вы можете получить дополнительную информацию о записи DNS.

Зачем использовать nslookup?

Команда nslookup — очень мощный инструмент DNS-запросов. Его можно использовать для устранения неполадок DNS или просто для получения информации о записи DNS. Например, вы можете использовать nslookup, чтобы узнать IP-адрес веб-сайта или узнать DNS-записи домена.

С учетом сказанного, давайте подробнее рассмотрим, как установить и использовать nslookup.

Установка nslookup в Linux

В большинстве дистрибутивов Linux nslookup включен в пакет bind-utils.

В Debian или Ubuntu вы можете использовать подходящий менеджер пакетов :

sudo apt install dnsutils-y

В Centos/RHEL/Fedora вы можете использовать

Зачем использовать nslookup?

>sudo yum install bind-utils -y

В ArchLinux:

pacman -Sy dnsutils

Выполнение простого запроса

Общий синтаксис команды nslookup следующий:

nslookup <domain-name><options>

<domain-name>— это доменное имя, которое вы хотите запросить, а <options>— любые параметры, которые вы хотите использовать. Эти параметры управляют поведением nslookup. В этом уроке вы узнаете больше о вариантах. А пока

Установка nslookup в Linux

/p>

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

Например, выполните следующую команду, чтобы запросить записи DNS для доменного имени google.com:

nslookup google.com

Эта команда возвращает все записи DNS для указанного доменного имени.

Понимание результатов

Когда вы запускаете команду nslookup без указания каких-либо параметров, она по умолчанию возвращает большой объем информации. Давайте подробнее рассмотрим, что означает этот вывод.

Nslookup: понимание вывода

Первое, что вы увидите, это serverВыполнение простого запроса использует nslookup. По умолчанию nslookup использует DNS-сервер, настроенный в вашей системе. В большинстве случаев это будет DNS-сервер вашего интернет-провайдера.

В данном случае это сервер «127.0.0.53», который является IP-адресом локального хоста. В этом руководстве nslookup запускается на том же компьютере, на котором размещен мой DNS-сервер. Если у вас нет собственного DNS-сервера, вы увидите IP-адрес DNS-сервера вашего интернет-провайдера.

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

Адрес сервера Nslookup

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

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

Под строкой Non-authoritative answerвы увидите записи D

Понимание результатов

ени. В этом случае возвращаются две записи A. Эти записи A содержат IP-адреса доменного имени.

Вы также увидите, что возвращаются разные IP-адреса, поскольку Google настроил «балансировку нагрузки DNS». Когда вы запрашиваете DNS-серверы Google, вы каждый раз получаете другой IP-адрес, чтобы распределить нагрузку между их серверами и ускорить работу для всех.

Nslookup DNS-записи

Примечание. Если вы не получаете никаких результатов, возможно, вам потребуется очистите кеш DNS в вашей системе . Если у вас отредактировал ваш файл «/etc/hosts» , это также может исказить результаты nslookup.

Использование определенного DNS-сервера

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

Чтобы использовать определенный DNS-сервер с nslookup, вам необходимо указать имя домена, который вы хотите запросить, а затем DNS-сервер. Например, чтобы запросить записи DNS для superuser.com с помощью DNS-серверов Google (8.8.8.8), выполните следующую команду:

nslookup superuser.com 8.8.8.8

DNS-серверы Google — хороший выбор, поскольку они быстрые и надежные, но вы можете использовать любой DNS-сервер по вашему желанию.

На этот раз мы получили записи DNS с DNS-серверов Google — и четыре записи A вместо двух, поскольку superuser.com использует четыре разных DNS-сервера для обработки трафика.

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

Nslookup Укажите DNS-сервер

Указание типа записи

По умолчанию nslookup возвращает все DNS-записи A для домена. Но что, если вы хотите запросить только запись определенного типа?

Например, возможно, вы пытаетесь получить доступ к веб-сайту, но получаете сообщение об ошибке, сообщающее, что DNS-сервер не может найти запись A для домена. В этом случае вы можете использовать nslookup для запроса записи A и проверки, возвращает ли она правильный IP-адрес.

Чтобы запросить определенный тип записи DNS, используйте параметр -type. Он принимает один аргумент — тип записи, которую вы хотите запросить. Наиболее распространенные типы записей DNS:

  • A: Запись адреса – сопоставляет доменное имя с адресом IPv4.
  • AAAA: запись адреса IPv6 — сопоставляет доменное имя с адресом IPv6.
  • CNAME: каноническая запись имени: сопоставляет псевдоним с реальным доменным именем и полезна при запуске FPT или веб-сервер Nginx .
  • MX: запись почтового обмена: сопоставляет доменное имя с сервером электронной почты и помогает проверить правильность настройки электронной почты.
  • NS: запись сервера имен: сопоставляет доменное имя с DNS-сервером и указывает, какой DNS-сервер отвечает за домен и где найти записи DNS для этого домена.
  • TXT: текстовая запись – хранит текстовую информацию для домена, может использоваться для хранения таких вещей, как записи SPF, и гарантирует, что ваша электронная почта защищена от спама или фишинговых атак.

Для запроса определенного типа записи используйте следующий синтаксис:

nslookup <domain> <dns_server> set type=<record_type>Использование определенного DNS-сервера команду, чтобы запросить запись CNAMEдля superuser.com:

nslookup superuser.com -type=cname
Nslookup Укажите запись Cname

Чтобы запросить запись MXна сайте google.com, выполните следующую команду:

nslookup google.com -type=mx
Nslookup Укажите запись Mx

Аналогичным образом вы можете запросить любой другой тип записи DNS, который вам нужен – просто убедитесь, что используете правильный тип записи в команде.

Запрос всех типов записей DNS

Если вы хотите запросить все типы записей DNS для домена, вам нужно использовать опцию -type=any. Он возвращает все типы записей для домена, включая A, AAAA, CNAME, MX и т. д.

Эта опция может быть полезна, если вы хотите получить полное представление о DNS-записях домена.

Например, выполните следующую команду, чтобы запросить все записи DNS сайта google.com:

nslookup -type=any superuser.com

Как видно ниже, эта команда возвращает все записи DNS для google.com:

Nslookup указать все записи

Выполнение обратного поиска DNS

Помимо запроса DNS-серверов для получения информации о домене, вы также можете использовать nslookup для запроса DNS-серверов для получения информации об IP-адресе. Это называется обратным поиском DNS.

Предположим, у вас есть IP-адрес сервера и вы хотите найти имя хоста этого сервера . Обратный поиск DNS может помочь вам в этом.

Чтобы выполни

Указание типа записи

е команду nslookupи введите IP-адрес, который вы хотите найти.

Например, выполните следующую команду, чтобы выполнить обратный поиск DNS для IP-адреса «142.250.204.46»:

nslookup 142.250.204.46

Это вернет имя хоста сервера с IP-адресом 142.250.204.46.

Включение режима отладки

Продвинутые пользователи могут включить режим отладки в nslookup, чтобы получить дополнительную информацию о DNS-запросах. Этот режим полезен, если вы устраняете проблемы с DNS и хотите увидеть, что происходит за кулисами.

Чтобы включить режим отладки, используйте параметр -debug. Например, чтобы запросить запись A для google.comи включить режим отладки, выполните следующую команду:

nslookup -debug google.com
Режим отладки Nslookup 1

Эта команда возвращает много информации о DNS-запросе. Эта информация может быть полезна, если вы пытаетесь устранить проблемы с DNS.

Запись вывода в файл

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

Используйте следующий синтаксис, чтобы сохранить выходные данные nslookup в файл:

nslookup <domain> > /path/to/file

Например, чтобы запросить все записи DNS A для google.com и сохранить результат в файле с именем «google_dns_records.txt», выполните следующую команду. Символ >используется для перенаправления вывода команды в файл.

nslookup -debug google.com > google_dns_records.txt

Выполните команда ls -la ниже, чтобы убедиться, что файл журнала создан:

ls -la google_dns_records.txt

Как видно ниже, файл был успешно создан.

Файл журнала Nslookup

Запустите команда кота ниже, чтобы просмотреть содержимое файла.

cat google_dns_records.txt

Как видно ниже, файл журнала содержит все записи DNS для google.com.

Nslookup Просмотр файла журнала

Использование интерактивного режима

В этой статье мы использовали команду nslookup с различными параметрами для запроса DNS-серверов в неинтерактивном режиме, что позволяет указать все параметры в одной команде.

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

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

Чтобы войти в интерактивный режим, выполните приведенную ниже команду.

nslookup

Ваше приглашение изменится на >, как показано ниже. Это означает, что вы сейчас находитесь в интерактивном режиме.

Интерактивный режим Nslookup

Вы можете запускать все команды nslookup, которые мы рассмотрели в этом руководстве, без необходимости каждый раз вводить nslookup

Запрос всех типов записей DNS

" src="https://saintist.ru/wp-content/uploads/2024/05/nslookup-use-interactive-mode.png" alt="Nslookup использует интерактивный режим">

Чтобы выйти из интерактивного режима, выполните команду exit.

Nslookup Выход из интерактивного режима

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

nslookup или dig

И nslookup, и dig — отличные инструменты для запроса DNS-серверов. В целом оба инструмента дадут одинаковые результаты. Вы можете выполнить запрос, используя оба инструмента, и сравнить результаты. Это отличный способ перепроверить результаты вашего запроса.

Если вам нужно выбрать один инструмент вместо другого, рекомендуется использовать Выполнение обратного поиска DNSnd-linux/" title="использовать копать">использовать копать , поскольку nslookup является устаревшим. Впервые он был выпущен в начале 1980-х годов, и его разработчики практически отказались от него. Напротив, dig все еще активно развивается, поэтому в dig больше шансов найти новые функции и исправления ошибок, чем в nslookup.

Примечание : если вам увидев ошибку подключения «Нет маршрута к хосту», у нас есть исправления здесь .

Часто задаваемые вопросы

Является ли nslookup DNS?

Нет. nslookup — это инструмент сетевого администрирования для запроса системы доменных имен (DNS), для работы которого требуется работающий DNS-сервер. Однако nslookup также может использовать файл с именем «/etc/hosts» в качестве источника информации DNS.

Как проверить настройки DNS в Linux?

В файле «/etc/resolv.conf» хранятся ваши настройки DNS в Linux. Используйте команду cat, чтобы просмотреть содержимо

Включение режима отладки

on>

Я столкнулся с ошибкой «Невозможно найти имя сервера…» при использовании nslookup. Как это исправить?

Это известная ошибка nslookup. Обходной путь — использовать локальный DNS-сервер для выполнения запроса. Опустите параметр IP-адреса пользовательского DNS-сервера в команде как nslookup google.com, и все должно работать.

Изображение предоставлено: Unsplash . Все скриншоты Николаса Суана Нгуена.

Запись вывода в файл

Использование интерактивного режима

nslookup или dig

Часто задаваемые вопросы

Является ли nslookup DNS?

Как проверить настройки DNS в Linux?

Я столкнулся с ошибкой «Невозможно найти имя сервера…» при использовании nslookup. Как это исправить?

ПОХОЖИЕ СТАТЬИ

Популярные записи