Управление 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 "'string1' 'string2' …​" — информация о домене в текстовом формате (string); каждая строка должна быть заключена в одинарные кавычки.

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

  • --allow-existing — не вызывает ошибку, если запись уже существует.

Примеры

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

samba-tool dns add dc1.elles.inno.tech elles.inno.tech dc1 A 10.10.10.10
...
Record added successfully

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

samba-tool dns add dc1.elles.inno.tech elles.inno.tech dc2 A 10.10.10.11
...
Record added successfully

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

samba-tool dns add dc1.elles.inno.tech 10.10.10.in-addr.arpa 10 PTR dc1.elles.inno.tech
...
Record added successfully

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

samba-tool dns add dc1.elles.inno.tech 20.10.10.in-addr.arpa 20 PTR mail.elles.inno.tech
...
Record added successfully

Пример добавления записи типа SRV для службы LDAP:

samba-tool dns add dc1.elles.inno.tech elles.inno.tech _ldap._tcp SRV 'dc1.elles.inno.tech 389 0 100'
...
Record added successfully

Пример добавления записи типа SRV для службы Kerberos:

samba-tool dns add dc1.elles.inno.tech elles.inno.tech _kerberos._tcp SRV 'dc1.elles.inno.tech 88 0 100'
...
Record added successfully

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

samba-tool dns add dc1.elles.inno.tech elles.inno.tech @ MX 'mail.elles.inno.tech 10'
...
Record added successfully

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

samba-tool dns add dc1.elles.inno.tech elles.inno.tech www CNAME web.elles.inno.tech
...
Record added successfully

Пример добавления записи типа NS для зоны elles.inno.tech:

samba-tool dns add dc1.elles.inno.tech elles.inno.tech @ NS dc2.elles.inno.tech
...
Record added successfully

Пример добавления TXT-записи с SPF:

samba-tool dns add dc1.elles.inno.tech elles.inno.tech @ TXT '"v=spf1 ip4:10.10.10.10 ip4:10.10.20.20 -all"'
...
Record added successfully

Пример добавления записи, если она уже существует (без ошибки):

samba-tool dns add dc1.elles.inno.tech elles.inno.tech dc1 A 10.10.10.10 --allow-existing
...
Record already exists, not adding

Удаление 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.elles.inno.tech elles.inno.tech dc1 A 10.10.10.10
...
Record deleted successfully

Пример удаления записи типа SRV для службы LDAP:

samba-tool dns delete dc1.elles.inno.tech elles.inno.tech _ldap._tcp SRV 'dc1.elles.inno.tech 389 0 100'
...
Record deleted successfully

Пример удаления записи типа NS для зоны elles.inno.tech:

samba-tool dns delete dc1.elles.inno.tech elles.inno.tech @ NS dc2.elles.inno.tech
...
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|SOA|SRV|TXT> <data> — тип изменяемой записи с ее данными;

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

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

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

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

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

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

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

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

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

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

Примеры

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

samba-tool dns update dc1.elles.inno.tech elles.inno.tech dc1 A 10.10.10.10 10.10.10.12
...
Record updated successfully

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

samba-tool dns update dc1.elles.inno.tech elles.inno.tech @ SOA \
"dc1.elles.inno.tech hostmaster.elles.inno.tech 63 900 600 86400 3600" \
"dc1.elles.inno.tech admin.elles.inno.tech 64 900 600 86400 3600"
...
Record updated successfully

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

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

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

Параметры

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

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

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

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

  • -v|--verbose — вывод подробной информации о процессе;

  • -q|--quiet — подавление вывода, кроме ошибок.

Примеры

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

samba-tool dns cleanup dc1.elles.inno.tech dc1.elles.inno.tech

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

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

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

Параметры

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

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

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

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

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

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

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

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

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

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

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

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

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

Примеры

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

samba-tool dns query dc1.elles.inno.tech elles.inno.tech @ ALL
...
Name=, Records=7, Children=0
    A: 10.10.10.10 (flags=1, serial=12345, ttl=900)
    A: 10.10.10.11 (flags=1, serial=12345, ttl=900)
    MX: mail.elles.inno.tech (10) (flags=1, serial=12345, ttl=3600)
    NS: dc1.elles.inno.tech (flags=1, serial=12345, ttl=3600)
    NS: dc2.elles.inno.tech (flags=1, serial=12345, ttl=3600)
    TXT: "v=spf1 ip4:10.10.10.10 ip4:10.10.20.20 -all" (flags=1, serial=12345, ttl=3600)
    SOA: serial=64, refresh=900, retry=600, expire=86400, minttl=3600, ns=dc1.elles.inno.tech, email=admin.elles.inno.tech (flags=1, serial=12345, ttl=3600)
...

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

samba-tool dns query dc1.elles.inno.tech 10.10.10.in-addr.arpa 10 PTR
...
Name=10, Records=1, Children=0
    PTR: dc1.elles.inno.tech (flags=1, serial=12345, ttl=900)

Пример получения SRV-записей для службы LDAP:

samba-tool dns query dc1.elles.inno.tech elles.inno.tech _ldap._tcp SRV
...
Name=_ldap._tcp, Records=1, Children=0
    SRV: dc1.elles.inno.tech (389, 0, 100) (flags=1, serial=12345, ttl=900)

Пример получения TXT-записи:

samba-tool dns query dc1.elles.inno.tech elles.inno.tech @ TXT
...
Name=@, Records=1, Children=0
    TXT: "v=spf1 ip4:10.10.10.10 ip4:10.10.20.20 -all" (flags=1, serial=12345, ttl=3600)

Обновлено: