
В этом руководстве мы рассмотрим процесс установки и настройки DNS-сервера Bind на операционных системах CentOS и Ubuntu.
BIND (Berkeley Internet Name Domain) — это популярный и широко используемый DNS-сервер, который позволяет управлять доменными именами и обеспечивать разрешение имен на IP-адреса. Созданный как часть проекта Berkeley UNIX, BIND обеспечивает возможность создавать зоны, настраивать серверы имен (NS) и предоставляет поддержку как для первичных, так и для вторичных серверов.
BIND используется для создания авторитетных и кэширующих серверов DNS. Он поддерживает основные протоколы DNS и предоставляет множество функций, таких как создание записей A, AAAA, CNAME, MX, TXT и SOA. Наиболее распространённые операционные системы, включая Linux и Unix, поддерживают BIND как DNS-сервер по умолчанию, и он широко используется для управления зонами доменов в сети интернет.
1. Предварительные требования
Перед началом установки убедитесь, что ваш сервер настроен и обновлен. Как это сделать, мы писали в другом посте.
Рекомендуется наличие базовых знаний командной строки и прав администратора на сервере.
2. Установка Bind
На CentOS:
sudo yum update -y
sudo yum install -y bind bind-utils
Команда yum
установит Bind и его утилиты для управления DNS-записями.
На Ubuntu:
sudo apt update
sudo apt install -y bind9 bind9utils
Команда apt
установит Bind9, который поддерживает актуальные возможности DNS-сервера.
Так же его можно скачать в виде пакета с официального сайта. https://www.isc.org/download/
3. Настройка конфигурационных файлов
Основные файлы для конфигурации Bind расположены по следующим путям:
- CentOS:
/etc/named.conf
- Ubuntu:
/etc/bind/named.conf
Настройка основного конфигурационного файла
Откройте файл конфигурации:
sudo nano /etc/named.conf # Для CentOS
sudo nano /etc/bind/named.conf # Для Ubuntu
Добавьте базовые параметры зоны для вашего домена, например:
zone "example.com" IN {
type master;
file "/etc/bind/zones/db.example.com";
};
4. Настройка зоны
Создайте каталог для хранения файлов зон и настройте файл зоны для вашего домена.
sudo mkdir -p /etc/bind/zones
sudo nano /etc/bind/zones/db.example.com
Пример записи в файле db.example.com
:
$TTL 86400
@ IN SOA ns1.example.com. admin.example.com. (
2024111101 ; Serial
3600 ; Refresh (1 час)
600 ; Retry (10 минут)
1209600 ; Expire (2 недели)
86400 ) ; Minimum TTL (1 день)
; DNS-серверы
@ IN NS ns1.example.com.
@ IN NS ns2.example.com.
; A-записи
ns1 IN A 192.168.1.1
ns2 IN A 192.168.1.2
www IN A 192.168.1.3
Пояснение записи SOA
SOA (Start of Authority) — это начальная запись зоны в файле DNS-сервера, которая содержит важные сведения о зоне и её настройках. Она является обязательной для каждой зоны (доменной зоны) и указывает серверу правила работы с записями зоны, а также некоторые административные данные.
Запись SOA (Start of Authority) определяет основные параметры зоны:
- Primary Name Server — основной сервер имён.
- Hostmaster Email — email администратора зоны.
- Serial Number — номер версии зоны для обновлений.
- Refresh, Retry, Expire, Minimum TTL — параметры обновлений.
5. Разрешение DNS через маршрутизатор
Если ваш сервер работает за NAT или маршрутизатором, необходимо настроить переадресацию порта 53 для DNS-запросов. Обычно это udp порт.
6. Проверка конфигурации
Проверьте конфигурацию на ошибки командой:
sudo named-checkconf
7. Запуск и управление сервисом
CentOS:
sudo systemctl start named
sudo systemctl enable named
Ubuntu:
sudo systemctl start bind9
sudo systemctl enable bind9
Проверьте, что сервис работает корректно:
sudo systemctl status named # для CentOS
sudo systemctl status bind9 # для Ubuntu
8. Тестирование DNS-сервера
Используйте dig
для проверки конфигурации:
dig @localhost example.com
Заключение
Настройка Bind позволяет создать собственный DNS-сервер, который будет обслуживать ваши домены и управлять зонами. Это важный навык для администрирования серверов и обеспечения стабильной работы сетевой инфраструктуры.