Bindutils что это такое и как реализовать Beyond Linux From Scratch. 15. Сетевые утилиты. Утилиты BIND 9.8.1 P1

Bindutils что это такое и как реализовать Beyond Linux From Scratch. 15. Сетевые утилиты. Утилиты BIND 9.8.1 P1 Хостинг

Что такое BIND9?

BIND является наиболее широко используемым программным обеспечением сервера имен в Интернете. Он поддерживает ряд различных протоколов службы доменных имен, включая BIND4 (оригинальный Berkeley Internet Name Domain, версия 4), BIND8 (исторический преемник BIND4), а также службы DNS для IPv6 посредством двух отдельных реализаций: одна основана на демоне, а другая называется lwres (light-weight resolver).

BIND 9.16.33 — это текущая стабильная версия BIND, доступная для загрузки с дистрибутивов Debian.

Что такое DNS?

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

Запросы обрабатываются рекурсивными DNS-серверами на основе информации в их кэше в сочетании с данными рекурсивного сервера имен, указанными в файле /etc/resolv.conf. Система доменных имен является важнейшим элементом архитектуры Интернета, она необходима для объединения компьютеров в сеть, которую мы сегодня называем «Интернет».

Параметры конфигурации DNS можно редактировать с помощью инструмента «dig» или непосредственно редактируя файлы зон. Редактирование файлов зон не рекомендуется, поскольку ошибка может привести к недоступности веб-сайта, хотя такое случается крайне редко. Если вы не уверены в том, что делаете, то по возможности используйте инструмент dig. Некоторые пакеты BIND или Berkeley Internet Name Domain поставляются с «dnsutils» и «host», которые используются для запроса DNS-серверов и вывода результатов. В большинстве систем UNIX также имеется утилита nslookup, которую можно использовать для аналогичных целей. Однако «dig» обычно более надежен, чем оба этих инструмента.

Знакомимся с пакетом BIND Utilities

BIND Utilities — это не отдельный пакет, он является набором клиентских программ, которые входят в состав пакета BIND-9.8.1-P1. В пакете BIND находятся клиентские программы nslookup, dig и host. Если вы устанавливаете сервер BIND, то эти программы будут установлены автоматически. Этот раздел предназначен для тех пользователей, которым не нужен полноценный сервер BIND, но которым требуются приложения, используемые на клиентской стороне.

Известно, что пакет правильно собирается и работает на платформе LFS-7.0.

Информация о пакете

  • Загрузка (HTTP): http://gd.tuwien.ac.at/infosys/servers/isc/bind9/9.8.1-P1/bind-9.8.1-P1.tar.gz
  • Загрузка (FTP): ftp://ftp.isc.org/isc/bind9/9.8.1-P1/bind-9.8.1-P1.tar.gz
  • Контрольная сумма MD5: afa41f8203d50bedad65071f9b6f96d7
  • Размер загружаемого пакета: 8,1 MB
  • Оценочный размер требуемого дискового пространства: 109 MB
  • Оценочное время сборки: 0,5 SBU

Зависимости пакет BIND Utilities

Замечания для пользователей: http://wiki.linuxfromscratch.org/blfs/wiki/bind-utils

Установка пакета BIND Utilities

Установите пакет BIND Utilities с помощью следующих команд:

./configure —prefix=/usr &&
make -C lib/dns &&
make -C lib/isc &&
make -C lib/bind9 &&
make -C lib/isccfg &&
make -C lib/lwres &&
make -C bin/dig

Читайте также:  Все подробности ошибки 503: полное руководство

Для этой части пакета набор тестов отсутствует.

Теперь в роли пользователя root выполните:

make -C bin/dig install

Пояснение команд

make -C bin/dig: Эта команда собирает клиентские программы.

Описание пакета

Установленные программы: dig, host и nslookup

Установленные библиотеки: Нет

Установленные директории: Нет

Смотрите описания программ в разделе BIND-9.8.1-P1 главы 19.

Если вам понравилась статья, поделитесь ею с друзьями

Прежде чем мы начнём процесс установки DNS-сервера в Debian, вы должны спросить себя: «Действительно ли мне нужен DNS-сервер?».

Эта статья посвящена только IPv4, поэтому если вы заинтересованы в использовании DNS для IPv6, вам придётся проделать больше работы. Это руководство больше не поможет вам в таких вопросах, как добавление записей AAAA вручную и т.д.

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

В вашей системе уже должны быть настроены пользователь sudo и брандмауэр.

Как работает DNS?

Как вы видите, каждый домен или поддомен имеет свой собственный авторитетный сервер имен, и он отвечает за разрешение запросов только для этого поддомена. Поэтому DNS-сервер должен обладать всей информацией для ответа на любой запрос о конкретном домене. Поэтому если «example.com» не является основным доменом вашего локального DNS-сервера, то он не сможет разрешить запросы для www.example.com без перенаправления их вверх по течению.

По возможности настраивайте разные серверы имен для каждого поддомена, поскольку каждый из них требует отдельного обслуживания и административных процедур. Фактически, именно так DNS был разработан в самом начале, когда протоколы TCP/IP были выпущены в 1983 году до изобретения системы доменных имен. Это было сделано позже, после создания регистрационных служб InterNIC в 1992 году. Поддомены были введены в качестве расширения протокола DNS, и предназначались они только для административных целей.

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

Если это запрос Internet (IN), то он разрешает имена хостов, начиная с корня домена и работая вниз через каждый родительский домен, пока не достигнет авторитетных серверов для этой зоны. Это называется «начинать сверху», и обычно это делается первым, поскольку серверы имен, отвечающие за ДВУ (.com, .net и т.д.), имеют более высокую скорость соединения с большей пропускной способностью, чем серверы для доменов второго уровня, например, «example». При этом ваш локальный DNS-сервер учитывает, может ли он доверять ответу вышестоящих DNS-серверов. Если у вас нет доступа к файлу /etc/hosts или /etc/resolv.conf, а DNS-серверы, используемые вашим провайдером, кэшируют свои ответы, то есть шанс, что большая часть вашего сетевого трафика регистрируется. Таким образом, это может представлять угрозу безопасности, а если нет, то он будет напрямую запрашивать эти данные у рекурсивных серверов. Это называется «начинать снизу», поскольку серверы имен, отвечающие за домены второго уровня, имеют более низкую скорость соединения и меньшую пропускную способность, чем серверы, отвечающие за домены верхнего уровня.

Читайте также:  Как настроить виртуальный коммутатор Hyper-V

Весь этот процесс повторяется итеративно до тех пор, пока либо:

  • Неавторитетный сервер имен отвечает на запрос IN, сообщая, что он не знает запрашиваемой информации.
  • Сервер имен находит авторитетный, по его мнению, ответ на запрос и отправляет его обратно на клиентский компьютер.
  • Истекает количество итераций, предварительно настроенное в кэше имен сервера имен.

В этом руководстве мы расскажем вам, как настроить собственный внутренний DNS-сервер в Debian. Для этого мы используем программное обеспечение сервера имен BIND (BIND9).

Настройка BIND9

Теперь, когда BIND9 установлен на вашем сервере, пришло время приступить к его настройке.

Каталог конфигурации для BIND находится в каталоге /etc/bind. В этом каталоге есть несколько важных файлов:

Файл с именем ‘named.conf’ — это основной конфигурационный файл, который содержит множество комментариев для пояснения каждого раздела.

Следующий конфигурационный файл, который мы будем редактировать, находится по адресу /etc/bind/named.conf.local. Этот файл содержит всю вашу сетевую информацию о сервере и зонах, которые вы хотите разрешать локально (с серверов имен).

Файл named.conf.default-zones находится по адресу /etc/bind/named.conf.default-zones. Этот файл содержит информацию о сервере для зон, используемых BIND, когда ему явно не указано использовать другую зону. Другими словами, зоны, которые включены.

Итак, давайте начнем с базовой конфигурации.

Bindutils что это такое и как реализовать Beyond Linux From Scratch. 15. Сетевые утилиты. Утилиты BIND 9.8.1 P1

Настройка просушиваемых интерфейсов (IP-адресов)

По умолчанию BIND настроен на обслуживание всех доступных интересов, в предыдущих версиях только локального хоста.

Изменим это, отредактировав файл конфигурации named.conf.options

sudo nano /etc/bind/named.conf.options

Bindutils что это такое и как реализовать Beyond Linux From Scratch. 15. Сетевые утилиты. Утилиты BIND 9.8.1 P1

Установим прослушивание только конкретного сетевого интерфейса, задокументировав не нужные нам опции

Bindutils что это такое и как реализовать Beyond Linux From Scratch. 15. Сетевые утилиты. Утилиты BIND 9.8.1 P1

Сохраните и закройте файл, когда закончите. Затем перезапустите демон BIND9 командой ниже:

sudo service bind9 restart

Теперь мы разрешили BIND9 прослушивать только определенный интерфейс.

Создание зон прямого просмотра (домен -> IP)

Теперь мы отредактируем файл «/etc/bind/named.conf.local», чтобы объявить зону прямого поиска:

sudo nano /etc/bind/named.conf.local

Добавьте следующее в конец файла:

Тип «master». Это файл зоны ведущего домена. Параметр типа может быть установлен в «slave», если вы размещаете прямую или обратную зону только для авторизации и не хотите разрешать динамические обновления.

«/etc/bind/db.domaine.com» — это файл, содержащий записи для домена «test.local» с полным путем.

Теперь мы создадим файл для каждой зоны, объявленной выше:

sudo nano /etc/bind/db.test.local

Заполните файл следующим образом

В этом файле замените значения test.local на ваше доменное имя, за которым следует точка (.) Это необходимо, и это НЕ является ошибкой.

Не забудьте сохранить и закрыть файл после завершения работы.

Создание зон обратного поиска (IP -> домен)

Имя обратной зоны состоит из идентификатора сети (обратного), за которым следует «.in-addr.arpa».

Теперь отредактируем файл «/etc/bind/named.conf.local», чтобы объявить обратную зону:

Затем добавьте в файл следующее:

Затем создадим файл для объявленной выше зоны:

Затем заполним файл следующим образом:

Проверка синтаксиса конфигурации BIND

Теперь мы проверим синтаксис конфигурации в каждом файле на наличие ошибок. Для этого у нас будет запрос named со следующей командой:

Если ошибок нет, эта команда вернется в пустую оболочку:

Читайте также:  Nginx rewrite URL examples with and without redirect address

Применение настроек и проверка

Для применения настрок, введите команду

для проверки работы, введите команду nslookup со следующим синтаксисом

nslookup www.test.local 192.168.153.129

Bindutils что это такое и как реализовать Beyond Linux From Scratch. 15. Сетевые утилиты. Утилиты BIND 9.8.1 P1

Для обратной зоны (PTR) синтаксис аналогичный

nslookup 10.20.30.100 192.168.153.129

Bindutils что это такое и как реализовать Beyond Linux From Scratch. 15. Сетевые утилиты. Утилиты BIND 9.8.1 P1

Установка DNS сервера BIND 9

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

sudo apt-get update && sudo apt-get upgrade -y

Bindutils что это такое и как реализовать Beyond Linux From Scratch. 15. Сетевые утилиты. Утилиты BIND 9.8.1 P1

Флаг -y будет автоматически отвечать «да» на все подтверждения, которые могут быть заданы.

Команда apt-get update обновит списки пакетов сервера. При использовании команды apt-get upgrade все установленные на сервере пакеты будут обновлены.

Это займет некоторое время в зависимости от скорости вашего сетевого соединения и количества устанавливаемых обновлений.

Установка BIND9

Теперь, когда ваша система обновлена, вы можете приступить к установке DNS-сервера — BIND. Это будет сделано путем установки нескольких новых пакетов:

sudo apt install bind9 bind9utils bind9-doc

Bindutils что это такое и как реализовать Beyond Linux From Scratch. 15. Сетевые утилиты. Утилиты BIND 9.8.1 P1

Приведенная выше команда установит BIND9 и два вспомогательных пакета, которые содержат необходимые файлы для правильного функционирования DNS-сервера.

BIND9 — это программное обеспечение DNS-сервера.

bind9utils — это утилиты для управления конфигурацией BIND, а также название команды, используемой для управления BIND из командной строки.

bind9-doc — это пакет документации для программного обеспечения BIND.

Проверка установки сервера DNS

После завершения установки вы можете убедиться, что все пакеты были успешно установлены, выполнив следующую команду:

Приведенная выше команда покажет установленную версию BIND и его зависимостей.

Bindutils что это такое и как реализовать Beyond Linux From Scratch. 15. Сетевые утилиты. Утилиты BIND 9.8.1 P1

BIND запускается автоматически при установке. Вы можете проверить его состояние с помощью команды systemctl, как показано ниже:

sudo systemctl status bind9

Bindutils что это такое и как реализовать Beyond Linux From Scratch. 15. Сетевые утилиты. Утилиты BIND 9.8.1 P1

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

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

По умолчанию сервер BIND будет работать от имени пользователя и группы bind. Это делает его достаточно безопасным, поскольку любые изменения в файлах зон разрешены только для этого пользователя. По умолчанию сервер BIND слушает DNS-запросы на порту 53. При желании вы можете изменить этот порт в файле named.conf. Выполните следующую команду, чтобы узнать, какой порт прослушивает ваш сервер BIND:

Bindutils что это такое и как реализовать Beyond Linux From Scratch. 15. Сетевые утилиты. Утилиты BIND 9.8.1 P1

Приведенная выше команда показывает, что названный демон в настоящее время запущен и прослушивает порт 53 UDP. Используйте эту информацию, чтобы проверить, правильно ли вы используете номер порта.

Если ваш сервер не использует порт 53, вы можете исправить это, отредактировав /etc/bind/ named.conf.local и изменив номер порта на любой другой. Вы также можете изменить имя файла журнала сервера, отредактировав /etc/bind/ named.conf.default-zones и добавив утверждения логирования в директиве options.

Заключение

DNS — одна из самых важных служб на сервере. Все ее используют. Она нужна всем, и, в конце концов, вы же не хотите, чтобы ваши машины потерялись в сети, потому что не могут найти друг друга. Эта статья содержит руководство по настройке внутреннего DNS-сервера на Debian с использованием программного обеспечения сервера имён BIND (BIND9).

Оцените статью
Хостинги