Bind

bind9:rndc 凍結:重新定義鍵?

  • September 17, 2017

我的系統上有這個 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甚至沒有評論這種濫用。

密鑰應該有一個目的rndc,它由rndc實用程序使用,named以便可以向(例如,或其他)rndc發送控制命令。named``rndc reload``rndc freeze

該密鑰不應該用於動態更新(如 中allow-update)。

文件中不應有多個鍵rndc.key

但是,如果您願意,我們鼓勵您將任意數量的keyTSIG 密鑰語句添加到named配置 ( named.conf) 中。這些是您應該用於動態更新、區域傳輸等目的的內容。

我建議您將這些鍵命名為反映其用途的名稱。

如果您有現代版本的 BIND,只需使用tsig-keygen foo來創建一個新密鑰。它既方便又具有合理的預設值(hmac-sha256而不是hmac-md5您創建的鍵)。

引用自:https://serverfault.com/questions/874103