Автоматическое определение DNS-зоны
Клиент elles-dns-cli автоматически извлекает имя DNS-зоны из FQDN узла, если параметр --zonename не указан. Это упрощает выполнение типовых операций и снижает вероятность ошибок при вводе имени зоны вручную.
Принцип работы автоопределения
Клиент извлекает имя зоны путем удаления первой метки (label) из FQDN узла.
Пример команды без явного указания зоны:
dnscli RecordAdd --name www.example.com --type A --data "192.168.1.10"
В примере зона определяется как example.com, а узел — www.
Когда требуется явно указывать --zonename
Автоопределение не работает для следующих случаев:
| Имя узла | Правильный вызов |
|---|---|
Имя с подчеркиваниями (SRV, TXT) |
|
Многоуровневый узел (a.b.c.example.com) |
dnscli RecordAdd --name a.b.c.example.com --zonename example.com --type A --data 10.0.0.1 |
Обратная зона (in-addr.arpa) |
|
Узел в пользовательской (custom) партиции с нестандартным именем |
|
Если значение --zonename не указано, а имя узла не соответствует шаблону host.domain.tld, команда завершится ошибкой:
error: zone name could not be auto-detected from --name, use --zonename
Особенности и ограничения
При указании имени зоны учитывайте:
-
флаг
--zonenameобязателен в командеRecordBulk, так как автоопределение в пакетном режиме не поддерживается; -
все имена зон и узлов нормализуются в ASCII и регистронезависимы;
-
для имен с подчеркиваниями (
_) автоопределение отключено по умолчанию, так как они не являются стандартными FQDN-именами хостов; -
команда
NodeDeleteиспользует тот же механизм автоопределения зоны, но требует--forceдля удаления и проверяет наличие зоны в единственной партиции.
Обновлено: