Назад | Перейти на главную страницу

bind9: rndc freeze: переопределен ключ?

В моей системе есть файл rnd.key:

key "rndc-key1" {
    algorithm hmac-md5;
    secret "xxxxxxxxxxxxxxx==";
};
key "rndc-key2" {
        algorithm hmac-md5;
        secret "yyyyyyyyyyy==";
};

Потом использую их для разных зон:

zone "somedomain1.com" {
    type master;
    file "/etc/bind/master/db.somedomain1.com";
    allow-update {
    key rndc-key1;
    };
};


zone "somedomain2.com" {
    type master;
    file "/etc/bind/master/db.somedomain2.com";
    allow-update {
    key rndc-key2;
    };
};

Когда я пытаюсь запустить "rndc freeze", я получаю такую ​​ошибку:

rndc: error: /etc/bind/rndc.key:5: 'key' redefined near 'key'
rndc: could not load rndc configuration

Что это означает? В чем проблема? Разве нельзя использовать разные ключи для разных зон?

Похоже, вы неправильно поняли цель rndc ключ.
Вполне возможно, что это недоразумение связано с прочтением одного из многих небрежно написанных руководств, которые срезают углы за счет неправильного использования уже существующего ключа ( rndc key), созданный для одной конкретной цели в совершенно другом контексте, даже не комментируя это неправильное использование.

В rndc ключ должен иметь ОДНУ цель, он должен использоваться rndc полезность и named так что rndc может отправлять команды управления named (например rndc reload, rndc freeze или что-то еще).

Этот ключ НЕ должен использоваться для динамических обновлений (как в allow-update).

НЕ ДОЛЖНО быть нескольких ключей в rndc.key файл.

Однако вы можете, если хотите, можете добавить любое количество key операторов для ключей TSIG к named конфигурация (named.conf). Это то, что вы должны использовать для таких целей, как динамическое обновление, перенос зон и т. Д.
Я бы посоветовал вам назвать эти ключи так, чтобы они отражали их использование.

Если у вас есть современная версия BIND, просто используйте tsig-keygen foo для создания нового ключа. Это и удобнее, и имеет разумные настройки по умолчанию (hmac-sha256 а не hmac-md5 ключи, которые вы создали).