Вопрос или проблема
Я довольно новичок в bind DNS, и во время nsupdate у меня возникает ошибка BADKEY. У меня есть /root/named/chroot/etc/rndc.key, как указано ниже :-
ключ "rndc-test-key" {
алгоритм hmac-md5 ;
секрет "8d0WLaCU7N/jSyUdjxjAoQ==" ;
} ;
и /etc/rndc.conf
ключ "rndc-test-key" {
алгоритм hmac-md5 ;
секрет "8d0WLaCU7N/jSyUdjxjAoQ==" ;
} ;
В named.conf include "/etc/rndc.key"
; присутствует. Итак, какой ключ я должен использовать?
Я следовал совету “Хокана Линдквиста” и просто скопировал файл ключа в другой файл под названием ddns.key и изменил имя ключа в DDNSKEY. Я сделал это как для named, так и для dhcp.
После этого обновление динамического DNS работает.
Я все еще не понимаю, почему повторное использование того же ключа/имени нарушает процесс.
Ответ или решение
Ошибка "request has invalid signature: TSIG rndc-test-key: tsig verify failure (BADKEY)" указывает на проблему с аутентификацией вашего запроса к DNS-серверу BIND. Давайте рассмотрим шаги и причины, которые могут привести к данной ошибке.
Причины ошибки BADKEY:
-
Несоответствие ключей: Наиболее вероятной причиной проблемы является несовпадение ключей TSIG, используемых при запросе и настроенных на сервере. Если на одной стороне запроса используется один ключ, а на сервере настроен другой, это приведет к ошибке BADKEY.
-
Ошибки в настройках конфигурации: Если в
named.conf
серверной части неправильно указаны пути или ключи, это также может привести к проблемам. -
Кодировка и формат: Кодировке секрета ключа следует уделить особое внимание. Если ключ неправильно скопирован или изменён, это также может стать причиной ошибки.
Разбор вашей ситуации:
Вы указали, что используете rndc.key
в /root/named/chroot/etc/rndc.key
и /etc/rndc.conf
, где одни и те же ключи используются для настройки RDNS и динамического обновления DNS. Ошибка возникает, если конфигурации не синхронизированы или при использовании одного и того же ключа для разных функций. Настройка include "/etc/rndc.key";
предполагает, что у вас есть корректный ключ, чтобы управлять сервером через rndc
.
Решение проблемы:
-
Проверьте ключи: Убедитесь, что вы используете один и тот же ключ для всех операций. Один из вариантов — скопировать ключи в другие файлы, если вы хотите использовать разные имена для разных функциональностей, как было сделано вами с
ddns.key
. -
Измените имена ключей: Как вы уже сделали, использование разных имен ключей для различных сервисов – это хороший подход, который помогает избежать путаницы. Каждая служба должна использовать уникальные ключи в своем контексте.
-
Конфигурация: Убедитесь, что каждая конфигурация корректно ссылается на правильный файл ключей и содержит правильные строки. Например, допустимо, когда:
include "/etc/rndc.key"; // для файлов конфигурации команды rndc
-
Перезапустите службы: После внесения изменений в конфигурацию не забудьте перезапустить службы BIND и, при необходимости, DNS-клиенты.
Заключение:
Ошибка BADKEY при использовании TSIG ключей может вызывать сложности для новых пользователей BIND DNS. Правильное управление конфигурациями и ключами является критически важным шагом для обеспечения безопасной и стабильной работы вашей DNS-системы. Всегда проверяйте соответствие ваших ключей и не бойтесь создавать уникальные ключи для различных операций, чтобы гарантировать успешное взаимодействие между клиентами и сервером.