使用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的运行、架设和使用方法