Управление зонами 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; возможные значения:-
domain— домен (по умолчанию); -
forest— лес доменов; -
имя пользовательского раздела каталога в формате FQDN.
-
-
--zone-type— тип зоны; возможные значения:primary(по умолчанию),stub; числовые эквиваленты1и3также допустимы; -
--allow-update— тип динамических обновлений для первичных зон; возможные значения:off,none,unsecure,nonsecure,secure,0,1,2; по умолчанию —secure; -
--master-servers— список мастер-серверов для зон-заглушек, разделенных запятыми (например,10.10.10.10,10.10.10.11); -
--reverse— флаг создания обратной зоны; если имя зоны заканчивается на.in-addr.arpa, этот флаг обязателен.
Примеры
Пример создания прямой зоны в доменном разделе каталога:
samba-tool dns zonecreate dc1.elles.inno.tech elles.inno.tech
...
Zone elles.inno.tech created successfully
Пример создания обратной зоны /24 для подсети 10.10.10.0/24:
samba-tool dns zonecreate dc1.elles.inno.tech 10.10.10.in-addr.arpa --reverse
...
Zone 10.10.10.in-addr.arpa created successfully
Пример создания обратной зоны /24 для подсети 10.10.20.0/24 в лесном разделе каталога:
samba-tool dns zonecreate dc1.elles.inno.tech 20.10.10.in-addr.arpa --reverse --dns-directory-partition=forest
...
Zone 20.10.10.in-addr.arpa created successfully
Пример создания пользовательской зоны в отдельном разделе каталога:
samba-tool dns zonecreate dc1.elles.inno.tech api.elles.inno.tech --dns-directory-partition=dc=elles-dns,dc=inno,dc=tech
...
Zone api.elles.inno.tech created successfully
Пример создания зоны-заглушки (stub) с указанием мастер-серверов:
samba-tool dns zonecreate dc1.elles.inno.tech stub.elles.inno.tech --zone-type=stub --master-servers=10.10.10.10,10.10.10.11
...
Zone stub.elles.inno.tech created successfully
Созданная зона доступна сразу после выполнения команды. Перезапуск «Эллес» или BIND 9 не требуется.
Перемещение зоны DNS между разделами каталога
Для изменения раздела каталога, в котором размещается зона DNS, используется следующий формат вызова:
samba-tool dns zonechangenc <server> <zone> <nc_fqdn> [options]
Параметры
Параметры вызова:
-
<server>— IP-адрес или доменное имя DNS-сервера; -
<zone>— имя переносимой зоны DNS; -
<nc_fqdn>— имя раздела каталога, в который необходимо перенести зону DNS; может бытьdomain,forestили FQDN пользовательского раздела.
Примеры
Пример переноса зоны из доменного раздела в пользовательский раздел каталога:
samba-tool dns zonechangenc dc1.elles.inno.tech api.elles.inno.tech dc=elles-dns,dc=inno,dc=tech
...
Zone api.elles.inno.tech has been moved to a new directory partition dc=elles-dns,dc=inno,dc=tech
Пример переноса обратной зоны в лесной раздел каталога:
samba-tool dns zonechangenc dc1.elles.inno.tech 20.10.10.in-addr.arpa forest
...
Zone 20.10.10.in-addr.arpa has been moved to a new directory partition forest
Удаление зоны DNS
Для удаления существующей зоны DNS используется следующий формат вызова команда:
samba-tool dns zonedelete <server> <zone> [options]
Параметры
Параметры вызова:
-
<server>— IP-адрес или доменное имя DNS-сервера; -
<zone>— имя зоны DNS.
Примеры
Пример удаления обратной зоны /24:
samba-tool dns zonedelete dc1.elles.inno.tech 10.10.10.in-addr.arpa
...
Zone 10.10.10.in-addr.arpa deleted successfully
Пример удаления прямой зоны:
samba-tool dns zonedelete dc1.elles.inno.tech api.elles.inno.tech
...
Zone api.elles.inno.tech deleted successfully
Получение информации о зоне DNS
Для получения информации о зоне DNS используется следующий формат вызова:
samba-tool dns zoneinfo <server> <zone> [options]
Параметры
Параметры вызова:
-
<server>— IP-адрес или доменное имя DNS-сервера; -
<zone>— имя зоны DNS.
Дополнительные параметры:
-
--client-version— версия DNS-клиента; возможные значения:w2k,dotnet,longhorn; значение по умолчанию —longhorn; -
--guid— включает в вывод GUID зоны из Active Directory; -
--json— выводит результат в формате JSON вместо текстового представления.
Примеры
Пример получения информации о прямой зоне:
samba-tool dns zoneinfo dc1.elles.inno.tech elles.inno.tech
...
pszZoneName : elles.inno.tech
dwZoneType : DNS_ZONE_TYPE_PRIMARY
fReverse : FALSE
fAllowUpdate : DNS_ZONE_UPDATE_SECURE
fPaused : FALSE
fShutdown : FALSE
fAutoCreated : FALSE
fUseDatabase : TRUE
pszDataFile : None
aipMasters : 10.10.10.10
fSecureSecondaries : DNS_ZONE_SECSECURE_NS_ONLY
fNotifyLevel : DNS_ZONE_NOTIFY_ALL_SECONDARIES
aipSecondaries : 10.10.10.11
aipNotify : 10.10.10.11
fUseWins : FALSE
fUseNbstat : FALSE
fAging : FALSE
dwNoRefreshInterval : 168
dwRefreshInterval : 168
dwAvailForScavengeTime : 0
aipScavengeServers : 10.10.10.10
dwRpcStructureVersion : 0x2
dwForwarderTimeout : 5
fForwarderSlave : 0
aipLocalMasters : 10.10.10.10
dwDpFlags : DNS_DP_DOMAIN_DEFAULT DNS_DP_ENLISTED
pszDpFqdn : DomainDnsZones.elles.inno.tech
pwszZoneDn : DC=elles.inno.tech,CN=MicrosoftDNS,DC=DomainDNSZones,DC=elles,DC=inno,DC=tech
dwLastSuccessfulSoaCheck : 1701234567
dwLastSuccessfulXfr : 1701234567
fQueuedForBackgroundLoad : FALSE
fBackgroundLoadInProgress : FALSE
fReadOnlyZone : FALSE
dwLastXfrAttempt : 0
dwLastXfrResult : 0
Пример получения информации об обратной зоне с GUID (приводится фрагмент вывода):
samba-tool dns zoneinfo dc1.elles.inno.tech 10.10.20.in-addr.arpa --guid -U Administrator
...
guid : 123e4567-e89b-12d3-a456-426614174000
pszZoneName : 10.10.20.in-addr.arpa
dwZoneType : DNS_ZONE_TYPE_PRIMARY
fReverse : TRUE
...
Пример получения информации о зоне в формате JSON (приводится фрагмент вывода):
samba-tool dns zoneinfo dc1.elles.inno.tech elles.inno.tech --json
...
{
"pszZoneName": "elles.inno.tech",
"dwZoneType": 1,
"fReverse": false,
...
}
Получение списка зон 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; -
--forwarder— получение списка forwarder-зон DNS; -
--ds— получение списка зон DNS, интегрированных с AD; -
--non-ds— получение списка зон DNS без интеграции с AD; -
--json— выводит результат в формате JSON вместо текстового представления.
Примеры
Пример получения списка всех первичных зон, интегрированных с AD:
samba-tool dns zonelist dc1.elles.inno.tech --primary --ds
...
3 zone(s) found
pszZoneName : elles.inno.tech
Flags : DNS_RPC_ZONE_DSINTEGRATED DNS_RPC_ZONE_UPDATE_SECURE
ZoneType : DNS_ZONE_TYPE_PRIMARY
Version : 0
dwDpFlags : DNS_DP_DOMAIN_DEFAULT DNS_DP_ENLISTED
pszDpFqdn : DomainDnsZones.elles.inno.tech
pszZoneName : 10.10.10.in-addr.arpa
Flags : DNS_RPC_ZONE_DSINTEGRATED DNS_RPC_ZONE_UPDATE_SECURE DNS_RPC_ZONE_REVERSE
ZoneType : DNS_ZONE_TYPE_PRIMARY
Version : 0
dwDpFlags : DNS_DP_DOMAIN_DEFAULT DNS_DP_ENLISTED
pszDpFqdn : DomainDnsZones.elles.inno.tech
pszZoneName : 10.10.20.in-addr.arpa
Flags : DNS_RPC_ZONE_DSINTEGRATED DNS_RPC_ZONE_UPDATE_SECURE DNS_RPC_ZONE_REVERSE
ZoneType : DNS_ZONE_TYPE_PRIMARY
Version : 0
dwDpFlags : DNS_DP_FOREST_DEFAULT DNS_DP_ENLISTED
pszDpFqdn : ForestDnsZones.elles.inno.tech
Пример получения списка всех обратных зон в JSON-формате:
samba-tool dns zonelist dc1.elles.inno.tech --reverse --json
...
[
{
"pszZoneName": "10.10.10.in-addr.arpa",
"Flags": 16,
"ZoneType": 1,
"Version": 0,
"dwDpFlags": 17,
"pszDpFqdn": "DomainDnsZones.elles.inno.tech"
},
{
"pszZoneName": "20.10.10.in-addr.arpa",
"Flags": 16,
"ZoneType": 1,
"Version": 0,
"dwDpFlags": 18,
"pszDpFqdn": "ForestDnsZones.elles.inno.tech"
}
]
Изменение настроек очистки от устаревших записей для зоны 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 часов, одна неделя).
Примеры
Для исключения временной потери динамических записей при включении очистки может использоваться следующая последовательность шагов:
-
Включение очистки с большим интервалом обновления (5 лет = 43800 часов):
samba-tool dns zoneoptions dc1.elles.inno.tech elles.inno.tech --aging=1 --refreshinterval=43800 --norefreshinterval=43800 ... Set Aging to 1 Set RefreshInterval to 43800 Set NoRefreshInterval to 43800 -
После того как пройдет достаточное количество времени, чтобы все записи обновились, устанавливается стандартный интервал обновления — 7 дней (168 часов):
samba-tool dns zoneoptions dc1.elles.inno.tech elles.inno.tech --refreshinterval=168 --norefreshinterval=168 ... Set RefreshInterval to 168 Set NoRefreshInterval to 168 -
Проверка состояния зоны перед включением очистки (dry-run):
samba-tool dns zoneoptions dc1.elles.inno.tech 10.10.10.in-addr.arpa --aging=1 --refreshinterval=168 --norefreshinterval=168 -n ... would set Aging to 1 for 10.10.10.in-addr.arpa would set RefreshInterval to 168 for 10.10.10.in-addr.arpa would set NoRefreshInterval to 168 for 10.10.10.10.in-addr.arpa -
Принудительное превращение всех записей с именем, содержащим "api", в статические:
samba-tool dns zoneoptions dc1.elles.inno.tech 10.10.30.in-addr.arpa --mark-records-static-regex="api" ... made 3/5 records static on api01.10.10.30.in-addr.arpa. made 1/2 records static on api02.10.10.30.in-addr.arpa.
Чтобы очистка работала, в файле smb.conf хотя бы на одном контроллере домена должен быть задан параметр dns zone scavenging = yes.
|
Обновлено: