Опубликован: 21.11.2006 | Уровень: специалист | Доступ: платный
Лекция 4:

DNS и доменные имена

Утилита dig

Программа dig использует обычную командную строку для формирования запросов о доменах DNS-серверам. Формат команды dig следующий:

dig [@server] domain [query-type] [query-class] [+query-option] [-dig-otion] [%comment]

Здесь server — необязательное имя DNS-сервера. По умолчанию в dig будет использоваться DNS-сервер, указанный в файле /etc/resolv.conf. Можно указать опцию server либо по имени хоста, либо через его IP-адрес. Если для опции server используется имя хоста, то для преобразования его в IP-адрес dig воспользуется DNS-сервером по умолчанию и будет его использовать далее для получения информации о домене.

Параметр query-type — тип исходной записи, который можно указать в запросе ( A, SOA, NS и MX ). Для получения всей информации о домене можно указать query-type any.

Параметр query-class — класс сетевой информации, который также можно указывать в запросе. По умолчанию этот параметр всегда будет IN для сети Internet.

Параметр +query-option используется для изменения значения параметра в пакете DNS или для изменения формата вывода результатов работы dig. Большинство этих параметров пересекаются с параметрами программы nslookup. В табл. 4.7 показаны параметры, которые можно использовать в запросе с dig.

Таблица 4.7. Параметры утилиты dig
Параметр Описание
[no]debug Включает/выключает режим отладки
[no]d2 Включает/выключает режим полной отладки
[no]recurse Использовать/не использовать рекурсивные цепи
retry=# Устанавливает число повторов запроса
time=# Устанавливает длину интервала ожидания
[no]ko Оставляет открытой опцию (реализует vc )
[no]vc Использовать/не использовать виртуальную цепь
[no]defname Использовать/не использовать домен по умолчанию
[no]search Использовать/не использовать список поиска
domain=NAME Устанавливает домен по умолчанию с именем NAME
[no]ignore Игнорировать/не игнорировать ошибки при усечении
[no]primary Использовать/не использовать главный сервер
[no]aaonly Флажок для авторитетного запроса
[no]cmd Отображать аргументы при анализе
[no]stats Вывод статистики по запросу
[no]Header Вывод основного заголовка
[no]header Вывод флагов заголовка
[no]ttlid Отображение TTL
[no]cl Вывод информации о классе
[no]qr Отображение исходящего запроса
[no]reply Вывод ответа
[no]ques Вывод поля вопроса
[no]answer Вывод поля ответа
[no]author Вывод поля полномочий
[no]addit Вывод поля дополнительной информации
pfdef Устанавливает вывод флагов по умолчанию
pfmin Устанавливает минимальный вывод флагов
pfset=# Устанавливает число выводимых флагов #
pfand=# Вывод # флагов поразрядно через операцию AND
pfor=# Вывод # флагов поразрядно через операцию OR

Параметр -dig-otion используется для задания других опций, влияющих на работу dig. В табл. 4.8 представлены опции, с помощью которых можно влиять на результаты работы dig.

Таблица 4.8. Параметры, влияющие на работу dig
Параметр Описание
-x Указывает инверсное преобразование адреса в нормальном написании
-f Считывает файл для дальнейшей пакетной обработки
-T Время в секундах до включения режима пакетной обработки
-p Номер используемого порта
-P После получения ответа выдать команду ping
-t Указывает тип запроса
-c Указывает класс запроса
-envsav Параметры dig должны быть сохранены для дальнейшего использования по умолчанию

Пример сеанса работы dig показан в листинге 4.7. Из него видно, что программа dig выдает практически ту же информацию, что и host, и nslookup, но выводит больше данных о том, откуда и каким образом были получены ответы.

1 [jessica@shadrach jessica)$ dig www.linux.org
2
3 ;<<>>DiG 8.1 <<>> www.linux.org
4 ;;res options: init recurs defnam dnsrch
5 ;;got answer:
6 ;;->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6
7 ;;flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
7 ;;QUERY SECTION:
8 ;; www.linux.org, type = A, class = IN
9
10 ;; ANSWER SECTION:
12 www.linux.org. 12H IN A 198.182.196.56
13
14 ;; AUTHORITY SECTION:
15 linux.org. 12H IN NS ns.invlogic.com.
16 linux.org. 12H IN NS ns0.aitcom.net.
17
18 ;; ADDITIONAL SECTION:
19 ns.invlogic.com. 12H IN A 205.134.175.254
20 ns0.aitcom.net. ld23h31m17s IN A 208.234.1.34
21
22 ;; Total query time: 335 msec
23 ;; FROM: shadrach to SERVER: default - 10.0.0.1
24 ;; WHEN: Sun Aug 22 15:45:45 1999
25 ;; MSG SIZE sent: 31 rcvd: 145
26
27 [jessica@shadrach jessica]$
Листинг 4.7. Пример работы утилиты dig

ОС Linux в качестве сервера DNS

Если имеется постоянное соединение с Internet, то, возможно, вы пожелаете содержать для своего домена собственный DNS-сервер. Это можно осуществить средствами ОС Linux. Кроме того, можно использовать сервер на базе ОС Linux как DNS-сервер в режиме кэширования. Таким образом можно добиться некоторого сокращения времени обработки DNS-запросов, так как локальный сервер на ОС Linux может поддерживать кэширование имен. Это позволяет использовать данные из кэша для ответа на последующие DNS-запросы (в рамках заданного TTL ).

Как уже упоминалось, популярный программный пакет системы DNS для UNIX систем — Berkeley Internet Name Domain (BIND), разработанный Internet Software Consortium, содержит также реализацию сервера DNS. Программа, реализующая функции сервера DNS называется named. В большинство версий ОС Linux программа named входит в качестве стандартного бинарного программного пакета. Текущая версия Red Hat 6.0 использует для установки named и сопутствующих конфигурационных файлов программный пакет bind-8.2-6.i386.rpm. Если у вас нет бинарного программного пакета или вы хотите использовать последнюю версию BIND, то можно получить ее исходный код из Internet Software Consortium по адресу ftp.isc.org. Текущая версия на момент написания книги была BIND 8.2.1. Для ее установки нужно иметь инсталлированный на сервере с ОС Linux компилятор GCC, с помощью которого затем можно установить новое программное обеспечение.

Valentin Diduk
Valentin Diduk
Украина, одесса, кпи, 2010
Евгений Олабин
Евгений Олабин
Беларусь, Гродно