Я пытаюсь настроить bind для приема обновлений с сервера DHCP, я внес изменения в файл dhcpd.conf, чтобы ссылаться на соответствующие зоны и файл паролей rndc.key, но при перезапуске сервера DHCP я получаю:
Can't open /etc/bind/rndc.key: Permission denied
rndc.key имеет разрешения 640, группа и владелец привязаны.
Если я изменю rndc.key на права 666, это сработает, но это небезопасно. Есть ли лучший способ?
Убунту 11.04
решение1
Для меня использование rndc.key для обновлений DHCP кажется странной идеей. (Я нагуглил какое-то руководство Debian, в котором использовалась такая настройка, возможно, это оттуда). Кроме того, согласно руководству по bind, rndc.key сохраняется только для обратной совместимости с bind8.
Я бы предложил следующее: для DHCP вставьте следующий оператор непосредственно в named.conf и ваш файл конфигурации DHCP:
key "zone-updates-key" {
algorithm hmac-md5;
secret "lgkbhjhtthgtlghtl6567==";
};
(конечно, измените секретную фразу ;) , вы можете сгенерировать случайную, запустив rndc-confgen)
Нет необходимости в каких-либо операторах "include rndc.key". Теперь в конфигурацию зоны в named.conf вы добавляете
allow-update { key "zone-updates-key"; };
и в конфигурации зоны dhcp:
key zone-updates-key;
Вот и все. Оба файла должны быть доступны для чтения соответствующими процессами, как обычно.
** Вы также можете остановиться здесь **
Для rndc вы можете запустить rndc-confgen и использовать его вывод в rndc.конфи named.conf - в этом случае bind вообще не будет использовать rndc.key.
(Что касается того, почему не использовать rndc.key для динамических обновлений: этот ключ дает полный контроль над привязкой, и нет причин идти на компромисс, если вам нужны только динамические обновления для одной зоны.)
Кроме того, в более новых версиях bind есть /var/run/named/session.key, который может оказаться полезным — взгляните на директивы bind «session-...».