BIND使用rndc

使用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命令,獲得密鑰和相應的配置。工具

  
  
           
  
  
  1. # rndc-confgen   
  2. # Start of rndc.conf  
  3. key "rndckey" {  
  4.   algorithm hmac-md5;  
  5.   secret "TKuaJSEo58zohJBfrdF7dQ==";  
  6. };  
  7.  
  8. options {  
  9.   default-key "rndckey";  
  10.   default-server 127.0.0.1;  
  11.   default-port 953;  
  12. };  
  13. # End of rndc.conf  
  14.  
  15. # Use with the following in named.conf, 
    adjusting the allow list as needed:  
  16. # key "rndckey" {  
  17. #       algorithm hmac-md5;  
  18. #       secret "TKuaJSEo58zohJBfrdF7dQ==";  
  19. # };  
  20. #   
  21. # controls {  
  22. #       inet 127.0.0.1 port 953  
  23. #              allow { 127.0.0.1; } keys { "rndckey"; };  
  24. # };  
  25. # End of named.conf 

(2)在/etc目錄下建立rndc.conf文件,根據提示輸入上述輸出中不帶註釋的內容。加密

  
  
           
  
  
  1. # vi  /etc/rndc.conf  
  2. key "rndckey" {  
  3.   algorithm hmac-md5;  
  4.   secret "TKuaJSEo58zohJBfrdF7dQ==";  
  5. };  
  6.  
  7. options {  
  8.   default-key "rndckey";  
  9.   default-server 127.0.0.1;  
  10.   default-port 953;  
  11. }; 

(3)根據提示,把下列內容放入原有的/etc/named.conf文件後面。url

  
  
           
  
  
  1. key "rndckey" {  
  2.       algorithm hmac-md5;  
  3.       secret "TKuaJSEo58zohJBfrdF7dQ==";  
  4. };  
  5.  
  6. controls {  
  7.       inet 127.0.0.1 port 953  
  8.              allow { 127.0.0.1; } keys { "rndckey"; };  
  9. }; 

(4)重啓named進程後,就可使用rndc工具對named進行控制了。例如,下面的命令可使named從新裝載配置文件和區文件。spa

  
  
           
  
  
  1. # rndc reload  
  2. server reload successful  

此外,全部rndc支持的命令及幫助信息能夠經過不帶參數的rndc命令顯示。rest

  
  
           
  
  
  1. [root@localhost named]# rndc  
  2. Usage: rndc [-c config] [-s server] [-p port]  
  3.         [-k key-file ] [-y key] [-V] command  
  4.  
  5. command is one of the following:  
  6.   reload       Reload configuration file and zones.  
  7.   reload zone [class [view]]  
  8.   ...  
  9.   status       Display status of the server.  
  10.   recursing    Dump the queries that are currently recursing   
  11.   (named.recursing)  
  12.   *restart     Restart the server.  
  13.  
  14. * == not yet implemented  
  15. Version: 9.3.3rc2 

能夠看到,rndc提供了很是豐富的命令,可讓管理員在不重啓named進程的狀況下,完成大部分的DNS服務器管理工做。orm

說明:rndc命令後面能夠跟"-s"和"-p"選項鍊接到遠程DNS服務器,以便對遠程DNS服務器進行管理,但此時雙方的密鑰要一致才能正常鏈接。

此文章轉載於《Linux服務器架設指南》第14章DNS服務器架設與應用,本章將詳細介紹DNS服務的基本概念、工做原理、BIND的運行、架設和使用方法

相關文章
相關標籤/搜索