您的位置:首页 > 其它

DNS主从

2015-06-25 16:25 197 查看

一、主从DNS实验环境

系统环境 :Centos 6.6 X86_64Master IP:10.10.10.141 HOSTNAME: dns1.abc.comSlav IP:10.10.10.142HOSTNAME: 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  软件 服务器