bind(dns)主从复制与rndc的使用

发布时间:2020-01-19编辑:脚本学堂
两台主机:master:172.16.1.11 (主)slave:172.16.1.12 (从)以下只做正向区域 先做主DNS服务器(172.16.1.11)把yum源配置好

两台主机:
master:172.16.1.11 (主)
slave:172.16.1.12  (从)
以下只做正向区域
先做主DNS服务器(172.16.1.11)
yum源配置好
需要安装的软件bind97,bind97-libs,bind97-utils

#yum -y install bind97 bind97-libs bind97-utils
#vim /etc/named.conf (这里我把默认安装配置文件的先备份,自己手动创建的)
 

复制代码 代码如下:
options {
        directory "/var/named";
version "none";  (安全起见,可以隐藏版本号)
};
zone "." IN {
        type hint;
        file "named.ca";
};
zone "j.com" IN {
        type master;
        file "j.com.zone";
};

修改文件属性:
 

复制代码 代码如下:
#chown :named /etc/named.conf  (修改属组)
#chmod 640 /etc/named.conf    (其他人无权限)

接下来创建对应的区域数据文件
#vim /var/named/j.com.zone  (这里必须和之前区域定义的名字一样)
 

复制代码 代码如下:
$TTL 600
$ORIGIN j.com.
@       IN      SOA     ns.j.com.  admin.j.com. (
        01
        10M
        30M
        1D
        1D)
        IN      NS      ns
ns      IN      A       172.16.1.11
www     IN      A       172.16.1.11

由于定义了ORIGIN,所以NS和A记录可以自动补全

#chown :named /var/named/j.com.zone
#chmod 640 /var/named/j.com.zone
到此,主DNS已搭建完成

然后检查数据文件语法
#named-checkconf /etc/named.conf  (检查配置文件,若正确,则不提示)
#named-checkzone j.com /var/named/j.com.zone (中间是区域名,后面是配置的数据文件,正确会显示ok)
#service named start
#dig -t A www.j.com   (解析A记录)
若能解析,则搭建成功

#--------------------------------

接着搭建从DNS
 

复制代码 代码如下:
#yum -y install bind97 bind97-libs bind97-utils
#vim /etc/named.conf
options {
        directory "/var/named";
version "none";
};
zone "." IN {
        type hint;
        file "named.ca";
};
zone "j.com" IN {
        type slave;
        file "slaves/j.com.zone";
masters { 172.16.1.11; };  (这里是主DNS的IP)
};

然后修改权限和属组
 

复制代码 代码如下:
#chown :named /etc/named.conf
#chmod 640 /etc/named.conf

检查配置文件
#named-checkconf /etc/named.conf
#service named start
现在就可以实现主从复制了
在主DNS上重启服务,在从DNS上会同步到/var/named/slaves(这个路径是在named.conf定义的)
例如:
在master上添加一个A记录,要修改serial(修改一次,就加1)
在从DNS上就会马上更新过来

#-----------------------rndc-----------------------
一般安装完bind软件,rndc会自动装上的
rndc:可以远程控制dns server,所以是基于密钥认证的
#rndc-confgen  (生成配置文件)
然后按照提示从#Start of rndc.conf到#End of rndc.conf保存起来命名为rndc.conf;把从#use到#End of named.conf保存在named.conf中;
#rndc-confgen > /etc/rndc.conf
#sed -n '15,23p' >> /etc/named.conf  (并且把前面的#去掉)
#service named restart  (让rndc生效)

rndc的一些命令:
 

复制代码 代码如下:
#rndc status  (显示服务器状态)
#rndc stop    (停掉dns服务)
#rndc reload  (重新载入配置文件)
#rndc flush   (清空本地服务器缓存)