bind配置工具rndc使用

什么是rndc

rndc(Remote Name Domain Controllerr)是一个远程管理bind的工具,通过这个工具可以在本地或者远程了解当前服务器的运行状况,也可以对服务器进行关闭、重载、刷新缓存、增加删除zone等操作。 

rndc可以干什么

使用rndc可以在不停止DNS服务器工作的情况进行数据的更新,使修改后的配置文件生效。在实际情况下,DNS服务器是非常繁忙的,任何短时间的停顿都会给用户的使用带来影响。因此,使用rndc工具可以使DNS服务器更好地为用户提供服务。在使用rndc管理bind前需要使用rndc生成一对密钥文件,一半保存于rndc的配置文件中,另一半保存于bind主配置文件中。rndc的配置文件为/etc/rndc.conf,在CentOS或者RHEL中,rndc的密钥保存在/etc/rndc.key文件中。rndc默认监听在953号端口(TCP),其实在bind9中rndc默认就是可以使用,不需要配置密钥文件。

rndc是安全的

rndc与DNS服务器实行连接时,需要通过数字证书进行认证,而不是传统的用户名/密码方式。在当前版本下,rndc和named都只支持HMAC-MD5认证算法,在通信两端使用预共享密钥。在当前版本的rndc 和 named中,唯一支持的认证算法是HMAC-MD5,在连接的两端使用共享密钥。它为命令请求和名字服务器的响应提供 TSIG类型的认证。所有经由通道发送的命令都必须被一个服务器所知道的 key_id 签名。为了生成双方都认可的密钥,可以使用rndc-confgen命令产生密钥和相应的配置,再把这些配置分别放入named.conf和rndc的配置文件rndc.conf中。

测试

在服务器192.168.86.202上使用rndc-confgen命令生成配置

按照提示将前key和options拷贝到/etc/rndc.conf,key和controls追加到/etc/named.conf末尾

[root@localhost ~]# rndc-confgen

# Start of rndc.conf
key "rndc-key" {

        algorithm hmac-md5;

        secret "bX9vkARihmd5lvuiGzmDRA==";

};

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 "bX9vkARihmd5lvuiGzmDRA==";

# };

#

# controls {

# inet 127.0.0.1 port 953

# allow { 127.0.0.1; } keys { "rndc-key"; };

# };

# End of named.conf

服务器配置

在named.conf末尾加入key及允许管理的ip192.168.86.198

[root@heweiwei heweiwei]# vim /etc/named.conf

key "rndc-key" {

        algorithm hmac-md5;

        secret "bX9vkARihmd5lvuiGzmDRA==";

};

controls {

        inet 0.0.0.0 port 953

        allow { 127.0.0.1; 192.168.86.198; } keys { "rndc-key"; };

};

客户端配置

同理在客户端192.168.86.198使用rndc-confgen命令生成配置 修改/etc/rndc.conf,将key修改成服务器的key,option中的server修改成服务器的server。

[root@localhost heweiwei]# vim /etc/rndc.conf

key "rndc-key" {

        algorithm hmac-md5;

        secret "bX9vkARihmd5lvuiGzmDRA==";

};

#secret "G6lzTGaz2VaKYUpqQleM8A==";

options {

        default-key "rndc-key";

        default-server 192.168.86.202;

        default-port 953;

};

客户端测试

在服务器配置完之后重启后再客户端测试

[root@localhost heweiwei]# rndc -s 192.168.86.202 status

version: 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6_10.1

CPUs found: 4

worker threads: 4

number of zones: 20

debug level: 0

xfers running: 0

xfers deferred: 0

soa queries in progress: 0

query logging is OFF

recursive clients: 0/0/1000

tcp clients: 0/100

server is up and running

至此配置成功

rndc常用功能

测试

addzone 在服务器192.168.86.202添加域文件/var/named/rndc.com.zone

[root@heweiwei heweiwei]# vim /var/named/rndc.com.zone

$TTL 600

@              IN      SOA    dns.rndc.com. dnsadmin.rndc.com. (

                2019040410

                2H

                4M

                1W

                2D

                )

@              IN  NS          dns.rndc.com.

@              IN  MX  10      mail.rndc.com.

dns            IN  A          192.168.86.202

mail            IN  A          192.168.86.111

www            IN  A          222.68.66.22

权限问题很关键

[root@heweiwei heweiwei]# chgrp named /var/named/rndc.com.zone

[root@heweiwei heweiwei]# chmod 660 /var/named/rndc.com.zone

[root@heweiwei heweiwei]# ll /var/named/|grep rndc

-rw-rw----. 1 root  named  430 May 20 16:21 rndc.com.zone

在客户端192.168.86.198使用rndc管理服务器192.168.86.202添加域rndc.com

[root@localhost heweiwei]# rndc -s 192.168.86.202 -p 953 addzone rndc.com '{ type master; file "rndc.com.zone"; };'

[root@localhost heweiwei]#

[root@localhost heweiwei]# dig www.rndc.com @192.168.86.202

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6_10.1 <<>> www.rndc.com @192.168.86.202

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49040

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:

;www.rndc.com. IN A

;; ANSWER SECTION:

www.rndc.com.     600    IN    A    222.68.66.22

;; AUTHORITY SECTION:

rndc.com.     600    IN    NS    dns.rndc.com.

;; ADDITIONAL SECTION:

dns.rndc.com.     600    IN    A    192.168.86.202

;; Query time: 1 msec

;; SERVER: 192.168.86.202#53(192.168.86.202)

;; WHEN: Mon May 20 01:22:58 2019

;; MSG SIZE  rcvd: 80

[root@localhost heweiwei]#

说明添加成功

你可能感兴趣的:(bind配置工具rndc使用)