我正在嘗試配置綁定以接受來自 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 進行動態更新:這個金鑰可以完全控制綁定,並且如果您需要的只是單一區域的動態更新,則沒有理由妥協。)
或者,在較新的綁定版本中, /var/run/named/session.key 可能會有所幫助 - 查看“session-...”綁定指令。