На Zentyal 6 при попытке добавить новую dns запись возникала ошибка и сервер не мог сохранить изменения в модуле DNS.
Суть проблемы
Когда я пытался добавить dns записи через веб-интерфейс самого Zentyal, я получал ошибку. В ошибке было сказано, что за подробностями следует обратиться к логам сервера. И нужно было сразу посмотреть эти логи, но я решил вначале проверить работоспособность dns сервера. Поэтому я подключился к нему из Windows. Оказалось что dns сервер работал без проблем. Я мог добавлять dns записи, из оснастки Windows, без каких либо проблем.
Дальше я пошёл смотреть логи (/var/log/zentyal/zentyal.log). И там, при попытке сохранить dns записи из веб интерфейса, появлялась следующая ошибка:
2021/08/06 13:02:01 ERROR> GlobalImpl.pm:652 EBox::GlobalImpl::saveAllModules - Failed to save changes in module dns: root command kinit -k -t /var/lib/samba/private/dns.keytab dns-dc1 failed. Error output: Password has expired dns-dc1@TRA.TRA-TA-TA.COM's Password: Command output: . Exit value: 1
Теперь стало ясно что команда kinit -k -t /var/lib/samba/private/dns.keytab не может выполнится. И не может она выполнится, так как пароль пользователя dns-dc1 истек. Это в очередной раз доказывает, что нужно было сразу проверить логи.
Решение проблемы
Решение нашлось на этом форуме. Нужно пользователю dns-dc1 указать срок действия учётной записи, точнее сделать эту учётную запись бессрочной. Кстати dc1 — это имя контроллера домена, поэтому в вашем случае может быть другое имя. Чтобы это сделать нужно выполнить следующую команду:
$ sudo samba-tool user setexpiry dns-<SERVER_NAME> --noexpiry
Вот и все! После выполнения этой команды ошибка в zentyal исчезла. И я смог добавлять dns записи через web-интерфейс самого сервера Zentyal.
Другие мои статьи про Zentyal доступны здесь.