- 10 примеров использования команды dig для просмотра параметров DNS (DNS Lookup) в Linux
- Какой командой посмотреть настройки DNS?
- Установка и настройка DNS-сервера BIND в Linux
- Установка сервера bind
- Создание файла зоны DNS
- Настройка обратной зоны
- Настройка файла конфигурации bind
- Проверка файлов зоны и конфигурации
- Проверка обратной зоны
- Запуск и перезапуск сервера bind
- Тестирование сервера bind
- linux-notes.org
- Проверить DNS в Unix/Linux
- Проверить DNS в Linux
- Проверить DNS в Mac OS X
- Сменить DNS в Unix/Linux
- Поменять DNS в Mac OS X
- Добавить комментарий Отменить ответ
10 примеров использования команды dig для просмотра параметров DNS (DNS Lookup) в Linux
Итак, что такое dig?
dig (англ. слово «копать», а формально — сокращение от «domain information groper») — утилита (DNS-клиент), предоставляющая пользователю интерфейс командной строки для обращения к системе DNS. Позволяет задавать различные типы запросов и запрашивать произвольно указываемые сервера. Является аналогом утилиты nslookup.
Утилита dig входит в стандартный комплект DNS сервера BIND.
1. Простой вывод команды dig (для понимания вывода, без доп.параметров )
Когда вы задаете имя домена в команде dig по-умолчанию вы получаете A-запись домена (ip-адрес сайта (домена) который мы запрашивали) как показано на листинге ниже
В примере можно увидеть A-записи домена ya.ru в разделе ANSWER SECTION
Давайте рассмотрим разделы данного вывода подробней:
— HEADER (заголовок): показывает версию dig, глобальные опции используемые с командой и другую дополнительную информацию
— QUESTION SECTION (секция запроса): Показывает наш запрос, то бишь мы запросили показать A-запись (команда dig без параметров) для домена ya.ru
— ANSWER SECTION (секция ответа): Показывает ответ полученный от DNS, в нашем случае показывает A-запись для ya.ru
Последняя секция это статистика по запросу (служебная информация) — время выполнения запроса, имя DNS-сервера который запрашивался, когда был создан запрос и размер сообщения
Так же можно выполнить опрос конкретного DNS-сервера:
Результат вывода дополняется еще двумя секциями:
AUTHORITY SECTION: Показывает имена DNS-серверов обработавших наш запрос
ADDITIONAL SECTION: Показывает ip-адреса этих DNS-серверов (из секции AUTHORITY SECTION)
2. Вывод только секции ANSWER SECTION
В большинстве случаев требуется только ip адрес домена, то бишь вывод секции «ANSWER SECTION»
Для этого существуют следующие ключи:
-+nocomments — отключает линию комментариев
-+noauthority — отключает секцию «AUTHORITY SECTION»
-+noadditional – отключает секцию «ADDITIONAL SECTION»
-+nostats – отключает секцию статистики
-+noanswer – выключает секцию ответа (ANSWER SECTION)
Можно сделать проще, существует ключ +noall, который выключает все секции. Таким образом мы используем ключ +noall и добавляем ключ +answer, уменьшая длину команды
3. Запрос MX-записи
Для запроса MX-записи домена мы используем одноименный аргумент командной строки (MX)
Этот же запрос можно выполнить с ключом -t (тип)
4. Запрос NS-записи
По аналогии с предыдущим пунктом, используем аргумент NS
Вы также можете использовать ключ -t для указания типа запроса
5. Просмотр всех типов DNS-записей
Для этого используется ключ ANY
Также допустим ключ -t
6. Краткий вывод команды dig
Допустим чтобы просмотреть только ip-адрес, без лишней информации, используем опцию +short
Вы также можете вывести информацию по любому виду информации с ключем +short
Пример:
7. Просмотр информации об обратной зоне домена (PTR)
Для просмотра обратной зоны необходимо использовать ключ -х
Для примера, мы хотим узнать имя домена по айпи-адресу 77.88.21.3
Для вывода полной информации убираем ключ +short
8. Использование конкретного DNS-сервера для выполнения запроса
Для использования конкретного DNS-сервераиспользуется запись вида — @dnsserver, где dnsserver это или имя или ip-адрес DNS-сервера
Данный пример мы рассмотрели в п.1
9. Объемный запрос (запрос информации сразу о нескольких доменах)
Для запроса информации о нескольких доменах возможно использование текстовых файлов с перечислением доменов.
Создадим файл names.txt с именами доменов:
Далее используем ключ -f для чтения из файла:
Также можно комбинировать тип DNS записи c опцией -f:
Также возможно перечисление доменов непосредственно в командной строке. Для примера узнаем MX-запись для домена ya.ru и NS-запись для домена google.ru:
10. Изменение параметров по умолчанию для команды dig
Например вы хотите, чтобы утилита dig по умолчанию выводила только секцию ответа (ANSWER SECTION).
Для этого необходимо внести в файл .digrc необходимые ключи, в нашем случае +noall +answer:
Таким образом мы рассмотрели мизерную часть этой замечательной утилиты, для тех, кто хочет большего, добро пожаловать в man dig 😉
Источник
Какой командой посмотреть настройки DNS?
Всегда удивляло, что в галимой венде это делается одной командой ipconfig, которые выдает все- IP, шлюз, маску, DNS в Линуксе ее аналог ifconfig о DNS не сообщает ничего, как будто его нет (и про шлюз тоже) Как же это делается, есть ли такая команда?
Раньше обходился просмотром конфига /etc/resolv.conf
Но он показывает заданное значение, а интересно было бы узнать реальное значение DNS, которое, например, из-за сбоев, мало ли, может отличаться от заданного?
Так есть такая команда или нет?
Кстати, ее и смотрел, но не понял, как ей сказать, чтобы она показала dns настройки?
что такое dns настройки ?
Список серверов в /etc/resolv.conf ?
Вы сами то понимаете что вам нужно?
Но он показывает заданное значение, а интересно было бы узнать реальное значение DNS, которое, например, из-за сбоев, мало ли, может отличаться от заданного?
Каких еще сбоев? Там и указан адрес днс сервера, которым пользуеются все программы.
Так программы читают содержимое resolv.conf. В некоторых случаях (например, в некоторых вариантах настройки network-manager) он прописывает в resolv.conf localhost и одновременно поднимает dns-сервер dnsmasq, который уже сам настраивает.
Так программы читают содержимое resolv.conf.
В этом и проблема — хотелось, чтобы они не попугайничали, а определяли то, чем реально пользуется в работе, скажем, тот же bind.
— показал совершенно не то, что прописано в моем resolv.conf
ну так пропишите свой сервер в ресолв.конф. А уж в своем сервере укажите те сервера, которые вам нужны.
Всегда удивляло, что в галимой венде это делается одной командой ipconfig, которые выдает все- IP, шлюз, маску, DNS в Линуксе ее аналог ifconfig о DNS не сообщает ничего, как будто его нет (и про шлюз тоже)
Так философия разная. Одна задача — одна программа, но выполняющая ее хорошо.
Настройки интерфейсов? ifconfig
Таблица маршрутизации? route
Настрокий DNS? Так они прописываются в /etc/resolv.conf, там и смотри.
На самом деле ifconfig и route считаются устаревшими и рекомендуется использовать утилиту ip.
в галимой венде это делается одной командой ipconfig
это ты просто венду плохо знаешь, начиная с утилиты route и далее
Источник
Установка и настройка DNS-сервера BIND в Linux
BIND – наиболее распространенное open-source приложение, в котором реализованы протоколы DNS, предоставляющие возможность преобразования доменных имен в IP-адреса и наоборот.
Данная статья представляет собой руководство по быстрой настройке DNS-сервера в Linux при помощи BIND. Мы не будем подробно разбирать, что такое система DNS и как она работает, а сосредоточимся на примере настройки своей зоны и файла конфигурации для домена/узла с поддержкой сервисов www и электронной почты.
В нашем примере мы будем использовать следующие параметры:
IP-адрес, на котором будет установлен сервер имен: 172.31.0.122
имя домена/узла: itproffi.ru
авторитативные сервера имен для зоны itproffi.ru: ns1.itproffi.ru (172.31.1.10) и ns2. itproffi.ru (172.31.1.11)
службы www и электронной почты для itproffi.ru будут использовать адрес 172.31.1.10
Установка сервера bind
Установка bind очень проста – нужно воспользоваться менеджером пакетов. В Debian и Ubuntu выполните следующую команду:
В CentOS или Fedora:
Пакет dnsutils необязателен для запуска сервера bind, но для тестирования конфигурации мы будем пользоваться командой dig из этого пакета.
Создание файла зоны DNS
Дальнейшие примеры будут для Ubuntu/Debian, но также подходят и для Centos/RedHat, только директория с настройками зон в CentOS будет находиться в /etc/named/ , а основной файл конфигурации /etc/named.conf . Для начала нам потребуется создать новый файл зоны для домена itproffi.ru. Перейдите в директорию /etc/bind/ . создайте в ней поддиректорию zones/master/ и перейдите в нее, выполнив следующую последовательность команд:
Директория /etc/bind/zones/master будет содержать файл зоны для домена itproffi.ru. При желании можно использовать другую директорию. Файл зоны db.itproffi.ru будет содержать запись DNS, которая поможет серверу имен установить соответствие полного доменного имени IP-адресу. Создайте этот файл со следующим содержимым:
Рассмотрим ключевые строки этого файла:
- Запись SOA: авторитативный сервер имен для itproffi.ru – это ns1.itproffi.ru, адрес ответственного за зону DNS администратора – admin@itproffi.ru
- Записи NS: два сервера имен для зоны itproffi.ru – ns[1,2].itproffi.ru
- Запись MX: почтовый сервер для itproffi.ru. Число 10 означает уровень приоритета
- Записи A: A означает «адрес» (address). Другими словами, ns1 в зоне itproffi.ru будет иметь адрес 172.31.1.10
- Запись CNAME (Canonical Name – каноническое имя): привязывает одно доменное имя к другому (каноническому), например, устанавливает соответствие mail.itproffi.ru и itproffi.ru.
Настройка обратной зоны
На данном этапе DNS-сервер bind может выдать IP-адрес, связанный с узлом itproffi.ru. Теперь нам нужно научить наш сервер имен обратному процессу, то есть устанавливать соответствие имени IP-адресу. Для этого создадим еще один файл db.172.31.1 со следующим содержимым:
Запись PTR: DNS-запись, используемая для определения соответствия IP-адреса имени узла.
Настройка файла конфигурации bind
На данный момент у нас должно быть два файла:
Теперь требуется вставить имена обоих файлов зоны в файл конфигурации bind /etc/bind/named.conf.local . Для этого добавьте в файл следующие строки:
Последний момент перед проверкой конфигурации – внести в файл named.conf.options IP-адрес стабильного DNS-сервера. Он будет использоваться, если локальный DNS-сервер не будет знать ответ на запрос разрешения имени. Часто этот адрес предоставляется интернет-провайдером, но если вы поклонник Google, можно указать адрес 8.8.8.8 или 8.8.4.4.
Замените следующий блок текста в файле named.conf.options:
на блок текста с адресом стабильного DNS-сервера
Если вы планируйте что к вашему серверу будут подключаться другие компьютеры, то нужно разрешить в опциях внешние подключения. Для этого в основном файле конфигурации, в секции options добавьте или замените следующие правила
А лучше, для безопасности вместо any пропишите ваши сети с которых разрешено подключение
Если этого не сделать, то при попытке обращения к серверу с другого компьютера вы получите ошибку
Проверка файлов зоны и конфигурации
Прежде чем попытаться запустить сервер имен с новой зоной и конфигурацией, можно воспользоваться некоторыми инструментами, чтобы проверить, что конфигурация корректна и не содержит ошибок.
Для проверки файлов конфигурации выполните следующую команду:
С этой командой работает простое правило: отсутствие результата – это хороший результат. Если команда ничего не возвращает, значит ошибок в ваших файлах конфигурации не обнаружено.
Для проверки файлов зоны DNS можно воспользоваться командой named-checkzone:
Проверка обратной зоны
Запуск и перезапуск сервера bind
Теперь мы можем запускать сервер bind:
Если сервер уже был запущен, его можно перезапустить командой restart:
Для того что бы перечитать конфигурацию не перезапуская сервер, используйте команду
Тестирование сервера bind
Для тестирования новой конфигурации сервера имен bind нам пригодится команда dig из пакета dnsutils. Эту команду можно запустить на любом компьютере с сетевым доступом к вашему DNS-серверу, но лучше всего начать тестирование с локального узла. В рассматриваемом нами примере IP-адрес сервера имен 172.31.0.122. Сначала проверим прямое разрешение имени (получение IP-адреса по доменному имени):
dig @172.31.0.122 www.itproffi.ru
Теперь проверим обратную зону:
dig @172.31.0.122 -x 172.31.1.10
Если вы получили аналогичные результаты, то зона DNS настроена правильно. Вместо команды dig для тестирования можно также использовать команду nslookup.
nslookup 172.31.1.10 172.31.0.122
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
linux-notes.org
В данной теме, я буду добавлять полезный материал при работе с DNS-ами под некоторыми Unix/Linux ОС. Возможно, по началу данная статья не будет полной. Но со временем, как будет необходимость, желание и время — статья будет расширяться.
Проверить DNS в Unix/Linux
Иногда системные утилиты не одинаковые во всех Unix/Linux ОС. И все то что ты знаешь, возможно не будет работать на другой ОС. У меня так и случилось.
Проверить DNS в Linux
В Linux имеется nmcli утилита которая может показать ваши DNS:
В CentOS данную утилиту нужно установить, например вот так:
Запускаем службу так:
Проверить DNS в Mac OS X
В Мак ОС Х имеется встроенная утилита, под названием scutil, которая может показать ДНС-ы в системе.
Вывод будет приверно таким:
Сменить DNS в Unix/Linux
Иногда нужно и менять DNS на какие-то другие, по этому — покажу как можно это сделать.
Поменять DNS в Mac OS X
Для начала смотрим какие интерфейсы подключения имееются:
Например для Wi-Fi можно выполнить следующую команду:
Чтобы удалить все ДНС сервера с ОС, выполнить можно:
Как-то так. А на этой, у меня все, статья «Проверить DNS в Unix/Linux» завершена.
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Источник