码迷,mamicode.com
首页 > 其他好文 > 详细

DNS主从

时间:2015-06-25 17:41:48      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:服务器   软件   


一、主从DNS实验环境

系统环境 :Centos 6.6 X86_64

Master  IP:10.10.10.141   

HOSTNAME: dns1.abc.com

Slav    IP:10.10.10.142

HOSTNAME: dns2.abc.com

 

二、DNS主从同步原理图

技术分享 

三、搭建主DNS服务器

1.安装软件

[root@localhost ~]# yum -y install bind bind-chroot bind-utils技术分享

2.修改主配置文件

 

默认chroot之后的虚拟根目录/var/named/chroot/etc 下面并没有现成的配置文件,需要在/usr/share/doc/bind-9.8.2/sample/etc/目录下找到配置文件模板,复制该文件至/var/named/chroot/etc/目录下,并根据情况修改配置文件

[root@localhost ~]# cd /usr/share/doc/bind-9.8.2/sample/etc/

[root@localhost etc]# cp named.conf /var/named/chroot/etc/

[root@localhost etc]# cp  named.rfc1912.zones  /var/named/chroot/etc/                

[root@localhost etc]# chown named:named /var/named/chroot/etc/named.conf

[root@localhost etc]# vim  /var/named/chroot/etc/named.conf

 

 

//  

// named.conf  

//  

// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS  

// server as a caching only nameserver (as a localhost DNS resolver only).  

//  

// See /usr/share/doc/bind*/sample/ for example named configuration files.  

//  

options {  

        listen-on port 53 { any; };

        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     { 0.0.0.0/0; };

        recursion yes;

        dnssec-enable yes;

        dnssec-validation yes;

        dnssec-lookaside auto;

 

        /* Path to ISC DLV key */

        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";

};

 

logging {  

        channel default_debug {

                file "data/named.run";

                severity dynamic;

        };  

};

 

zone "." IN {  

        type hint;  

        file "named.ca";  

};

 

include "/etc/named.rfc1912.zones"; 

include "/etc/named.root.key";

 

 

 

 

[root@localhost etc]# vim  /var/named/chroot/etc/named.rfc1912.zones 

// named.rfc1912.zones:  

//  

// Provided by Red Hat caching-nameserver package   

//  

// ISC BIND named zone configuration for zones recommended by  

// RFC 1912 section 4.1 : localhost TLDs and address zones  

// and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt  

// (c)2007 R W Franks  

//   

// See /usr/share/doc/bind*/sample/ for example named configuration files.  

//  

  

acl secondserver {

10.10.10.142;

};

 

zone "abc.com" IN {  

        type master;  

        file "abc.com.zone";  

        allow-transfer { secondserver ;};  

};  

 

zone "10.10.in-addr.arpa" IN {  

        type master;  

        file "10.10.zone";  

        allow-transfer { secondserver ;};    

}; 

 

3.创建区数据文件

主配置文件仅是对zone域的定义,关于域内主机的具体记录解析,还需要依赖于数据文件的内容,常见的域名解析有正向解析记录,反向即系记录、CNAME记录袭击MX记录等。完成了主配置文件中关于zone域的配置后,我们就根据模板创建具体的区数据文件,这些文件的创建可以根据软件包中提供的name.localhost文件作为模板。

创建一个用于正向解析的abc.com.zone域数据文件,再创建一个用于进行反向解析的10.10.zone域数据文件。

[root@localhost etc]# cd /usr/share/doc/bind-9.8.2/sample/var/named/

[root@localhost named]# cp named.ca /var/named/chroot/var/named/

[root@localhostnamed]#chownnamed:named/var/named/chroot/var/named/named.ca

[root@localhostnamed]#cpnamed.localhost/var/named/chroot/var/named/abc.com.zone

[root@localhostnamed]#chownnamed:named/var/named/chroot/var/named/abc.com.zone

[root@localhost named]# vim /var/named/chroot/var/named/abc.com.zone

$TTL 1D

@IN SOA@ rname.invalid. (

0; serial

1D; refresh

1H; retry

1W; expire

3H ); minimum

NSdns1.abc.com.

NSdns2.abc.com.

dns1  IN A 10.10.10.141

dns2  IN A 10.10.10.142

www IN A 10.10.10.153

[root@localhost named]# vim /var/named/chroot/var/named/10.10.zone

$TTL 1D

@IN SOA@ rname.invalid. (

0; serial

1D; refresh

1H; retry

1W; expire

3H ); minimum

NS  dns1.abc.com.

        NS  dns2.abc.com.

141 IN PTR dns1.abc.com.

142 IN PTR dns2.abc.com.

153 IN PTR www.abc.com.

 

4.服务管理

在主服务部署完成后,如果不禁用防火墙或通过防火墙开启特定的端口,客户端主机是无法进行查询工作的。

TCP的53端口用于主从复制,UDP的53端口用于数据查询

[root@localhost ~]# iptables -I INPUT -p udp --dport 53 -j ACCEPT

[root@localhost ~]# iptables -I INPUT -p tcp --dport 53 -j ACCEPT

[root@localhost ~]# service iptables save

[root@localhost ~]# service named start

[root@localhost ~]# chkconfig named on

 

5.客户端验证

客户端正确配置DNS服务器后,查询工具比较多,常用的有nslookup,dig,host

Nslookup www.abc.com

Nslookup 10.10.10.153

Dig www.abc.com   host www.abc.com

四、搭建DNS服务器

部署从域名服务器的作用是防止出现单点故障或实现负载均衡。如果只有一台服务器,当该服务器宕机时,当值所有客户端的地址解析出现问题。另外,为了满足大规模的查询请求,我们可以创建多台DNS服务器实现负载均衡。然而如果所有的DNS都作为主服务器,会有大量的配置需要我们重复进行,再有就是当解析记录发生改变后,各个服务器之间的区数据文件的版本比较混乱(不方便同一),所以我们需要部署从域名服务器,从域名服务器会从主域名服务器上下载数据文件,只要主服务器修改了数据文件中的记录,从服务器就可以自动同步数据

1.安装软件

[root@localhost ~]# yum -y install bind bind-chroot bind-utils

2.修改主配置文件

与主服务器一样,我们需要复制模板配置文件,并修改named.conf配置文件与主服务器配置文件。有所不同的是,所有从服务器配置文件中除根域以外的所有zone域类型均为salve,依次声明自己是从服务器,并使用master语句指定与哪台主服务器进行数据同步。

在这里的主配置文件与从配置文件的named.conf文件是一致的,不同在于named.rfc1912.zones文件

[root@localhost ~]# cd /usr/share/doc/bind-9.8.2/sample/etc/

[root@localhost etc]# cp named.conf /var/named/chroot/etc/

[root@localhost etc]# cp  named.rfc1912.zones  /var/named/chroot/etc/                

[root@localhost etc]# chown named:named /var/named/chroot/etc/named.conf

[root@localhost etc]# vim  /var/named/chroot/etc/named.rfc1912.zones 

// named.rfc1912.zones:  

//  

// Provided by Red Hat caching-nameserver package   

//  

// ISC BIND named zone configuration for zones recommended by  

// RFC 1912 section 4.1 : localhost TLDs and address zones  

// and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt  

// (c)2007 R W Franks  

//   

// See /usr/share/doc/bind*/sample/ for example named configuration files.  

//  

  

  

zone "abc.com" IN {  

        type slave;

        masters {10.10.10.141;};  

        file "slaves/abc.com.zone";  

};  

 

zone "10.10.in-addr.arpa" IN {  

        type slave;  

        masters {10.10.10.141;};  

        file "slaves/10.10.zone";  

};

 

3.同步数据文件

从服务器进行同步操作前,需要创建一个BIND软件读取操作目录,以便将主服务器的数据文件保存至该目录。这里创建了slaves目录

[root@123 slaves]# mkdir -p /var/named/chroot/var/named/slaves/

[root@123slaves]#chown named:named /var/named/chroot/var/named/slaves/

[root@123 slaves]#chomd 755 /var/named/chroot/var/named/slaves/

从服务器想要同步到主服务器的数据,需要先启动主服务器,在启动从服务器。

[root@123 slaves]# cd /var/named/chroot/var/named/slaves/

[root@123 slaves]# ls

10.10.zone  abc.com.zone

访问需要解析的网站www.abc.com,结果如图

技术分享 

参考资料:http://xiaodong88.blog.51cto.com/1492564/1272625

          http://blog.csdn.net/charlsecharlse/article/details/17955119

http://www.cnblogs.com/xiaoluo501395377/archive/2013/06/06/3120326.html

 

 


DNS主从

标签:服务器   软件   

原文地址:http://881955.blog.51cto.com/871955/1665618

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!