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

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

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

При выполнении операций с помощью группы подкоманд dns рекомендуется указывать набор ключей -H (URI LDAP-сервера) и --use-kerberos=required.

В этом случае для успешного выполнения подкоманды:

  • либо пользователь должен работать на сервере под доменной учетной записью;

  • либо предварительно требуется запросить билет Kerberos с помощью стандартной команды kinit.

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

Команда samba-tool позволяет создавать, изменять и удалять 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 используется следующий формат вызова:

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

Параметры

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

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

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

Дополнительно с помощью параметра --client-version может быть указана версия DNS-клиента. Возможные значения: w2k, dotnet, longhorn. Значение по умолчанию — longhorn.

Примеры

Пример создания обратной зоны /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

Созданная зона доступна сразу после выполнения команды. Перезапуск Inno Samba или 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 zoneoptions dc1.samdom.example.com samdom.example.com --refreshinterval=168
Чтобы очистка работала, в файле smb.conf хотя бы на одном контроллере домена должен быть задан параметр dns zone scavenging = yes.

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

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

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

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

samba-tool dns serverinfo <server> [options]

Параметры

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

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

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

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

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

Примеры

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

samba-tool dns serverinfo dc1.samdom.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