Page cover

Редактирование файла .zone на DNS-сервере NSD

Заходим по ssh на сервер primary-dns: ns1.trotoscoping.tech (89.111.140.138)

cd /var/mydns
sudo nano /var/mydns/nsd/trotoscoping.online.zone

1. Меняем значение serial зоны - 7-я строка файла
**serial** в формате <год><месяц><день><релиз_за_день> например: 2024082101

$ORIGIN trotoscoping.online.
$TTL 86400

@ IN SOA ns1.trotoscoping.tech. admin.trotoscoping.online. (
                2024091302      ; serial
                28800           ; refresh
                7200            ; retry
                86400           ; expire
                3600            ; min TTL
                )

2. Вносим другие изменения/дополнение записей dns
3. Сохраняем
4. Проверяем, что в файле нет ошибок:
docker exec mydns /usr/sbin/nsd-checkzone -p trotoscoping.online /etc/nsd/trotoscoping.online.zone
На экран выводятся все записи dns зоны и в последней строке статус "zone trotoscoping.online is ok" или сообщения об ошибках.

5. Даём primary серверу команду на загрузку нового файла и обновление зоны:
/var/mydns/reload_zone.sh trotoscoping.online

6. Можем убедиться, что secondary сервер также обновил данные зоны, 
посмотрев последние записи в log-файле:
tail -n 5 /var/mydns/log/nsd.log
 
Видим примерно такое:
[2024-08-20 15:43:33.872] nsd[32]: info: control cmd:  reload trotoscoping.online
[2024-08-20 15:43:33.875] nsd[33]: info: zone trotoscoping.online read with success
[2024-08-20 15:43:33.892] nsd[110]: info: ixfr for trotoscoping.online. from 89.111.141.145

7. При желании, можем сделать запрос самому серверу по вновь введенным данным:
dig <запись_dns> @<адрес_сервера> <тип_записи> например:
dig test.trotoscoping.online @127.0.0.1 NS
@127.0.0.1 - если мы все еще в консоли сервера
с любого другого компьютера: @ns1.trotoscoping.tech

До шага 5 инструкции выше, серверы dns работают с прежней версией записей зоны, которые хранятся в БД серверов. То есть, можно редактировать и проверять как угодно долго. Реальное обновление информации на серверах происходит только на шаге 5. При этом, в момент обновления зоны primary сервер сам автоматически синхронизирует данные зоны с secondary сервером(-ами) (отдельных команд не требуется).

Last updated