使用rndc算法
rndc是BIND安裝包提供的一種控制域名服務運行的工具,它能夠運行在其餘計算機上,經過網絡與DNS服務器進行鏈接,而後根據管理員的指令對named進程進行遠程控制,此時,管理員不須要DNS服務器的根用戶權限。服務器
使用rndc能夠在不中止DNS服務器工做的狀況進行數據的更新,使修改後的配置文件生效。在實際狀況下,DNS服務器是很是繁忙的,任何短期的停頓都會給用戶的使用帶來影響。所以,使用rndc工具可使DNS服務器更好地爲用戶提供服務。網絡
rndc與DNS服務器實行鏈接時,須要經過數字證書進行認證,而不是傳統的用戶名/密碼方式。在當前版本下,rndc和named都只支持HMAC-MD5認證算法,在通訊兩端使用共享密鑰。rndc在鏈接通道中發送命令時,必須使用通過服務器承認的密鑰加密。爲了生成雙方都承認的密鑰,可使用rndc-confgen命令產生密鑰和相應的配置,再把這些配置分別放入named.conf和rndc的配置文件rndc.conf中,具體操做步驟以下所示。ide
(1)執行rndc-confgen命令,獲得密鑰和相應的配置。工具
- # rndc-confgen
- # Start of rndc.conf
- key "rndckey" {
- algorithm hmac-md5;
- secret "TKuaJSEo58zohJBfrdF7dQ==";
- };
- options {
- default-key "rndckey";
- default-server 127.0.0.1;
- default-port 953;
- };
- # End of rndc.conf
- # Use with the following in named.conf,
adjusting the allow list as needed:- # key "rndckey" {
- # algorithm hmac-md5;
- # secret "TKuaJSEo58zohJBfrdF7dQ==";
- # };
- #
- # controls {
- # inet 127.0.0.1 port 953
- # allow { 127.0.0.1; } keys { "rndckey"; };
- # };
- # End of named.conf
(2)在/etc目錄下建立rndc.conf文件,根據提示輸入上述輸出中不帶註釋的內容。加密
- # vi /etc/rndc.conf
- key "rndckey" {
- algorithm hmac-md5;
- secret "TKuaJSEo58zohJBfrdF7dQ==";
- };
- options {
- default-key "rndckey";
- default-server 127.0.0.1;
- default-port 953;
- };
(3)根據提示,把下列內容放入原有的/etc/named.conf文件後面。url
- key "rndckey" {
- algorithm hmac-md5;
- secret "TKuaJSEo58zohJBfrdF7dQ==";
- };
- controls {
- inet 127.0.0.1 port 953
- allow { 127.0.0.1; } keys { "rndckey"; };
- };
(4)重啓named進程後,就可使用rndc工具對named進行控制了。例如,下面的命令可使named從新裝載配置文件和區文件。spa
- # rndc reload
- server reload successful
- #
此外,全部rndc支持的命令及幫助信息能夠經過不帶參數的rndc命令顯示。rest
- [root@localhost named]# rndc
- Usage: rndc [-c config] [-s server] [-p port]
- [-k key-file ] [-y key] [-V] command
- command is one of the following:
- reload Reload configuration file and zones.
- reload zone [class [view]]
- ...
- status Display status of the server.
- recursing Dump the queries that are currently recursing
- (named.recursing)
- *restart Restart the server.
- * == not yet implemented
- Version: 9.3.3rc2
能夠看到,rndc提供了很是豐富的命令,可讓管理員在不重啓named進程的狀況下,完成大部分的DNS服務器管理工做。orm
說明:rndc命令後面能夠跟"-s"和"-p"選項鍊接到遠程DNS服務器,以便對遠程DNS服務器進行管理,但此時雙方的密鑰要一致才能正常鏈接。
此文章轉載於《Linux服務器架設指南》第14章DNS服務器架設與應用,本章將詳細介紹DNS服務的基本概念、工做原理、BIND的運行、架設和使用方法