Администрирование DNS

Для администрирования службы доменных имен (DNS) в домене Эллес с помощью утилиты samba-tool используется группа подкоманд dns.

Она позволяет выполнять следующие группы операций:

Работа с DNS-записями

Группа подкоманд samba-tool dns позволяет создавать, изменять и удалять DNS-записи.

Добавление DNS-записи

Для добавления DNS-записи используйте следующий формат вызова:

samba-tool dns add <server> <zone> <name> <A|AAAA|PTR|CNAME|NS|MX|SRV|TXT> <data>

Параметры

Параметры вызова:

  • <server> — IP-адрес или доменное имя DNS-сервера;

  • <zone> — имя зоны DNS;

  • <name> — имя DNS-записи;

  • <A|AAAA|PTR|CNAME|NS|MX|SRV|TXT> <data> — тип добавляемой записи с требуемыми данными:

    • A <ip4_address_string> — IPv4-адрес (ip4_address_string) для связи с именем домена;

    • AAAA <ip6_address_string> — IPv6-адрес (ip6_address_string) для связи с именем домена;

    • PTR <fqdn_string> — полное доменное имя (fqdn_string) для связи с IP-адресом домена;

    • CNAME <fqdn_string> — полное доменное имя (fqdn_string) для создания псевдонима;

    • NS <fqdn_string> — полное доменное имя (fqdn_string) сервера, выполняющего роль сервера имен;

    • MX <fqdn_string> <preference> — полное доменное имя (fqdn_string) и приоритет (preference) почтового сервера;

    • SRV <fqdn_string> <port> <priority> <weight> — полное доменное имя (fqdn_string) сервера, на котором доступна определенная служба, порт для доступа к службе (port), приоритет (priority) и относительный вес (weight) на случай, если существует несколько записей с одинаковым приоритетом;

      Параметры в блоке данных отделяются друг от друга пробелами.
    • TXT "'sting1' 'string2' …​" — информация о домене в текстовом формате (string).

Примеры

Пример добавления записи типа A:

samba-tool dns add dc1.samdom.example.com samdom.example.com demo A 192.168.0.55 -U Administrator
Password for [Administrator@SAMDOM.EXAMPLE.COM]:
Record added successfully

Пример добавления записи типа PTR для обратной зоны 192.168.0.0/24:

samba-tool dns add dc1.samdom.example.com 0.168.192.in-addr.arpa 55 PTR demo.samdom.example.com -U Administrator
Password for [Administrator@SAMDOM.EXAMPLE.COM]:
Record added successfully

Пример добавления записи типа PTR для обратной зоны 192.168.0.0/16:

samba-tool dns add dc1.samdom.example.com 168.192.in-addr.arpa 55.0 PTR demo.samdom.example.com -U Administrator
Password for [Administrator@SAMDOM.EXAMPLE.COM]:
Record added successfully

Пример добавления записи типа SRV для _tcp.samdom.example.com:

samba-tool dns add dc1.samdom.example.com samdom.example.com _demo._tcp SRV 'demo.samdom.example.com 8080 0 100' -U Administrator
Password for [Administrator@SAMDOM.EXAMPLE.COM]:
Record added successfully

Пример добавления записи типа NS для зоны samdom.example.com:

samba-tool dns add dc1.samdom.example.com samdom.example.com @ NS newdc.sambdom.example.com -U Administrator
Password for [Administrator@SAMDOM.EXAMPLE.COM]:
Record added successfully

Удаление DNS-записи

Для удаления DNS-записи используется следующий формат вызова:

samba-tool dns delete <server> <zone> <name> <A|AAAA|PTR|CNAME|NS|MX|SRV|TXT> <data>

Параметры

Параметры вызова:

  • <server> — IP-адрес или доменное имя DNS-сервера;

  • <zone> — имя зоны DNS;

  • <name> — имя DNS-записи;

  • <A|AAAA|PTR|CNAME|NS|MX|SRV|TXT> <data> — тип удаляемой записи с ее данными.

Примеры

Пример удаления записи типа A:

samba-tool dns delete dc1.samdom.example.com samdom.example.com demo A 192.168.0.55 -U Administrator
Password for [Administrator@SAMDOM.EXAMPLE.COM]:
Record deleted successfully

Пример удаления записи типа NS для зоны samdom.example.com:

samba-tool dns delete dc1.samdom.example.com samdom.example.com @ NS olddc.samdom.example.com -U Administrator
Password for [Administrator@SAMDOM.EXAMPLE.COM]:
Record deleted successfully

Изменение DNS-записи

Для изменения DNS-записи используйте следующий формат вызова:

samba-tool dns update <server> <zone> <name> <A|AAAA|PTR|CNAME|NS|MX|SOA|SRV|TXT> <olddata> <newdata>

Параметры

Параметры вызова:

  • <server> — IP-адрес или доменное имя DNS-сервера;

  • <zone> — имя зоны DNS;

  • <name> — имя DNS-записи;

  • <A|AAAA|PTR|CNAME|NS|MX|SRV|TXT> <data> — тип изменяемой записи с ее данными;

    Дополнительно для изменения доступен тип записи SOA (Start of Authority), являющейся начальной записью зоны, со следующими данными (порядок пунктов в списке ниже соответствует порядку следования параметров в строке):

    • <nameserver> — доменное имя DNS-сервера, на котором хранятся другие DNS-записи;

    • <email> — адрес электронной почты администратора зоны (вместо @ указывается точка, то есть для адреса hostmaster@example.com указывается значение hostmaster.example.com);

    • <serial> — серийный номер файла зоны, представляющий собой номер версии записи SOA; увеличивается при каждом изменении значения записи и служит сигналом другим DNS-серверам о том, что требуется обновить данные;

    • <refresh> — интервал для запроса изменений;

    • <retry> — интервал для повторных попыток запроса данных в случае неудачи;

    • <expire> — время, в течение которого обновленные данные могут быть применены на других DNS-серверах;

    • <minimum-ttl> — время хранения в кэше информации о зоне.

    Параметры в блоке данных отделяются друг от друга пробелами.
  • <olddata> — текущее значение записи;

  • <newdata> — новое значение для записи.

Примеры

Пример изменения записи типа A:

samba-tool dns update dc1.samdom.example.com samdom.example.com demo A 192.168.0.55 192.168.0.66 -U Administrator
Password for [Administrator@SAMDOM.EXAMPLE.COM]:
Record updated succefully

Пример изменения адреса электронной почты администратора в записи типа SOA:

samba-tool dns update dc1.samdom.example.com samdom.example.com @ SOA \
"dc1.samdom.example.com hostmaster.example.com 63 900 600 86400 3600" \
"dc1.samdom.example.com admin.example.com 64 900 600 86400 3600" -U Administrator
Password for [Administrator@SAMDOM.EXAMPLE.COM]:
Record updated successfully

Очистка DNS-записей

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

samba-tool dns cleanup <server> <dnshostname>
Во многих случаях данная подкоманда только устанавливает значение true в атрибуте dNSTombstoned DNS-записей. После этого при запросе таких записей информация о них возвращаться не будет, но в базе данных могут оставаться соответствующие им записи-заполнители.

Параметры

Параметры вызова:

  • <server> — IP-адрес или доменное имя DNS-сервера;

  • <dnshostname> — имя DNS-узла.

Примеры

Пример очистки DNS-записей:

samba-tool dns cleanup dc1 dc1.samdom.test.site -U Administrator

Получение информации о DNS-записях

Для получения информации о DNS-записях используется следующий формат вызова:

samba-tool dns query <server> <zone> <name> <A|AAAA|PTR|CNAME|NS|MX|SOA|SRV|TXT|ALL> [options]

Параметры

Параметры вызова:

  • <server> — IP-адрес или доменное имя DNS-сервера;

  • <zone> — имя зоны DNS;

  • <name> — имя DNS-записи;

  • <A|AAAA|PTR|CNAME|NS|MX|SRV|TXT> — тип записи.

Дополнительные параметры:

  • --authority — поиск по записям полномочного DNS-сервера (значение по умолчанию);

  • --cache — поиск по записям в кэше;

  • --glue — поиск по связующим (glue) записям;

  • --root — поиск по корневым ссылкам DNS-сервера;

  • --additional — вывод дополнительных данных о записях (метаданные, флаги и т. п.);

  • --no-children — исключение дочерних узлов при перечислении записей;

  • --only-children — вывод только дочерних записей (записей, расположенных ниже указанного узла).

Примеры

Пример получения всех DNS-записей для указанной зоны:

samba-tool dns query dc1.samdom.example.com 0.168.192.in-addr.arpa @ ALL -U Administrator

Работа с зонами DNS

Группа подкоманд samba-tool dns позволяет создавать, изменять и удалять зоны DNS.

Создание зоны DNS

Для создания зоны DNS используется следующий формат вызова:

samba-tool dns zonecreate <server> <zone> [options]

Параметры

Параметры вызова:

  • <server> — IP-адрес или доменное имя DNS-сервера;

  • <zone> — имя зоны DNS.

Дополнительные параметры:

  • --client-version — версия DNS-клиента; возможные значения: w2k, dotnet, longhorn; значение по умолчанию — longhorn;

  • --dns-directory-partition — область репликации данных для создаваемой зоны DNS; возможные значения:

Примеры

Пример создания обратной зоны /24:

samba-tool dns zonecreate dc1.samdom.example.com 0.168.192.in-addr.arpa -U Administrator
Password for [Administrator@SAMDOM.EXAMPLE.COM]:
Zone 0.168.192.in-addr.arpa created successfully

Пример создания обратной зоны /16:

samba-tool dns zonecreate dc1.samdom.example.com 168.192.in-addr.arpa -U Administrator
Password for [Administrator@SAMDOM.EXAMPLE.COM]:
Zone 168.192.in-addr.arpa created successfully

Созданная зона доступна сразу после выполнения команды. Перезапуск Эллес или BIND 9 не требуется.

Удаление зоны DNS

Для удаления существующей зоны DNS используется следующий формат вызова команда:

samba-tool dns zonedelete <server> <zone> [options]

Параметры

Параметры вызова:

  • <server> — IP-адрес или доменное имя DNS-сервера;

  • <zone> — имя зоны DNS.

Примеры

Пример удаления обратной зоны:

samba-tool dns zonedelete dc1.samdom.example.com 0.168.192.in-addr.arpa -U Administrator
Password for [Administrator@SAMDOM.EXAMPLE.COM]:
Zone 0.168.192.in-addr.arpa delete successfully

Получение информации о зоне DNS

Для получения информации о зоне DNS используется следующий формат вызова:

samba-tool dns zoneinfo <server> <zone> [options]

Параметры

Параметры вызовы:

  • <server> — IP-адрес или доменное имя DNS-сервера;

  • <zone> — имя зоны DNS.

Примеры

Пример получения информации об обратной зоне DNS:

samba-tool dns zoneinfo dc1.samdom.example.com 0.168.192.in-addr.arpa -U Administrator

Вывод подкоманды содержит подробные сведения об указанной зоне DNS.

Получение списка зон DNS

Для получения списка зон DNS, существующих на DNS-сервере с указанным IP-адресом или доменным именем, используется следующий формат вызова:

samba-tool dns zonelist <server> [options]

Параметры

Параметры вызова:

  • <server> — IP-адрес или доменное имя DNS-сервера.

Дополнительные параметры:

  • --client-version — версия DNS-клиента; возможные значения: w2k, dotnet, longhorn; значение по умолчанию — longhorn;

  • --primary — получение списка первичных зон DNS (по умолчанию);

  • --secondary — получение списка вторичных зон DNS;

  • --cache — получение списка зон DNS из кэша;

  • --auto — получение списка автоматически созданных зон DNS;

  • --forward — получение списка прямых зон DNS;

  • --reverse — получение списка обратных зон DNS;

  • --ds — получение списка зон DNS, интегрированных с AD;

  • --non-ds — получение списка зон DNS без интеграции с AD.

Примеры

Пример получения списка вторичных зон DNS:

samba-tool dns zonelist dc1.samdom.example.com --secondary -U Administrator

Изменение настроек очистки от устаревших записей для зоны DNS

Для изменения настроек очистки от устаревших записей для зоны DNS используется следующий формат вызова:

samba-tool dns zoneoptions <server> <zone> [options]

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

Параметры

Параметры вызова:

  • <server> — IP-адрес или доменное имя DNS-сервера;

  • <zone> — имя зоны DNS.

Дополнительные параметры:

  • --client-version — версия DNS-клиента; возможные значения: w2k, dotnet, longhorn; значение по умолчанию — longhorn;

  • --mark-old-records-static=YYYY-MM-DD — дата в формате YYYY-MM-DD; записи старше указанной даты становятся статическими (их временные метки становятся нулевыми);

  • --mark-records-static-regex=REGEXP — регулярное выражение; записи, соответствующие заданному регулярному выражению, становятся статическими;

  • --mark-records-dynamic-regex=REGEXP — регулярное выражение; записи, соответствующие заданному регулярному выражению, становятся динамическими;

  • -n|--dry-run — запуск в тестовом режиме для проверки корректности заданных параметров; фактически изменения не вносятся;

  • --aging=[0-1] — признак необходимости очистки от устаревших записей; возможные значения:

    • 0 — очистка отключена (по умолчанию);

    • 1 — очистка включена;

  • --norefreshinterval=[0-87600] — интервал блокировки для зоны с включенной очисткой в часах; если параметр равен 0, используется значение по умолчанию (168 часов, одна неделя);

  • --refreshinterval=[0-87600] — интервал обновления для зоны с включенной очисткой в часах; если параметр равен 0, используется значение по умолчанию (168 часов, одна неделя).

Примеры

Для исключения временной потери динамических записей при включении очистки может использоваться следующая последовательность шагов:

  1. Включение очистки с большим интервалом обновления:

    samba-tool dns zoneoptions dc1.samdom.example.com samdom.example.com --aging=1 --refreshinterval=306600

    В данном примере очистка включается таким образом, чтобы записи возрастом менее пяти лет не устаревали и не подпадали под очистку.

  2. После того как пройдет достаточное количество времени, чтобы все записи обновились, устанавливается стандартный интервал обновления — 7 дней:

    samba-tool dns zoneoptions dc1.samdom.example.com samdom.example.com --refreshinterval=168
Чтобы очистка работала, в файле smb.conf хотя бы на одном контроллере домена должен быть задан параметр dns zone scavenging = yes.

Получение информации о DNS-сервере и корневых серверах

Команда samba-tool позволяет получать информацию о DNS-сервере и корневых серверах.

Получение информации о DNS-сервере

Данная подкоманда предназначена для получения информации о DNS-серверах, работающих на базе ОС Windows Server.

При запросе информации о DNS-серверах на базе BIND 9 подкоманда возвращает значения по умолчанию, а не фактические значения. Поэтому использовать ее в этом случае некорректно.

В составе BIND 9 имеется встроенная утилита rndc. Для получения информации о DNS-сервере BIND 9 используйте команду rndc status.

Для получения информации о DNS-сервере используется следующий формат вызова:

samba-tool dns serverinfo <server> [options]

Подкоманда возвращает структуру DNS_RPC_SERVER_INFO, содержащую информацию о состоянии и конфигурации DNS-сервера, в формате, соответствующем версии DNS-клиента.

См. подробное описание структуры в документации Microsoft.

Параметры

Параметры вызова:

  • <server> — IP-адрес или доменное имя DNS-сервера.

Дополнительные параметры:

  • --client-version — версия DNS-клиента; возможные значения: w2k, dotnet, longhorn; значение по умолчанию — longhorn.

Примеры

Пример вызова:

samba-tool dns serverinfo win-dc.domain.example.com -U Administrator

Получение информации о корневых серверах DNS

Для получения информации о корневых серверах для DNS-сервера используется следующий формат вызова:

samba-tool dns roothints <server> [<name>] [options]

Параметры

Параметры вызова:

  • <server> — IP-адрес или доменное имя DNS-сервера.

Примеры

Пример вызова:

samba-tool dns roothints dc1.samdom.example.com -U Administrator

Работа с пользовательскими разделами каталога (custom application directory partitions)

Группа подкоманд samba-tool dns позволяет создавать и удалять пользовательские разделы каталога, просматривать список таких разделов на контроллере домена, получать подробную информацию об отдельном разделе, а также управлять областью репликации пользовательского раздела.

При выполнении операций с пользовательскими разделами каталога должны использоваться учетные данные пользователя, включенного в группу Enterprise Admins.

См. краткое описание функциональности и пример настройки пользовательского раздела для зоны DNS в «Настройка пользовательских разделов каталога».

Создание пользовательского раздела каталога

Формат вызова:

samba-tool dns createdirectorypartition <nc_fqdn> [server] [options]

Подкоманда создает пользовательский раздел каталога с именем, переданным в качестве первого аргумента, на локальном контроллере домена или указанном контроллере домена, если его имя или IP-адрес переданы в качестве второго аргумента.

По умолчанию созданный раздел существует только на том контроллере домена, для которого выполнялась операция, и не реплицируется на другие контроллеры домена в лесу. Чтобы репликация выполнялась на другой контроллер домена, он должен быть включен в область репликации раздела с помощью подкоманды samba-tool dns enlistdirectorypartition.

При создании нового пользовательского раздела на контролере домена Эллес, использующего в качестве DNS-сервера BIND 9, дополнительно выполняются: остановка сервиса bind9, обновление данных DNS и запуск сервиса bind9.

Параметры

Параметры вызова:

  • <nc_fqdn> — имя для создаваемого пользовательского раздела каталога;

    В качестве имени может использоваться произвольное имя в формате FQDN, которое может не являться логическим поддеревом домена.

  • [server] — IP-адрес, имя хоста или доменное имя сервера контроллера домена.

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

Примеры

Пример создания пользовательского раздела каталога на локальном контроллере домена:

samba-tool dns createdirectorypartition custompartition1.samdom.example.com -U Administrator
...
Partition has been created successfully

Пример создания пользовательского раздела каталога на указанном контроллере домена:

samba-tool dns createdirectorypartition custompartition2.samdom.example.com DC1 -U Administrator
...
Partition has been created successfully

Получение списка пользовательских разделов каталога

Формат вызова:

samba-tool dns enumdirectorypartitions [server] [options]

Подкоманда возвращает список пользовательских разделов на локальном контроллере домена или указанном контроллере домена, если его имя или IP-адрес переданы в качестве первого аргумента.

Для каждого раздела указывается, входит ли он в область репликации контроллера домена:

  • Enlisted — данные раздела реплицируются на контроллер домена;

  • Not-Enlisted — данные раздела не реплицируются на контроллер домена.

Параметры

Параметры вызова:

  • [server] — IP-адрес, имя хоста или доменное имя сервера контроллера домена.

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

Примеры

Пример получения списка пользовательских разделов на локальном контроллере домена:

samba-tool dns enumdirectorypartitions -U Administrator
...
Enumerated directory partition list:

	Directory partition count = 6
 custompartition3.samdom.example.com       Not-Enlisted
 custompartition2.samdom.example.com       Enlisted
 custompartition1.samdom.example.com       Enlisted
 ForestDnsZones.samdom.example.com         Enlisted Auto Forest
 DomainDnsZones.samdom.example.com         Enlisted Auto Domain
 samdom.example.com                        Enlisted Legacy

Получение информации о пользовательском разделе каталога

Формат вызова:

samba-tool dns directorypartitioninfo <nc_fqdn> [server] [options]

Подкоманда возвращает информацию о пользовательском разделе, имя которого передано в качестве первого аргумента, на локальном контроллере домена или указанном контроллере домена, если его имя или IP-адрес переданы в качестве второго аргумента.

Информация включает атрибуты:

  • DNS Root — самый верхний уровень доменного DNS-имени раздела;

  • Flags — флаги, управляющие поведением раздела; примеры значений:

    • 0x10 Enlisted — раздел включен в область репликации контроллера домена;

    • 0x0 Not-Enlisted — раздел не включен в область репликации контроллера домена;

  • State — текущее состояние раздела (значение 0 указывает, что раздел активен);

  • Zone count — количество зон DNS, связанных с разделом;

  • DP head — «головной» DN раздела в структуре каталога;

  • Crossref — ссылка на объект crossRef в контейнере CN=Partitions,CN=Configuration с метаданными раздела;

  • Replicas — количество контроллеров домена, на которые реплицируется раздел, и их DN.

Параметры

Параметры вызова:

  • <nc_fqdn> — имя пользовательского раздела каталога;

  • [server] — IP-адрес, имя хоста или доменное имя сервера контроллера домена.

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

Примеры

Пример получения списка информации о пользовательском разделе на локальном контроллере домена:

samba-tool dns directorypartitioninfo custompartition2.samdom.example.com -U Administrator
...
Directory partition info:

  DNS Root:   custompartition2.samdom.example.com
  Flags:      0x10 Enlisted
  State:      0
  Zone count: 1
  DP head:    DC=custompartition2,DC=samdom,DC=example,DC=com
  Crossref:   CN=46ed6e00-f9cd-4709-b99f-e695cd1705b8,CN=Partitions,CN=Configuration,DC=samdom,DC=example,DC=com
  Replicas:   2
    CN=NTDS Settings,CN=DС2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=samdom,DC=example,DC=com
    CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=samdom,DC=example,DC=com

Command completed successfully.

Включение контроллера домена в область репликации пользовательского раздела каталога

Формат вызова:

samba-tool dns enlistdirectorypartition <nc_fqdn> [server] [options]

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

Параметры

Параметры вызова:

  • <nc_fqdn> — имя пользовательского раздела каталога;

  • [server] — IP-адрес, имя хоста или доменное имя сервера контроллера домена.

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

Примеры

Пример включения контроллера домена в область репликации пользовательского раздела каталога:

samba-tool dns enlistdirectorypartition custompartition1.samdom.example.com DC1 -U Administrator
Partition has been enlisted successfully

Исключение контроллера домена из области репликации пользовательского раздела каталога

Формат вызова:

samba-tool dns directorypartition unenlist <nc_fqdn> [server] [options]

Подкоманда удаляет локальный контроллер домена или указанный контроллер домена, если его имя или IP-адрес переданы в качестве второго аргумента, из состава источников данных для репликации данных пользовательского раздела с именем, переданным в качестве первого аргумента.

Параметры

Параметры вызова:

  • <nc_fqdn> — имя пользовательского раздела каталога;

  • [server] — IP-адрес, имя хоста или доменное имя сервера контроллера домена.

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

Примеры

Пример исключения контроллера домена из области репликации пользовательского раздела каталога:

samba-tool dns unenlistdirectorypartition custompartition1.samdom.example.com DC1
Partition has been unenlisted successfully

Удаление пользовательского раздела каталога

Формат вызова:

samba-tool dns deletedirectorypartition <nc_fqdn> [server] [options]

Параметры

Параметры вызова:

  • <nc_fqdn> — имя пользовательского раздела каталога;

  • [server] — IP-адрес, имя хоста или доменное имя сервера контроллера домена.

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

Примеры

Пример удаления пользовательского раздела каталога:

samba-tool dns deletedirectorypartition custompartition1.samdom.example.com DC1
Partition has been deleted successfully