10. Настройка 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:

  1. Создаем зону 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
    
  2. Cоздаем CNAME запись (www.test.ru --> test.ru)
    cl-dns-recadd -t cname --host www.test.ru --cname test.ru
    
  3. Создаем A и PTR запись для FTP сервера
    cl-dns-recadd --host ftp.test.ru --ip 10.0.0.5
    
  4. Создаем 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

Спасибо!