您的位置:首页 > 其它

缓存DNS服务器和主从DNS服务器的快速搭建详解――续

2013-04-03 18:41 387 查看
上一节中我们说了关于如何构建缓存DNS和主DNS的快速搭建,这里算是一个续篇,为了说明如何构建主从DNS服务器以实现DNS的冗余负载均衡。所以在这里的一切配置都是基于上一章的内容,如有不解请参考上一章(http://ywhwzhang.blog.51cto.com/3821405/1169441),对您造成的不变请谅解。
一、设定配置内容
在上一章的时候我们假设已经在网上注册了wangej.com域名,得到的IP网络是172.16.12.0/24
主DNS服务器的配置是:
ns服务器是:172.16.12.1
www服务器:172.16.12.1,另外一个地址:172.16.12.3
mail服务器:172.16.12.5
从DNS的配置大致类似(从服务器IP为172.16.12.2)
二、准备工作:
因为在上一节中已经讲过,这里就不再说明了。
三、命令解析
DNS服务是我们为公司或者其他机构提供的域名解析服务,那么这里就一定有一个范围的界定,不仅仅是为了安全,也能够让服务的资源更大限度的为客户服务,而不是被一些人恶意的攻击。
上一篇中我们提到了dig命令,dig命令不仅仅可以用来查询测试我们的DNS服务是否能够正常使用,还可以在查询传送我们主服务器的全部内容,和增量内容。所以这里我们就必须要对能够查询的对象做进一步的限定,这样才能够尽量的保证我们服务器的安全。我们可以使用recursion命令来觉得开启或者关闭递归功能,默认递归功能是开启状态;使用allow-recursion { NET;};来为某个网段提供递归服务;使用allow-query确定允许查询的用户(不过这样一来构建的DNS服务器就不能够面对公共服务了);使用allow-transfer定义允许传送数据的用,这里我们一般都只设定从服务器才能够传送信息。
[root@ywhwzhang named]# dig -t axfr wangej.com @172.16.12.1 我们允许完全查询DNS服务器的所有信息
[root@ywhwzhang named]# dig -t axfr wangej.com @172.16.12.1

; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -t axfr wangej.com @172.16.12.1
;; global options: +cmd
wangej.com.     3600    IN  SOA ns1.wangej.com. admin.wangej.com. 3 3600 300 172800 21600
wangej.com.     3600    IN  NS  ns1.wangej.com.
wangej.com.     3600    IN  MX  10 mail.wangej.com.
*.wangej.com.       3600    IN  A   172.16.12.1
ftp.wangej.com.     3600    IN  CNAME   www.wangej.com.
mail.wangej.com.    3600    IN  A   172.16.12.2
ns1.wangej.com.     3600    IN  A   172.16.12.1
www.wangej.com.     3600    IN  A   172.16.12.1
www.wangej.com.     3600    IN  A   172.16.12.3
wangej.com.     3600    IN  SOA ns1.wangej.com. admin.wangej.com. 3 3600 300 172800 21600
;; Query time: 2 msec
;; SERVER: 172.16.12.1#53(172.16.12.1)
;; WHEN: Wed Apr  3 16:55:16 2013
;; XFR size: 10 records (messages 1, bytes 249)


[root@ywhwzhang named]# dig -t IXFR=3 wangej.com @172.16.12.1 修改主DNS服务器配置之后,我们增量查询一下
[root@ywhwzhang named]# dig -t IXFR=3 wangej.com @172.16.12.1

; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -t IXFR=3 wangej.com @172.16.12.1
;; global options: +cmd
wangej.com.     3600    IN  SOA ns1.wangej.com. admin.wangej.com. 3 3600 300 172800 21600
;; Query time: 4 msec
;; SERVER: 172.16.12.1#53(172.16.12.1)
;; WHEN: Wed Apr  3 16:57:03 2013
;; XFR size: 1 records (messages 1, bytes 74)


[root@ywhwzhang ~]# dig -t axfr wangej.com @172.16.12.1 我们使用允许以外的主机查询
[root@ywhwzhang ~]# dig -t axfr wangej.com @172.16.12.1

; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -t axfr wangej.com @172.16.12.1
;; global options: +cmd
; Transfer failed.


四、配置从DNS服务器
1、首先需要安装好bind97.i386、bind97-libs.i386、bind97-utils.i386这三个软件包。构建好我们的DNS环境平台。然后临时性关闭SELinux服务,防止SELinux对我们的配置造成不必要的影响。
2、修改添加主服务器的主配置文件:vim /etc/named.conf
[root@ywhwzhang named]# vim /etc/named.conf
options {
directory "/var/named";
};

zone "." IN {
type hint;
file "named.ca";
};

zone "localhost" IN {
type master;
file "named.localhost";
};

zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
};

zone "wangej.com" IN {
type master;                                    #指定主从类型
file "wangej.com.zone";                         #指定区域数据文件
allow-transfer { 172.16.12.2; };                #只允许172.16.12.2传输信息
};

zone "12.16.172.in-addr.arpa" IN {
type master;                                    #指定主从类型
file "172.16.12.zone";                          #指定区域数据文件
allow-transfer { 172.16.12.2; };                #只允许172.16.12.2传输信息
};


3、配置从服务器的主配置文件(这里就不需要为从服务器添加区域数据文件了)
vim /etc/named.conf
[root@ywhwzhang named]# vim /etc/named.conf
options {
directory "/var/named";
};

zone "." IN {
type hint;
file "named.ca";
};

zone "localhost" IN {
type master;
file "named.localhost";
};

zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
};

zone "wangej.com" IN {
type slave;                                     #指定主从类型
file "slaves/wangej.com.zone";                  #指定区域数据文件
masters { 172.16.12.1; };                       #指定主服务地址
allow-transfer { none; };                       #禁止其他主机传送数据
};

zone "12.16.172.in-addr.arpa" IN {
type slave;                                     #指定主从类型
file "slaves/172.16.12.zone";                   #指定区域数据文件
masters { 172.16.12.1; };                       #指定主服务地址
allow-transfer { none; };                       #禁止其他主机传送数据
};


4、重启服务,测试主从服务器能否正常使用和传送数据
tail /var/log/messages
[root@ywhwzhang ~]# tail /var/log/messages
Apr  3 17:07:13 localhost named[6146]: client 172.16.12.1#52450: zone transfer 'wangej.com/AXFR/IN' denied
Apr  3 17:18:35 localhost named[6146]: client 172.16.12.2#41948: transfer of '12.16.172.in-addr.arpa/IN': AXFR started
Apr  3 17:18:35 localhost named[6146]: client 172.16.12.2#41948: transfer of '12.16.172.in-addr.arpa/IN': AXFR ended
Apr  3 17:18:36 localhost named[6146]: client 172.16.12.2#56157: transfer of 'wangej.com/IN': AXFR started
Apr  3 17:18:36 localhost named[6146]: client 172.16.12.2#56157: transfer of 'wangej.com/IN': AXFR ended


查看同步结果:(注意此时的版本号为1)
[root@ywhwzhang named]# cat ./slaves/wangej.com.zone
$ORIGIN .
$TTL 3600   ; 1 hour
wangej.com      IN SOA  ns1.wangej.com. admin.wangej.com. (
1          ; serial
3600       ; refresh (1 hour)
300        ; retry (5 minutes)
172800     ; expire (2 days)
21600      ; minimum (6 hours)
)
NS  ns1.wangej.com.
MX  10 mail.wangej.com.
$ORIGIN wangej.com.
ftp         CNAME   www
mail            A   172.16.12.5
ns1         A   172.16.12.1
www         A   172.16.12.1
A   172.16.12.3

接下来我们修改主服务器的解析域条目,然后查看一下主从服务器能否自动获得更新:
主DNS服务器日志:
[root@ywhwzhang named]# tail /var/log/messages
Apr  3 16:16:14 localhost last message repeated 4 times
Apr  3 16:19:08 localhost named[6146]: client 172.16.12.2#51841: transfer of 'wangej.com/IN': AXFR-style IXFR started
Apr  3 16:19:08 localhost named[6146]: client 172.16.12.2#51841: transfer of 'wangej.com/IN': AXFR-style IXFR ended

从DNS服务器日志:(注意,在日志中已经显示了我们修改后的版本号)
[root@ywhwzhang named]# tail /var/log/messages
Apr  3 16:16:14 localhost last message repeated 4 times
Apr  3 16:19:08 localhost named[6801]: zone wangej.com/IN: Transfer started.
Apr  3 16:19:08 localhost named[6801]: transfer of 'wangej.com/IN' from 172.16.12.1#53: connected using 172.16.12.2#51841
Apr  3 16:19:08 localhost named[6801]: zone wangej.com/IN: transferred serial 2
Apr  3 16:19:08 localhost named[6801]: transfer of 'wangej.com/IN' from 172.16.12.1#53: Transfer completed: 1 messages, 10 records, 249 bytes, 0.030 secs (8300 bytes/sec)

最后我们查看一下从服务器是否真正接收到了数据(此时的从服务的数据版本号已经转变为2)
[root@ywhwzhang named]# cat ./slaves/wangej.com.zone
$ORIGIN .
$TTL 3600   ; 1 hour
wangej.com      IN SOA  ns1.wangej.com. admin.wangej.com. (
2          ; serial
3600       ; refresh (1 hour)
300        ; retry (5 minutes)
172800     ; expire (2 days)
21600      ; minimum (6 hours)
)
NS  ns1.wangej.com.
MX  10 mail.wangej.com.
$ORIGIN wangej.com.
*           A   172.16.12.1
ftp         CNAME   www
mail            A   172.16.12.5
ns1         A   172.16.12.1
www         A   172.16.12.1
A   172.16.12.3

五、下期介绍:
在DNS服务器的使用过程中我们会遇到各种的问题,很多的时候不单单一台服务器就能够搞定的,这个时候就需要我们为自己的服务器添加子域,为子域授权。
当我们的DNS服务器在为众多的域提供服务的时候,上面的那些简单配置就会显得越来越繁琐,那我们ACL就是能够帮助我们在越来越繁琐的工作中找到一个捷径的办法。
嘿嘿,看我的博客就要有过日子的心啊。亲,下期见!

本文出自 “小败向前冲!” 博客,请务必保留此出处http://yhwhzhang.blog.51cto.com/3821405/1170366
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: