centos7下利用bind搭建从DNS服务器、实现主从同步

一、相关包与环境
bind-libs.x86_64 #提供库文件
bind-utils.x86_64 #提供工具包
bind.x86_64 #提供主程序包
实验环境:
192.168.147.129 主DNS服务器
192.168.147.131 从DNS服务器,一般是两个从服务器,这里只搭建了一个
192.168.147.128 DNS测试服务器
二、先搭建主DNS 服务器
之前的博客里有详细介绍如何搭建主DNS服务器,这里不再赘述。

安装bind包,并启动
[root@centos7 named]# yum install bind  -y
[root@centos7 named]# systemctl start named
编辑主配置文件
[root@centos7 named]# vim /etc/named.conf
options {
	listen-on port 53 { localhost; };//改为localhost,表示监听在本机的所有端口上
	listen-on-v6 port 53 { ::1; };
	directory 	"/var/named";
	dump-file 	"/var/named/data/cache_dump.db";
	statistics-file "/var/named/data/named_stats.txt";
	memstatistics-file "/var/named/data/named_mem_stats.txt";
	allow-query     { localhost;any; };//加any参数,表示所有主机都可以查询
	allow-transfer  {192.168.147.131; };//允许从服务器的IP抓取、传输区域数据库的数据
	recursion yes;
	dnssec-enable no;
	dnssec-validation no;
	bindkeys-file "/etc/named.iscdlv.key";
	managed-keys-directory "/var/named/dynamic";
	pid-file "/run/named/named.pid";
	session-keyfile "/run/named/session.key";
};
编辑/etc/named.rfc1912.zones文件,在里面定义magedu.com域。
[root@centos7 named]# cat /etc/named.rfc1912.zones 
zone "magedu.com" IN {
	type master;
	file "magedu.com.zone";
	//allow-update { 192.168.147/24; };
};
在/var/named目录下生成并编辑解析库文件magedu.com.zone 
[root@centos7 named]# cat /var/named/magedu.com.zone 
$TTL 1D
magedu.com.	IN SOA	ns.magedu.com. nsadmin.magedu.com. (
					2	; serial  //序列号主DNS服务器修改时,得手动更新序列号,这样从服务器才能同步
					1D	; refresh
					1H	; retry
					1W	; expire
					3H )	; minimum
@      NS      ns.magedu.com.
       NS      ns2.magedu.com. //定义从DNS服务器
www    CNAME   websrv
ns2    A       192.168.147.131//从DNS服务器解析出IP
websrv A       192.168.147.128
websrv A       192.168.147.129
ns     A       192.168.147.129        
@      MX   10 mailsrv1
@      MX   20 mailsrv2
mailsrv1 A  192.168.147.129
mailsrv2 A  192.168.147.131
完成之后重新加载或重启一下服务即可。
[root@centos7 named]# systemctl restart named

三、搭建从DNS 服务器
由于前面几步和主服务器没啥区别这里简单讲一下。这里是以下要注意的几点:
1、应该为一台独立的名称服务器
2、主服务器的区域解析库文件中必须有一条NS记录指向从服务器
3、从服务器只需要定义区域,而无须提供解析库文件;解析库文件应该放置于/var/named/slaves/目录中
4、主服务器得允许从服务器作区域传送
5、主从服务器时间应该同步,可通过ntp进行;
6、bind程序的版本应该保持一致;否则,应该从高,主低

 从服务器向主服务器同步时间
  [root@centos7 ~]# ntpdate 192.168.147.129
27 Jun 16:26:10 ntpdate[4430]: adjust time server 192.168.147.129 offset -0.341613 sec
 编辑 /etc/named.conf 
    [root@centos7 ~]# vim /etc/named.conf 
    options {
    	//listen-on port 53 { 127.0.0.1; };//把这行注释掉,也可以改为localhost
    	listen-on-v6 port 53 { ::1; };
    	directory 	"/var/named";
    	dump-file 	"/var/named/data/cache_dump.db";
    	statistics-file "/var/named/data/named_stats.txt";
    	memstatistics-file "/var/named/data/named_mem_stats.txt";
    	//allow-query     { localhost; };把这行注释掉,也可以改为any
        allow-transfer    { none; };//从服务器不允许被抓取数据
    	recursion yes;
    	dnssec-enable yes;
    	dnssec-validation yes;
    	bindkeys-file "/etc/named.iscdlv.key";
    	managed-keys-directory "/var/named/dynamic";
    	pid-file "/run/named/named.pid";
    	session-keyfile "/run/named/session.key";
    };
    编辑/etc/named.rfc1912.zones文件,在里面定义magedu.com域
    zone "magedu.com" IN {
    	type slave;
		masters { 192.168.147.129; };
		file "slaves/magedu.com.zone";
	};
	配置完成后重启服务即可
	[root@centos7 named]# systemctl restart named

四、测试
我们使用dig命令指定向从服务器查询magedu.com

[root@centos6 ~]# dig www.magedu.com @192.168.147.131

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6 <<>> www.magedu.com @192.168.147.131
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8288
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;www.magedu.com.			IN	A

;; ANSWER SECTION:
www.magedu.com.		86400	IN	CNAME	websrv.magedu.com.
websrv.magedu.com.	86400	IN	A	192.168.147.129
websrv.magedu.com.	86400	IN	A	192.168.147.128

;; AUTHORITY SECTION:
magedu.com.		86400	IN	NS	ns.magedu.com.
magedu.com.		86400	IN	NS	ns2.magedu.com.

;; ADDITIONAL SECTION:
ns.magedu.com.		86400	IN	A	192.168.147.129
ns2.magedu.com.		86400	IN	A	192.168.147.131

;; Query time: 1 msec
;; SERVER: 192.168.147.131#53(192.168.147.131)
;; WHEN: Thu Jun 27 16:35:43 2019
;; MSG SIZE  rcvd: 152


使用ll /var/named/slaves命令可以看到从服务器已经从主服务器拉取了数据

[root@centos7 slaves]# ll
total 4
-rw-r--r-- 1 named named 547 Jun 27 16:28 magedu.com.zone

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值