Вот решение:
Bind9 настроен с «по умолчанию dns-policy», как показано в разделе параметров выше. Это важно и очень круто. Большая часть справки и документации не касается «dns-policy default», а касается «dns-policy default» с точки зрения предыдущих, старых и даже устаревших методов.
1.Закомментируйте все конфигурации зон в named.conf, кроме одной, например example.com.
зона "example.com" {
тип мастер;
файл "/.../example.com.outsideView/example.com.outside";
key-directory "/.../zoneFiles/outsideView/example.com.outside";
};
а) файл это расположение файла зоны example.com.Я разделяю внутреннее и внешнее представления и указываю, какое представление представляет файл зоны, например, example.com.outside.
б) каталог ключей это место, где будут записаны ключи DNSSEC и где копировать размещено на сайте example.com. Важно хранить отдельно файл зоны, example.com, в конфигурации bind9, name.conf, т.е. файл и файл зоны, example.com, скопированы в ключевой каталог, как указано в параметре name.conf. Вы измените файл зоны, example.com, в файле по мере необходимости. Это рабочая копия. Копия файла зоны, example.com, в ключевом каталоге будет изменена или «подписана» DNSSEC «dnssec-policy default».
2.После того, как параметры bind9 для файла конфигурации зоны установлены с файлом и ключом-каталогом, затем
а) Перезапустите привязку с помощью «systemctl restart bind9» или «rndc reload». «rndc reload» перезагрузит файлы конфигурации и зоны. Когда взаимодействие DNSSEC с конфигурациями привязки и зоны не было понято, я использовал «перезагрузку rndc». Как стало ясно, достаточно «systemctl reboot bind9».
б) После успешного перезапуска bind9 перейдите в каталог ключей. Там будет файл зоны example.com.outside, .jnl и К.(ключ|состояние|частный), например:
пример.com.снаружи
пример.com.outside.jnl
Kexample.com.+013+12345.key
Kexample.com.+013+12345.штат
Kexample.com.+013+12345.частный
(013 - номер алгоритма, 12345 - ключ)
3)Извлечь запись DS из ключа используя следующую команду и сохраните вывод
а) dnssec-dsfromkey Kexample.com.outside+013+12345.key > DSkeyexample.com.outside.
б) DSkeyexample.com.outside будет содержать запись DS для зоны example.com в файле example.com.outside, например, cat DSkeyexample.com.outside выдает:
пример.com. В ДС 12345 13 2
1234adb69784efc7528746dab15432abfd78764cd543cccd5432123abcdef123
c) Отправьте запись DS интернет-провайдеру или введите эту запись DS в интерфейс DNSSEC интернет-провайдера.
4)Подписание зоны, example.com (имя файла example.com.outside).
Помните, что зона example.com находится в двух местах: в файле и копируется в ключ-директорию. example.com, расположенный в «файле» конфигурации привязки, предназначен для изменений и модификаций. Файл зоны example.com, скопированный для привязки конфигурации «ключ-каталог», подписан DNSSEC.
а) Изначально оба файла зоны будут одинаково маленького размера т.е. конечно одинаковые, например 8кб. При подписании размер файла зоны в каталоге ключей увеличится в два раза в четыре раза, например, с 8 КБ до 24 КБ. Также с помощью редактора откройте файл зоны, расположенный в каталоге ключей. Обратите внимание на данные подписи. Подписание зоны происходит, когда DNSSEC перезаписывает файл зоны в key-directory. «dnssec-policy default» подписывает и поддерживает зону.
б) Подписание зоны не всегда происходит сразу. Используйте «systemctl status bind9», чтобы наблюдать за следующим обновлением ключа, чтобы получить указание, когда зона может быть подписана.
5)Внесение изменений/исправлений в файл зоны
а) Не изменяйте и не модифицируйте подписанный или неподписанный файл зоны в ключевом каталоге. Измените и измените файл зоны в файле, сохраните его и не забудьте увеличить серийный номер. Затем скопируйте или сохраните изменения в ключевой каталог. Да, подписанный или неподписанный файл зоны будет перезаписан.
б) перезапустить bind9: systemctl перезапустить bind9.
6)Принуждение зоны к подписи. Когда работает bind9 и ошибок нет, но зона не подписывается.
а) удалить/удалить файл *.jnl и увеличить серийный номер файла зоны, находящегося в файле. Затем скопируйте/сохраните в ключевой каталог. Затем systemctl перезапустите bind9.
б) Использование команды rndc для принудительной подписи. см человек rndc
rndc flush — очищает кеш сервера.
rndc flushname name [представление] — сбрасывает данное имя из кэша DNS представления и, если применимо, из базы данных адресов сервера имен представления, кэша неисправного сервера и кэша SERVFAIL.
rndc flushtree name [представление] — очищает данное имя и все его поддомены из кеша DNS представления, базы данных адресов, кеша неисправного сервера и кеша SERVFAIL.
управляемые ключи (статус | обновление) [класс [представление]]
c) Приведенные выше команды работают лучше в сочетании с rndc замораживанием и rndc оттаиванием. Сначала используйте заморозку rndc, выполните указанные выше команды, затем оттайте rndc. После оттаивания rndc я повторно запускаю systemctl reboot bind9. Потому что вроде работает лучше.
7)Проверьте DNSSEC с помощью https://dnsviz.net/ и https://dnssec-analyzer.verisignlabs.com/
Когда первой зоной будет DNSSEC, раскомментируйте другую зону и выполните шаги. Написание намного дольше и сложнее, чем фактические действия по настройке DNSSEC.