nsd−control, nsd−control−setup − утилита управления удалённым сервером NSD
nsd−control [−c файл−конфигурации] [−s сервер] команда
nsd−control используется для удалённого администрирования DNS−сервера nsd(8) DNS. Он читает файл конфигурации, связывается с сервером nsd через SSL, отправляет команду и отображает результат.
Доступные опции:
−h |
Показать версию и справку по опциям командной строки. |
−c файл−конфигурации
Файл конфигурации с настройками для чтения. Если не указано − используется файл по умолчанию /etc/nsd/nsd.conf.
−s сервер[@порт]
IPv4 или IPv6−адрес сервера для связи. Если адрес не указан, он будет прочитан из файла конфигурации.
Ниже приведён список команд, обрабатываемых сервером.
start |
Запуск сервера. Просто выполняет nsd(8). Выполняемый файл nsd ищется в каталогах из переменной окружения PATH. Запускается с файлом конфигурации, указанным при помощи −c или файла конфигурации по умолчанию. |
||
stop |
Останов сервера. Демон сервера завершается. |
reload [<зона>]
Перезагрузить файл зоны или переоткрыть файл журнала. Без аргумента читает изменённые файлы зон. При указании аргумента читает файл указанной зоны и загружает его.
reconfig
Перезагрузить nsd.conf и применить изменения к ключам TSIG и шаблонам конфигурации, а также добавить и удалить зоны, упомянутые в файле конфигурации. Другие изменения, например, прослушиваемый IP−адрес и порт, изменения корневого каталога, не применяются. Обновления шаблонов означают, что будут обновлены опции конфигурации зон (request−xfr, zonefile, notify, ...). Также новые шаблоны можно указывать в команде addzone.
repattern
То же, что опция reconfig.
log_reopen
Переоткрыть файл журнала для ротации журнала, в ходе которой нужно переместить журнал и создать новый. Журнал также может быть переоткрыт по сигналу, который можно отправить командой kill −HUP (также будут перезагружены все файлы зон).
status |
Отобразить статус сервера. Завершается с кодом 3, если не запущен (подключение к порту отклонено), 1 − при ошибке, 0 − если работает. |
||
stats |
Вывести последовательность строк имя=значение со статистической информацией. Нужно чтобы NSD был собран с поддержкой этой возможности. |
stats_noreset
То же самое, что stats, но не обнуляет счётчики.
addzone <имя−зоны> <имя−шаблона>
Добавить новую зону к работающему серверу. Зона добавляется к файлу со списком зон на диске, так что зона остаётся после перезапуска. Имя шаблона определяет опции для новой зоны. Для вторичных зон немедленно предпринимается попытка передачи зоны. Для зон с файлом зоны будет предпринята попытка прочитать файл.
delzone <имя−зоны>
Удалить зону с работающего сервера. Зона удаляется из файла со списком зон на диске, из файла nsd.db и из памяти. Если имеется файл зоны, он остаётся (но может быть устаревшим). Этим способом нельзя удалить зоны, настроенные внутри самого nsd.conf, потому что демон не пишет в файл nsd.conf. Вам нужно добавить такие зоны в файл со списком зон, чтобы удалять их при помощи команды delzone.
write [<зона>]
Записать на диск все файлы зон или указанный файл зоны. Изменявшиеся (через AXFR или IXFR) зоны будут записаны, или если файл зоны ещё не созданы, они будут созданы. При необходимости будут созданы каталоги, составляющие путь к файлу зоны.
notify [<зона>]
Отправить сообщение NOTIFY на подчинённые серверы. Отправить на IP−адреса, настроенные в опции ’notify:’ мастер−зон, расположенных на этом сервере. Обычно NSD отправляет сообщения NOTIFY сразу, только если изменился серийный номер зоны. Если указана зона, уведомления отправляются только для этой зоны. Предполагается, что подчинённые серверы после этого запросят передачу зоны (к этому серверу или к другому мастер−серверу). Передача зоны разрешается списком доступа, настроенным в опции ’provide−xfr:’.
transfer [<зона>]
Попытаться обновить подчинённые зоны, находящиеся на этом сервере, связавшись с мастер−серверами. Список мастер−серверов настраивается в ’request−xfr:’. Если указана зона, будет обновлена эта зона. Обычно NSD принимает сообщение NOTIFY от мастер−серверов (настроенных в списке доступа ’allow−notify:’), с которых был передан новый серийный номер.
force_transfer [<зона>]
Принудительно обновить подчинённые зоны, находящиеся на этом сервере. Даже если на мастер−серверах тот же серийный номер зоны, для её получения выполняется полный AXFR. Если вы хотите использовать IXFR и проверить, что серийный номер увеличился, воспользуйтесь командой ’transfer’.
zonestatus [<зона>]
Вывести состояние зоны, серийные номер и когда он был получен. Также выводит выполняемые прямо сейчас действия по уведомлению (на какой сервер) и передаче зон (и с какого мастер−сервера). Состояние зоны выводится как: ’master’ (мастер−зоны), ’ok’ (актуальные подчинённые зоны), ’expired’ (просроченные подчинённые зоны), ’refreshing’ (подчинённые зоны в процессе передачи). Серийные номера выводятся как ’served−serial’ (активные в настоящее время), ’commit−serial’ (в процессе перезагрузки), ’notified−serial’ (получено уведомление, ожидается получение данных). Серийные номера выводятся только если они доступны.
serverpid
Вывести идентификатор процесса сервера. Используется для статистики (и работает только если NSD был собран с опцией статистики). Этот идентификатор процесса не предназначен для отправки UNIX−сигналов, для этого используйте идентификатор из nsd.pid, этот идентификатор тоже стабилен.
verbosity <уровень>
Изменить уровень подробности сообщений.
Программа nsd−control завершается с кодом статуса 1 в случае ошибки, 0 − в случае успеха.
Установка требует самоподписанные сертификаты и приватный ключи для сервера и для клиента. Скрипт nsd−control−setup генерирует их в run−каталоге по умолчанию или, при указании опции −d, в другом каталоге. Изменяя права доступа к файлам ключа, вы можете ограничивать доступ к утилите nsd−control. По умолчанию это пользователь и группа, но не все пользователи. Этот скрипт сохраняет ключи в указанном каталоге.
Команда stats отображает счётчики статистики.
num.queries
количество принятых запросов (сумма запросов TCP и UDP).
serverX.queries
количество запросов, обработанных процессом сервера. Количество процессов сервера задаётся при помощи выражения serer−count.
time.boot
время работы в секундах с момента запуска сервера. Число с плавающей запятой.
time.elapsed
время в секундах с последнего отчёта статистики. Число с плавающей запятой. Может быть нулевым, если запрашивается часто, так что предыдущая команда stats сбросила счётчики, а следующая выдаст отчёт с нулевыми счётчики и нулевым прошедшим временем.
size.db.disk
размер nsd.db на диске, в байтах.
size.db.mem
размер базы данных DNS в памяти, в байтах.
size.xfrd.mem
размер памяти для передач зон и уведомлений в процессе xfrd, исключая данные TSIG, в байтах.
size.config.disk
размер файла со списком зон на диске, исключая размер nsd.conf, в байтах.
size.config.mem
размер данных конфигурации в памяти, считается дважды в сервере и в процессе xfrd, в байтах.
num.type.X
количество запросов этого типа.
num.opcode.X
количество запросов с этим кодом операции.
num.class.X
количество запросов с этим классом запроса.
num.rcode.X
количество ответов, вернувших этот код.
num.edns
количество запросов с EDNS OPT.
num.ednserr
количество запросов с ошибкой разбора EDNS.
num.udp
количество запросов по UDP ip4.
num.udp6
количество запросов по UDP ip6.
num.tcp
количество запросов по TCP ip4.
num.tcp6
количество запросов по TCP ip6.
num.answer_wo_aa
количество ответов с кодом NOERROR и без флага AA, включая отсылки.
num.rxerr
количество запросов с ошибкой при получении.
num.txerr
количество ответов с ошибкой передачи.
num.raxfr
количество запросов AXFR от клиентов (на которые был предоставлен ответ).
num.truncated
количество ответов с установленным флагом TC.
num.dropped
количество запросов, которые были отброшены из−за ошибки верификации.
zone.master
количество обслуживаемых мастер−зон. Это зоны без записей ’request−xfr:’.
zone.slave
количество обслуживаемых подчинённых зон. Это зоны с записями ’request−xfr’.
/etc/nsd/nsd.conf
файл конфигурации nsd.
/etc/nsd
каталог с приватными ключами (nsd_server.key и nsd_control.key) и самоподписанными сертификатами (nsd_server.pem и nsd_control.pem).
nsd.conf(5), nsd(8), nsd−checkconf(8)
Перевод на русский язык выполнил Владимир Ступин <vladimir@stupin.su>.