CentOS7.4下建立DNS主从服务器(二)

(一)DNS主从同步的原理:
1、master DNS服务器每次修改完成并重启服务后,将传送notify给所有的slave DNS服务器;

2、slave DNS服务器将查询master服务器的SOA记录;

3、master DNS服务器收到请求后将SOA记录发送给Slave DNS服务器,Slave DNS服务器收到后同时对比查询结果中的serial值;

4、如果serial值不大于本机的话将结束数据同步过程;但是如果serial值大于本机的话,slave DNS将发送zone transfer请求要求(AXFR/IXFR)。Master响应zone transfer请求并传送结果,直到整个slave更新完成。

(二)DNS服务器类型
1,Primary DNS Server (Master)域主服务器:是这个域的权威服务器,所有这个域的信息都是由域的主服务器控制,改域的所有配置,更改,都在master服务器运行
2,Seconday DNS Server (Slave)域从服务器:通常是用于备份(冗余)和 负载均衡使用。所有slave的信息都是由域的主服务器控制(即域的从服务器从域的主服务器抓取zone配置文件),从服务器不进行不进行信息的修改,所有的修改与主服务器同步。查看域的zone文件是否正常抓取要到/var/named/chroot/var/named/slaves/目录中查看。
3,Cacheing only Server(DNS缓存服务器):不存在zone文件,仅仅依靠缓存为客户端提供服务。

(三)配置主从DNS

序号 IP 功能
1 192.168.99.98 Master
2 192.168.99.99 Slave

1,在Master上操作

(1),查看Master的named.conf配置

[[email protected] chroot]# cat /var/named/chroot/etc/named.conf 

options
{

    listen-on port 53   { any; };
        allow-query         { any; };
        recursion            yes;
          listen-on-v6 port 53  { ::1; };
};
zone "lqb.com"  IN  {
        type master;
        file "lqb.com.zon";
        allow-transfer { 192.168.99.99; };     ####slave服务器的IP地址       

};

(2),在Master新建主服务器解析库文件 zone文件

[[email protected] chroot]# vim  /var/named/chroot/var/named/
data/        dynamic/     lqb.com.zon  slaves/
[[email protected] chroot]# cat /var/named/chroot/var/named/lqb.com.zon
$TTL 1D
$ORIGIN lqb.com.
@   IN SOA  lqb.com. admin.lqb.com. (
                    20180511; serial                  ########这个很重要,每次修改记录的时候都要修改这个数T+1(每次修改完主DNS配置后,都需要改一下serial序列号,且必须比从服务器号大才会同步。)
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H  ; minimum
)
    IN  NS  ns1.lqb.com.

mail IN  A   172.20.66.111
www2 IN  A   172.20.66.112
ns1 IN  A   192.168.99.99
www IN  A   172.20.66.110
ftp     IN   A  10.128.105.250

(3)每次添加修改dns记录时,serial值比原先的值大才能同步(建议采用T+1)。

[[email protected] chroot]# vim var/named/lqb.com.zon
$TTL 1D
$ORIGIN lqb.com.
@   IN SOA  lqb.com. admin.lqb.com. (
                    20180513; serial             ###改值比修改前的要大,才能同步
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H  ; minimum
)
    IN  NS  ns1.lqb.com.
@    IN  NS ns1.lqb.com.
@    IN NS  ns2.lqb.com.
mail IN  A   172.20.66.111
www2 IN  A   172.20.66.112
ns1 IN  A   192.168.99.98
ns2 IN  A   192.168.99.99
www IN  A   172.20.66.110
ftp     IN   A  10.128.105.250
file     IN   A  172.20.66.112
lqb     IN   A   172.20.66.120

(4)重新加载配置文件

[[email protected] chroot]# rndc reload
[[email protected] chroot]# tail -f /var/log/messages
May 11 17:30:57 server98 named[33430]: reloading configuration succeeded
May 11 17:30:57 server98 named[33430]: reloading zones succeeded
May 11 17:30:57 server98 named[33430]: zone lqb.com/IN: loaded serial 20180513
May 11 17:30:57 server98 named[33430]: zone lqb.com/IN: sending notifies (serial 20180513)
May 11 17:30:57 server98 named[33430]: all zones loaded
May 11 17:30:57 server98 named[33430]: running
May 11 17:30:57 server98 named[33430]: client 192.168.99.99#32886 (lqb.com): transfer of ‘lqb.com/IN‘: AXFR-style IXFR started
May 11 17:30:57 server98 named[33430]: client 192.168.99.99#32886 (lqb.com): transfer of ‘lqb.com/IN‘: AXFR-style IXFR ended
May 11 17:30:57 server98 named[33430]: client 192.168.99.99#11716: received notify for zone ‘lqb.com‘

2,在slave上操作
(1)编辑slave服务器上的named.conf文件,
[[email protected] ~]# vim /var/named/chroot/etc/named.conf

options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
allow-query { any; };
directory "/var/named";
recursion yes;
};

zone "lqb.com" IN {
type slave; ###本机是从服务器
file "slaves/lqb.com.zon"; ###将同步后的文件放置在哪里,这里是相对路径绝对路径是/var/named/chroot/var/named/slaves/
masters { 192.168.99.98; }; ###指定主服务器的ip地址
};

(2),给slaves赋读写权限并修改该目录的所有者为named用户

[[email protected] ~]# chown -R named:named /var/named/chroot/var/named/slaves/
[[email protected] ~]# chmod -R 777 /var/named/chroot/var/named/slaves/
[[email protected] ~]# ll /var/named/chroot/var/named/
总用量 24
drwxrwxrwx 2 root  root     6 5月  11 11:40 data
-rw-r--r-- 1 root  root    56 5月  11 11:40 my.external.zone.db
-rw-r--r-- 1 root  root    56 5月  11 11:40 my.internal.zone.db
-rw-r--r-- 1 root  root  2281 5月  11 11:40 named.ca
-rw-r--r-- 1 root  root   152 5月  11 11:40 named.empty
-rw-r--r-- 1 root  root   152 5月  11 11:40 named.localhost
-rw-r--r-- 1 root  root   168 5月  11 11:40 named.loopback
drwxrwxrwx 2 named named   25 5月  11 15:41 slaves

(3)检查语法,并在master和slave重启下服务
[[email protected] ~]# named-checkconf /var/named/chroot/etc/named.conf
[[email protected] ~]# systemctl restart named-chroot

(4)查看从服务器是否有文件同步进来,注意该文件是用vim 打不开的。
[[email protected] ~]# ll /var/named/chroot/var/named/slaves/
总用量 4
-rw-r--r-- 1 named named 340 5月 11 16:05 lqb.com.zon

(5)用从服务器解析 (‘@’后面指定dns 服务器的地址,就可以不用改本机的dns了)

[[email protected] var]# dig file.lqb.com @192.168.99.99      

; <<>> DiG 9.9.4-RedHat-9.9.4-51.el7_4.2 <<>> file.lqb.com @192.168.99.99
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55636
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;file.lqb.com.          IN  A

;; ANSWER SECTION:
file.lqb.com.       86400   IN  A   10.128.105.251

;; AUTHORITY SECTION:
lqb.com.        86400   IN  NS  ns1.lqb.com.

;; ADDITIONAL SECTION:
ns1.lqb.com.        86400   IN  A   192.168.99.99

;; Query time: 1 msec
;; SERVER: 192.168.99.99#53(192.168.99.99)
;; WHEN: Fri May 11 16:25:53 CST 2018
;; MSG SIZE  rcvd: 91

备注:如果没有同步文件,则一般的检查步骤如下:
1,确认ntp时间是否同步
2,samples文件夹的属主是否是named用户,是否具有读写权限。
3,是否启用了notify功能,该功能也可以在全局项options内配置,只不过全局配置是针对所有域的。
4,每次修改dns解析的记录,需要修改series值,采用T+1算法。

日志信息如下:

[[email protected] named]# tail -f /var/log/messages
May 11 17:30:57 zabbix named[33420]: client 192.168.99.98#18648: received notify for zone ‘lqb.com‘
May 11 17:30:57 zabbix named[33420]: zone lqb.com/IN: Transfer started.
May 11 17:30:57 zabbix named[33420]: transfer of ‘lqb.com/IN‘ from 192.168.99.98#53: connected using 192.168.99.99#32886
May 11 17:30:57 zabbix named[33420]: zone lqb.com/IN: transferred serial 20180513
May 11 17:30:57 zabbix named[33420]: transfer of ‘lqb.com/IN‘ from 192.168.99.98#53: Transfer completed: 1 messages, 13 records, 316 bytes, 0.001 secs (316000 bytes/sec)
May 11 17:30:57 zabbix named[33420]: zone lqb.com/IN: sending notifies (serial 20180513)

原文地址:http://blog.51cto.com/liqingbiao/2115336

时间: 2024-08-29 06:08:09

CentOS7.4下建立DNS主从服务器(二)的相关文章

使用Bind9搭建DNS主从服务器

一.前提    互联网中的主机是基于ip地址来联系通信的,而ip地址不太容易记住,所以为了方便访问网络中的主机,人们为主机分配一个名称.通过将每台主机的名称与 它的ip地址建立一个一对一的映射,在访问网络中的主机时,可以直接使用主机的名称.而提供这种映射与查询的系统就叫名称解析系统,现在常用的为DNS(Domin Name System)系统. 二.使用Bind9搭建DNS主从服务器 在实际的工作中,可能需要我们自己配置的就是本地DNS服务器. 一套完整的DNS需要提供正向解析与反向解析的功能.

linux系统建立DNS主从域名服务器实现正向反向查询

实验要求:建立DNS主从域名服务器实现正向反向查询 实验步骤: 1.正向查询 首先挂载并且安装bind软件 查看工作目录 进入主配置文件并且修改配置文件的监听端口的ip地址指向自己,允许查询的网段为任何人 区域文件 进入并配置区域设置文件 在进入named 查看,并且将区域配置的数据文件named.localhost文件的内容拷贝到benet.com.zone当中并重新编辑 建立正向查询 指定本机地址为DNS服务器地址写入etc/resolv.conf文件,写入完之后查看下 关闭防火墙,并且开启

CentOS7.0下智能DNS服务配置

CentOS7.0下智能DNS服务配置 智能DNS简介 智能DNS是域名服务在业界首创的智能解析服务.能自动判断访问者的IP地址并解析出对应的IP地址,使网通用户会访问到网通服务器,电信用户会访问到电信服务器. 实验环境:Centos7.0最小化四台,XP三台. Bind Server:192.168.9.203 Apache Server(电信): 192.168.9.204 Apache Server(网通): 192.168.9.205 Apache Server(any): 192.16

linux redhat6.5 中 构建DNS主从服务器

DNS主从服务器简介:主DNS服务器: 维护所负责解析的域内解析库的服务器:解析库由管理维护从DNS服务器: 从主DNS服务器或其它的从DNS服务器那里"复制"(区域传递)一份解析库 首先在两台linux中 构建DNS服务器 DNS的构建之前的文章中有详细教程:http://blog.51cto.com/13630803/2114574下面开始配置 主从同步.1:将虚拟机1 作为主DNS 编辑它的区域文件named.rfc1912.zones配置 正反解析allow-transfer

搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验

1基本知识点 DNS服务 DNS:Domain Name System 应用层协议C/S,53/udp, 53/tcpBIND:Bekerley Internat Name DomainISC (www.isc.org)本地名称解析配置文件:hosts DNS域名 根域一级域名:Top Level Domain: tldcom, edu, mil, gov, net, org, int,arpa三类:组织域.国家域(.cn, .ca, .hk, .tw).反向域二级域名三级域名最多127级域名I

CentOS7上使用bind9搭建DNS主从服务器

一.bind简介 一.bind简介 Linux中通常使用bind来实现DNS服务器的架设,bind软件由isc(https://www.isc.org/downloads/bind/)维护.在yum仓库中可以找到软件,配置好yum源,直接使用命令yum install bind就可以安装.当前bind的稳定版本为bind9,bind的服务名称为named,监听的端口为53号端口.bind的主要配置文件为/etc/named.conf,此文件主要用于配置区域,并指定区域数据库文件名称.区域数据库文

BIND:DNS主从服务器架构和安全控制详解

前提: 本篇文章以虚拟机中创建的CentOS 7系统主机配置为例进行叙述 主DNS服务器地址 172.16.49.2    CentOS 7 从DNS服务器地址 172.16.49.3    CentOS 使用二级域名 xuding.win 一.主-从DNS服务器配置 主DNS服务器:维护所负责解析的域数据库的服务器:读写操作均可进行: 从DNS服务器:从主DNS服务器那里或其它的从DNS服务器那里"复制"一份解析库:但只能进行读操作: 注意:从服务器是区域级别的概念,相对于某个区域配

架设DNS服务器(DNS主从服务器架设)

搭建DNS服务器 试验要求:以workstation(92.168.1.105)作为服务器,(可以做正向解析和反向解析),以server1(192.168.1.103)作为客户机验证 #安装bind服务 yum install bind-chroot bind-utils -y bind安装好之后会产生若干程序和配置文件:常见的如下: 主程序:/usr/sbin/named 主配置文件:/etc/named.conf 区域配置文件:/etc/named.rfc.1912.zones #配置bin

DNS主从服务器架构的步骤

#yum install bind -y,安装完成之后,#vim /etc/named.conf.named.conf的样子如下: 然后就对应写里面三个红名的文件. namd.ca很简单,这是设定根的服务器,#dig -t NS . > /usr/named/named.ca即可. localhost.zone的写法如下(这里添加的注释在实际操作的时候是不能有的,文件不认识#): named.local的写法如下(这里添加的注释在实际操作的时候是不能有的,文件不认识#): 完事之后,把这三个文件