rndc是BIND安装包提供的一种控制域名服务运行的工具,它可以运行在其他计算机上,通过网络与DNS服务器进行连接,然后根据管理员的指令对named进程进行远程控制,此时,管理员不需要DNS服务器的根用户权限。
使用rndc可以在不停止DNS服务器工作的情况进行数据的更新,使修改后的配置文件生效。在实际情况下,DNS服务器是非常繁忙的,任何短时间的停顿都会给用户的使用带来影响。因此,使用rndc工具可以使DNS服务器更好地为用户提供服务。
rndc与DNS服务器实行连接时,需要通过数字证书进行认证,而不是传统的用户名/密码方式。在当前版本下,rndc和named都只支持HMAC-MD5认证算法,在通信两端使用共享密钥。rndc在连接通道中发送命令时,必须使用经过服务器认可的密钥加密。为了生成双方都认可的密钥,可以使用rndc-confgen命令产生密钥和相应的配置,再把这些配置分别放入named.conf和rndc的配置文件rndc.conf中
1.执行rndc-confgen命令,得到密钥和相应的配置
# Start of rndc.conf
key "rndc-key" {
algorithm hmac-md5;
secret "Ats9ygxMNv9aVOXXwMgojQ==";
};
options {
default-key "rndc-key";
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 "rndc-key" {
# algorithm hmac-md5;
# secret "Ats9ygxMNv9aVOXXwMgojQ==";
# };
#
# controls {
# inet 127.0.0.1 port 953
# allow { 127.0.0.1; } keys { "rndc-key"; };
# };
# End of named.conf
2.在/etc目录下创建rndc.conf文件,根据提示输入上述输出中不带注释的内容。
key "rndc-key" {
algorithm hmac-md5;
secret "Ats9ygxMNv9aVOXXwMgojQ==";
};
options {
default-key "rndc-key";
default-server 127.0.0.1;
default-port 953;
};
3.根据提示,把下列内容放入原有的/etc/named.conf文件后面。
key "rndc-key" {
algorithm hmac-md5;
secret "Ats9ygxMNv9aVOXXwMgojQ==";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
4.创建/etc/rndc.key文件,将上述key部分放入该文件
key "rndc-key" {
algorithm hmac-md5;
secret "Ats9ygxMNv9aVOXXwMgojQ==";
};
重启named进程后,就可以使用rndc工具对named进行控制了。
rndc常用命令:
直接输入rndc查看帮助
reload 重新装入配置文件和区域
-
reload zone [class [view]] 重新装入单个区域
-
refresh zone [class [view]] 安排区域的立即维护
-
reconfig 仅重新装入配置文件和新区域
-
stats 将服务器统计信息写入统计文件中
-
querylog 切换查询日志
-
dumpdb 将高速缓存转储到转储文件 (named_dump.db)
-
stop 将暂挂更新保存到主文件并停止服务器
-
halt 停止服务器,但不保存暂挂更新
-
trace 将调试级别增加一级
-
trace level 更改调试级别
-
notrace 将调试级别设置为 0
-
flush 刷新服务器的所有高速缓存
-
flush [view] 为某一视图刷新服务器的高速缓存
-
status 显示服务器的状态
-
restart 重新启动服务器(尚未实现)
转载于:https://blog.51cto.com/breezey/1339507