10. Настройка DNS сервера¶
- Настройка DNS сервера
- Установка DNS сервиса в систему
- Управление DNS сервисом
- Создание DNS зоны
- Модификация DNS зоны
- Удаление DNS зоны
- Удаление MX записей для зоны
- Удаление A записи для зоны
- Создание DNS записи
- Модификация записи
- Удаление DNS записи
- Информация о DNS сервисе
- Информация о всех зонах
- Информация о зоне
- Информация о записи
- Пример создания зоны и записей в ней
- Проверка работоспособности DNS сервера
Настройка DNS сервера производится в несколько этапов:
Установка DNS сервиса в систему¶
Поддержка DNS сервиса появилась в пакете calculate-server 2.1.4.
В качестве сервера используется наиболее распространенный DNS сервер BIND.
Перед установкой убедитесь что BIND скомпилирован с поддержкой sdb-ldap.
Перед установкой, убедитесь что у вас в системе установлен сервис ldap, если он не был установлен, выполните установку командой:
cl-setup ldap
Установка dns сервиса выполняется командой
cl-setup dns
Установка сервиса с установкой доверительных сетей:
cl-setup -a dns
Примечание: Интервал времени жизни DNS записи - ttl, составляет 178600 секунд.
Управление DNS сервисом¶
Термины:- DNS зона - сегмент пространства доменных имен.
- master DNS зона - основная зона хранения записей.
- slave DNS зона - подчиненная основной зона хранения записей.
- Прямая DNS зона - зона хранения записей соответствия доменного имени ip адресу.
- Обратная DNS зона - зона хранения записей соответствия ip адреса доменному имени.
- Авторитативный сервер - сервер для хранения DNS зоны, записи которого считаются авторитетными для других DNS серверов.
- SOA запись - запись описания зоны.
- NS запись - доменное имя авторитативного сервера.
- A запись - соответствие доменного имени ip адресу.
- PTR запись - соответствие ip адреса доменному имени.
- CNAME запись - соответствие одного доменного имени другому.
- MX запись - соответствие доменного имени доменным именам почтовых серверов.
Создание DNS зоны¶
Для создания DNS зоны используется команда cl-dns-zoneadd.
Создание master DNS зоны
Cоздание зоны с авторитативным сервером в создаваемой зоне.
cl-dns-zoneadd -n <имя зоны> --server <имя авторитативного сервера> --ipserver <ip авторитативного сервера>
Cоздание зоны с авторитативным сервером в другой зоне.
cl-dns-zoneadd -n <имя зоны> --server <имя авторитативного сервера>
Примеры:
cl-dns-zoneadd -n test.ru --server test.ru --ipserver 10.0.0.34
- Будет создана прямая зона test.ru
- Если не существует, будет создана обратная зона 0.0.10.in-addr.arpa
- Будет создана в записи зоны test.ru, A запись - test.ru соответствует 10.0.0.34
- Будет создана в записи зоны test.ru NS запись - test.ru
- Если обратная зона 0.0.10.in-addr.arpa была создана, для нее будет создана NS запись - test.ru
cl-dns-zoneadd -n test.ru --server ns.test.ru --ipserver 10.0.0.34
- Будет создана прямая зона test.ru
- Если не существует, будет создана обратная зона 0.0.10.in-addr.arpa
- Будет создана в зоне test.ru, A запись - ns.test.ru соответствует 10.0.0.34
- Будет создана в записи зоны test.ru NS запись - ns.test.ru
- Если обратная зона 0.0.10.in-addr.arpa была создана, для нее будет создана NS запись - test.ru
- В обратной зоне 0.0.10.in-addr.arpa будет создана PTR запись - 10.0.0.34 соответствует ns.test.ru, если такая запись не существует.
cl-dns-zoneadd -n 10.0.10.0/24 --server test.ru* Будет создана обратная зона для сети 10.0.10.0/24 - 10.0.10.in-addr.arpa * Будет создана в записи зоны 10.0.10.in-addr.arpa NS запись - test.ru
Создание slave DNS зоны
Создание DNS зоны.
cl-dns-zoneadd -t slave -n <имя зоны> --servers <ip серверов хранения master зоны для этой зоны>Примеры:
cl-dns-zoneadd -t slave -n slave.ru --servers 10.0.0.3,10.0.10.5
- Будет создана подчиненная прямая зона slave.ru, данные для которой будут получены из основной зоны slave.ru находящейся на DNS серверах с адресами 10.0.0.3, 10.0.10.5
cl-dns-zoneadd -t slave -n 10.0.0.0/24 --servers 10.0.0.3* Будет создана подчиненная обратная зона для сети 10.0.0.0/24 - 0.0.10.in-addr.arpa, данные для которой будут получены из основной зоны 0.0.10.in-addr.arpa находящейся на DNS сервере с адресом 10.0.0.3
Модификация DNS зоны¶
Для модификации DNS зоны используется команда cl-dns-zonemod.
Модификация параметров зоны возможна только для master зоны.
cl-dns-zonemod -n <имя зоны или сеть> <параметры>
имя зоны - модификация прямой зоны
сеть - модификация обратной зоны
Параметры модификации зоны:
- --server - изменение доменного имени главного авторитативного сервера зоны
- --ip - изменение или добавление в случае отсутствия, ip адреса для зоны (модификация или добавление A записи)
- --mx - замена или добавление в случае отсутствия, MX записей для зоны (модификация или добавление доменных имен почтовых серверов)
- --mxmod - замена одного доменного имени почтового сервера на другой в MX записи для зоны (модификация доменного имени почтового сервера)
- -- email - изменение почтового адреса администратора зоны (по умолчанию root@имя_зоны)
- --servers - изменение списка всех авторитативных серверов зоны (NS записи зоны)
- --refresh - интервал времени после которого будет обновлена зона в секундах или число + (M - минуты, H - часы, D - дни, W - недели).
По умолчанию 8H - 8 часов. - --update - интервал времени после неудачного обновления зоны после которого будет сделано новое обновление зоны.
По умолчанию 2H - 2 часа. - --expiry - интервал времени после которого данные зоны устареют на вторичных DNS серверах в случае невозможности соединения с главным DNS сервером.
По умолчанию 2W - 2 недели. - --minimum - интервал времени хранения данных неудачных запросов для этой зоны.
По умолчанию 2H - 2 часа.
Примеры:
cl-dns-zonemod -n test.ru --email admin@test.ru
Модификация почтового адреса администратора зоны
cl-dns-zonemod -n test.ru --refresh 10H
Модификация интервала времени обновления зоны (10 часов)
Удаление DNS зоны¶
Для удаления DNS зоны используется команда cl-dns-zonedel.
cl-dns-zonedel -n <имя зоны или сеть>
имя зоны - удаление прямой зоны
сеть - удаление обратной зоны
Примеры:
cl-dns-zonedel -n test.ru
Будет удалена прямая зона test.ru
сl-dns-zonedel -n 10.0.0.0/24
Будет удалена обратная зона 0.0.10.in-addr.arpa
Удаление MX записей для зоны¶
Пример.
cl-dns-zonedel --mx -n test.ru
Будут удалены MX записи для зоны test.ru (доменные имена почтовых серверов для зоны)
Удаление A записи для зоны¶
Пример.
cl-dns-zonedel --ip -n test.ru
Будет удалена A запись для зоны test.ru (ip зоны)
Создание DNS записи¶
Для создания DNS записи используется команда cl-dns-recadd.
Для создания записи необходимо создание master зоны в которую будет добавлена эта запись.
Для A записи (host.test.ru --> 10.0.0.4 ) необходимо создание master прямой зоны test.ru.
Для PTR записи (10.0.0.4 --> host.test.ru) необходимо создание master обратной зоны 0.0.10.in-addr.arpa
Cоздание A записи
Примеры создания записей:
Создание A записи и PTR записи. Сначала должны быть созданы прямая и обратная зоны, test.ru и 0.0.10.in-addr.arpa.cl-dns-recadd --host host.test.ru --ip 10.0.0.66
- Будет создана запись в прямой зоне test.ru, host.test.ru соответствует 10.0.0.66.
- Будет создана запись в обратной зоне 0.0.10.in-addr.arpa, 10.0.0.66 соответствует host.test.ru
Создание только A записи. Сначала должна быть создана прямая зона test.ru.
cl-dns-recadd --autoptr off --host host.test.ru --ip 10.0.0.66
- Будет создана запись в прямой зоне test.ru, host.test.ru соответствует 10.0.0.66.
Создание A записи, MX записи и PTR записи
Пример создания A записи, MX записи и PTR записи. Сначала должны быть созданы прямая и обратная зоны, test.ru и 0.0.10.in-addr.arpa.
cl-dns-recadd --mx mail1.test.ru,mail2.test.ru --host host2.test.ru --ip 10.0.0.69
- Будет создана запись в прямой зоне test.ru, host2.test.ru соответствует 10.0.0.69.
- Будет создана MX запись в прямой зоне test.ru, host2.test.ru соответствует двум почтовым серверам mail1.test.ru (приоритет 10), mail2.test.ru (приоритет 20)
- Будет создана запись в обратной зоне 0.0.10.in-addr.arpa, 10.0.0.69 соответствует host2.test.ru
Создание A записи и MX записи
Пример создания A записи и MX записи. Сначала должна быть создана прямая зона test.ru.cl-dns-recadd --autoptr off --mx mail1.test.ru,mail2.test.ru --host host2.test.ru --ip 10.0.0.69
- Будет создана запись в прямой зоне test.ru, host2.test.ru соответствует 10.0.0.69.
- Будет создана MX запись в прямой зоне test.ru, host2.test.ru соответствует двум почтовым серверам mail1.test.ru (приоритет 10), mail2.test.ru (приоритет 20)
Создание PTR записи
Пример создания PTR записи. Сначала должна быть создана обратная зона 0.0.10.in-addr.arpa.cl-dns-recadd -t ptr --ip 10.0.0.67 --host host.test.ru
- Будет создана запись в обратной зоне 0.0.10.in-addr.arpa, 10.0.0.67 соответствует host.test.ru
Cоздание CNAME записи
Пример создания CNAME записи. Сначала должна быть создана прямая зона test.ru.cl-dns-recadd -t cname --host host.test.ru --cname calculate.ru
- Будет создана запись в прямой зоне test.ru, host.test.ru соответствует calculate.ru
Модификация записи¶
Для модификации DNS записи используется команда cl-dns-recmod.
Модификация A записи
Изменение доменного имени A записи и PTR записи
Пример.
cl-dns-recmod --host newname.test.ru oldname.test.ru
или
cl-dns-recmod --host newname.test.ru 10.0.0.5
Изменяет доменное имя oldname.test.ru на newname.test.ru
Исходные записи:
A запись, oldname.test.ru соответствует 10.0.0.5
PTR запись, 10.0.0.5 соответствует oldname.test.ru
Записи после модификации:
A запись, newname.test.ru соответствует 10.0.0.5
PTR запись, 10.0.0.5 соответствует newname.test.ru
Изменение ip A записи и PTR записи
Пример:
cl-dns-recmod --ip 10.0.0.6 10.0.0.5
или
cl-dns-recmod --ip 10.0.0.6 oldname.test.ru
Изменяет ip для доменного имени oldname.test.ru
Исходные записи:
A запись oldname.test.ru соответствует 10.0.0.5
PTR запись 10.0.0.5 соответствует oldname.test.ru
Записи после модификации:
A запись oldname.test.ru соответствует 10.0.0.6
PTR запись 10.0.0.6 соответствует oldname.test.ru
Изменение доменного имени A записи
Пример:
cl-dns-recmod --automod off --host newname.test.ru oldname.test.ru
или
cl-dns-recmod --automod off --host newname.test.ru 10.0.0.5
Изменяет доменное имя oldname.test.ru на newname.test.ru
Исходная запись:
A запись, oldname.test.ru соответствует 10.0.0.5
Запись после модификации:
A запись, newname.test.ru соответствует 10.0.0.5
Изменение ip A записи
Пример:
cl-dns-recmod --automod off --ip 10.0.0.6 10.0.0.5
или
cl-dns-recmod --ip 10.0.0.6 oldname.test.ru
Изменяет ip на 10.0.0.6 для доменного имени oldname.test.ru
Исходная запись:
A запись oldname.test.ru соответствует 10.0.0.5
Запись после модификации:
A запись oldname.test.ru соответствует 10.0.0.6
Модификация PTR записи
Изменение доменного имени PTR записи и A записи
Пример:
cl-dns-recmod -t ptr --host newname.test.ru oldname.test.ru
или
cl-dns-recmod -t ptr --host newname.test.ru 10.0.0.5
Изменяет доменное имя oldname.test.ru на newname.test.ru
Исходные записи:
PTR запись 10.0.0.5 соответствует oldname.test.ru
A запись oldname.test.ru соответствует 10.0.0.5
Записи после модификации:
PTR запись 10.0.0.5 соответствует newname.test.ru
A запись newname.test.ru соответствует 10.0.0.5
Изменение ip PTR записи и A записи
Пример:
cl-dns-recmod -t ptr --ip 10.0.0.6 10.0.0.5
или
cl-dns-recmod --ip 10.0.0.6 oldname.test.ru
Изменяет ip для доменного имени oldname.test.ru
Исходные записи:
PTR запись 10.0.0.5 соответствует oldname.test.ru
A запись oldname.test.ru соответствует 10.0.0.5
Записи после модификации:
PTR запись 10.0.0.6 соответствует oldname.test.ru
A запись oldname.test.ru соответствует 10.0.0.6
Изменение доменного имени PTR записи
Пример:
cl-dns-recmod -t ptr --automod off --host newname.test.ru oldname.test.ru
или
cl-dns-recmod -t ptr --automod off --host newname.test.ru 10.0.0.5
Изменяет доменное имя oldname.test.ru на newname.test.ru
Исходная запись:
PTR запись 10.0.0.5 соответствует oldname.test.ru
Запись после модификации:
PTR запись 10.0.0.5 соответствует newname.test.ru
Изменение ip PTR записи
Пример:
cl-dns-recmod -t ptr --automod off --ip 10.0.0.6 10.0.0.5
или
cl-dns-recmod -t ptr --ip 10.0.0.6 oldname.test.ru
Изменяет ip на 10.0.0.6 для доменного имени oldname.test.ru
Исходная запись:
PTR запись 10.0.0.5 соответствует oldname.test.ru
Запись после модификации:
PTR запись 10.0.0.6 соответствует oldname.test.ru
Модификация CNAME записи
Пример 1:
cl-dns-recmod --cname calculate.ru cn.test.ru
Изменяет CNAME запись.
Исходная запись:
CNAME запись cn.test.ru соответствует acoola.ru
Запись после модификации:
CNAME запись cn.test.ru соответствует calculate.ru
Пример 2:
cl-dns-recmod -t cname --host cname.test.ru cn.test.ru
Изменяет CNAME запись.
Исходная запись:
CNAME запись cn.test.ru соответствует calculate.ru
Запись после модификации:
CNAME запись cname.test.ru соответствует calculate.ru
Модификация или создание MX записи
Пример 1:
cl-dns-recmod --mx mail1.test.ru,mail2.test.ru test.test.ru
Заменяет а в случае отсутствия добавляет MX записи в A запись test.test.ru.
Исходная запись:
A запись test.test.ru - MX запись mail.test.ru (приоритет 10)
Запись после модификации:
A запись test.test.ru - MX запись mail1.test.ru (приоритет 10), MX запись mail2.test.ru (приоритет 20)
Пример 2:
cl-dns-recmod --mxmod mail2.test.ru,mailnew.test.ru test.test.ru
Изменяет MX запись.
Исходная запись:
A запись test.test.ru - MX запись mail1.test.ru (приоритет 10), MX запись mail2.test.ru (приоритет 20)
Запись после модификации:
A запись test.test.ru - MX запись mail1.test.ru (приоритет 10), MX запись mailnew.test.ru (приоритет 20)
Удаление DNS записи¶
Для удаления DNS записи используется команда cl-dns-recdel.
Удаление A или СNAME записи
Пример:
cl-dns-recdel --host test.test.ru
Будет удалена A или CNAME запись test.test.ru
Удаление PTR записи
Пример:
cl-dns-recdel --ip 10.0.0.20
Будет удалена PTR запись 20.0.0.10.in-addr.arpa (10.0.0.20 соответствует test.test.ru)
Удаление MX записи из A записи
Пример:
cl-dns-recdel --mx --host test.test.ru
Будет удалены все MX записи из A записи test.test.ru
Информация о DNS сервисе¶
Для получения информации о записях и зонах DNS сервиса используется команда cl-info.
Информация о всех зонах¶
cl-info -z dns
Информация о зоне¶
cl-info -Z <имя_зоны или сеть> dns
Примеры:
cl-info -Z 10.0.0.0/24 dns
Информация о обратной зоне 0.0.10.in-addr.arpa (сеть 10.0.0.0/24)
cl-info -Z test.ru dns
Информация о прямой зоне test.ru
Информация о записи¶
cl-info -r <имя_записи или ip> dns
Примеры:
cl-info -r 10.0.0.5 dns
Информация о записи в обратной зоне 5.0.0.10.in-addr.arpa (ip 10.0.0.5)
cl-info -r test.test.ru dns
Информация о записи в прямой зоне test.test.ru
Пример создания зоны и записей в ней¶
Необходимо создать зону test.ru а так-же доменные имена:- test.ru - ip 10.0.0.1 - WEB сервер, DNS сервер.
- www.test.ru - ip 10.0.0.1 - WEB сервер (CNAME запись, тот же сервер что и test.ru)
- ftp.test.ru - ip 10.0.0.5, FTP сервер
- user1.test.ru - 10.0.0.100, компьютер пользователя
Для этого выполняем следующие команды после установки сервиса DNS:
- Создаем зону test.ru с A записью (test.ru --> 10.0.0.1) и обратной зоной для сети 10.0.0.0/24
cl-dns-zoneadd -n test.ru --server test.ru --ipserver 10.0.0.1
- Cоздаем CNAME запись (www.test.ru --> test.ru)
cl-dns-recadd -t cname --host www.test.ru --cname test.ru
- Создаем A и PTR запись для FTP сервера
cl-dns-recadd --host ftp.test.ru --ip 10.0.0.5
- Создаем A и PTR запись для компьютера пользователя
cl-dns-recadd --host user1.test.ru --ip 10.0.0.100
Проверка работоспособности DNS сервера¶
Для проверки работоспособности DNS сервера используйте утилиты nslookup или host.
После того как вы создали DNS зону и добавили в нее записи, нужно посмотреть существующие записи в зоне с помощью команды:
cl-info -Z имя_зоны dns
Пример:
Ранее была создана зона test.ru и записи в ней.
Выполняем:
cl-info -Z domain.ru dns
Результат:
Information about master DNS zone domain.ru +----------------------------+----------------+ | Field | Value | +----------------------------+----------------+ | Zone name | domain.ru | | Master autoritative server | domain.ru | | NS record | domain.ru. | | A record | 10.0.0.5 | | Email administrator | root@domain.ru | | Serial number | 3 | | Refresh | 8H | | Update | 2H | | Expiry | 2W | | Minimum | 2H | +----------------------------+----------------+ (10 rows) Information about A records in master DNS zone domain.ru +---------------------+-----------+ | Domain | ip | +---------------------+-----------+ | localhost.domain.ru | 127.0.0.1 | | calculate.domain.ru | 10.0.0.54 | +---------------------+-----------+ (2 rows)
Используя любую из cуществующих А записей проверьте работоспособность DNS cервера с помощью команд:
nslookup имя_A_записи ip_DNS_сервера
или
host имя_A_записи ip_DNS_сервера
Пример:
ip адрес проверяемого DNS сервера 10.0.0.5 информация о зоне domain.ru приведена в предыдущем примере.
Выполняем проверку при помощи nslookup:
nslookup calculate.domain.ru 10.0.0.5
Результат при нормальной работе сервиса DNS:
Server: 10.0.0.5 Address: 10.0.0.5#53 Name: calculate.domain.ru Address: 10.0.0.54
Выполняем проверку при помощи host:
host calculate.domain.ru 10.0.0.5
Результат при нормальной работе сервиса DNS:
Using domain server: Name: 10.0.0.5 Address: 10.0.0.5#53 Aliases: calculate.domain.ru has address 10.0.0.54