<b>1</b><b>、泛域名解析的概念:</b>
<a href="http://blog.51cto.com/attachment/201304/141920563.jpg" target="_blank"></a>
如用户登录mageedu.com时,输入错误,输入了ww.mageedu.com时,mageedu.com的NS服务器是无法判断ww这个域名的。所以为了防止此错误。小的网站的NS服务器中配置可以在定义一个项 *.mageedu.com.来引导输入错误的用户还能够进入到此网站。但是一些大型的网站这样的做法就有些不妥,他们通常采用的是让用户进入到一个错误的页面,来引导用户。或者让用户重新输入。
<a href="http://blog.51cto.com/attachment/201304/141932925.jpg" target="_blank"></a>
<b>2</b><b>、自己的</b><b>DNS</b><b>服务器不应该为自己区域以外的人随意递归</b>
<b>①如何编辑定义递归的选项</b>
vim /etc/named.conf
在此处添加recursion yes; //表示允许给所有人递归
<a href="http://blog.51cto.com/attachment/201304/141948897.jpg" target="_blank"></a>
或者添加allow-recusion { 172.16.0.0/16 }; //表示只允许给这个网段下的用户递归
<a href="http://blog.51cto.com/attachment/201304/141959795.jpg" target="_blank"></a>
我们改成这样继续进行
注:dig +[no]recursion 代表使用递归查询与否
dig +trace 代表解析过程
在修改前,我们可以使用这些选项测试是否可以递归baidu之类的网址。
<a href="http://blog.51cto.com/attachment/201304/142014889.jpg" target="_blank"></a>
这个时候,使用127.0.0.1递归的时候,DNS服务器已经拒绝递归了。
<b>完全区域传送与增量区域传送</b>
<a href="http://blog.51cto.com/attachment/201304/142027316.jpg" target="_blank"></a>
<b> </b>
dig –t axfr doubao.com //完全区域传送
dig –t IXFR=2013040201 doubao.com //查看增量信息
实现主从服务器数据同步:
数据同步类型:
完全区域数据传送(axfr) 将主NDS的区域配置文件(/var/named)完全同步到辅助DNS服务器(/var/named/slaves)
增量区域数据传送(ixfr) 将主NDS的区域配置文件中新添的资源条目(/var/named)同步到辅助DNS服务器(/var/named/slaves)
区域文件传送可不能让任何进行传送,只允许自己的从服务器进行数据传送
注:区域传送的条件是在有主从服务器的情况下,当主服务器有变化的时候。因为区域传送可以看到DNS的结构,所以设置时只允许从服务器进行传送。
allow-transfer {}; //定义允许谁传送
<a href="http://blog.51cto.com/attachment/201304/142043677.jpg" target="_blank"></a>
<b>3</b><b>、如何配置</b><b>DNS</b><b>的从服务器</b>
<b>①先给第二台虚拟机配置</b><b>bind97</b>
[root@localhost ~]# rpm -ql bind
package bind is not installed //老版本已经卸载
[root@localhost ~]# rpm -ql bind97
/etc/NetworkManager/dispatcher.d/13-named
/etc/logrotate.d/named
/etc/named
/etc/named.conf
/etc/named.iscdlv.key
/etc/named.rfc1912.zones
/etc/named.root.key
/etc/rc.d/init.d/named
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named //bind97已经安装
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
redhat.repo rhel-debuginfo.repo server.repo yumsever.repo
[root@localhost yum.repos.d]# cd
[root@localhost ~]# ls -ld /var/named/
drwxr-x--- 5 root named 4096 Apr 1 18:01 /var/named/ //由于named这里没有写权限,所以我们重新选择一个别的
drwxr-x--- 5 root named 4096 Apr 1 18:01 /var/named/
[root@localhost ~]# ls -l /var/named/
total 72
-rw-r----- 1 root named 231 Apr 1 18:01 172.16.111.zone
drwxrwx--- 2 named named 4096 Nov 17 2011 data
-rw-r----- 1 root named 282 Apr 1 17:41 doubao.com.zone
drwxrwx--- 2 named named 4096 Nov 17 2011 dynamic
-rw-r----- 1 root named 1892 Feb 18 2008 named.ca
-rw-r----- 1 root named 152 Dec 15 2009 named.empty
-rw-r----- 1 root named 152 Jun 21 2007 named.localhost
-rw-r----- 1 root named 168 Dec 15 2009 named.loopback
drwxrwx--- 2 named named 4096 Nov 17 2011 slaves //对,就是这里这个文件
[root@localhost ~]# setenforce 0
然后编辑named.conf文件
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 {
file "named.loopback";
zone "doubao.com" IN { //配置从服务器
type slave;
file "slave/doubao.com.zone"; //保存位置
masters { 172.16.111.1; }; //配置主服务器路径
allow-transfer { none; }; //不允许传送
zone "111.16.172.in-addr.arpa" IN {
file "slave/172.16.111.zone";
masters { 172.16.111.1; };
allow-transfer { none; };
然后更改其权限
[root@localhost etc]# ls -l named.conf
-rw-r----- 1 root named 493 Apr 4 12:00 named.conf //权限named组是读取不到的
[root@localhost etc]# chgrp named /etc/named.conf
启动服务
service named start
<a href="http://blog.51cto.com/attachment/201304/142131778.jpg" target="_blank"></a>
tail /var/log/messages //查看下是否进行了区域传送。
<a href="http://blog.51cto.com/attachment/201304/142200373.jpg" target="_blank"></a>
然后进入到从服务器中,继续查看
tail /var/log/messages
<a href="http://blog.51cto.com/attachment/201304/142221928.jpg" target="_blank"></a>
然后我们cd到slaves/中查看是否有数据(可以看到系统自动生成的2个文件)
<a href="http://blog.51cto.com/attachment/201304/142252972.jpg" target="_blank"></a>
打开其中一个文件观察下期内容:
vim mageedu.com.zone
<b>这个时候,我们已经完成了完全区域传送的功能,那么下面我们来实现增量区域传送:</b>
首先,我们进入到主服务器中,在mageedu.com.zone中添加信息
<a href="http://blog.51cto.com/attachment/201304/142456376.jpg" target="_blank"></a>
<a href="http://blog.51cto.com/attachment/201304/142513957.jpg" target="_blank"></a>
此处
<a href="http://blog.51cto.com/attachment/201304/142529523.jpg" target="_blank"></a>
然后将这里改为3(版本发生了改变)
然后也要改变反向区域文件:
<a href="http://blog.51cto.com/attachment/201304/142544153.jpg" target="_blank"></a>
service named reload //重读
然后继续查看主服务器中的日志
tail /var/log/messages
<a href="http://blog.51cto.com/attachment/201304/142559870.jpg" target="_blank"></a>
可以看出来reloading zones成功,并且下一行显示了更新的版本
然后回到从服务器中也查看其日志
<a href="http://blog.51cto.com/attachment/201304/142649369.jpg" target="_blank"></a>
然后cat mageedu.com.zone
<a href="http://blog.51cto.com/attachment/201304/142709158.jpg" target="_blank"></a>
里面的文件也已经更新
<b>注意:当我们新增一条</b><b>NS</b><b>服务器以后,已经要将其</b><b>NS</b><b>记录加到主服务器的</b><b>SOA</b><b>记录中去。</b>
我们来测试下反向区域传送
到主服务器中的反向区域文件中,添加一条新的记录 6
<a href="http://blog.51cto.com/attachment/201304/142722962.jpg" target="_blank"></a>
然后service named reload重读
继续查看日志文件
<a href="http://blog.51cto.com/attachment/201304/142802809.jpg" target="_blank"></a>
然后到从服务器中查看区域文件
<a href="http://blog.51cto.com/attachment/201304/142814918.jpg" target="_blank"></a>
<b>如何使用</b><b>rndc</b><b>远程来控制主从服务器</b>
rndc的用法
-c 指定配置文件
-s 指定远程服务器是谁
-p 指定以哪个端口进行连接
-k 以哪个key文件进行发送文件
注意:因为rndc是远程控制,所以为了防止外人通过其来进行攻击,我们首先要为其提供key
rndc-confgen > /etc/rndc.conf
然后cat下其文件内容
<a href="http://blog.51cto.com/attachment/201304/142828697.jpg" target="_blank"></a>
其中下面的都是被注释掉了,通过前边的start可以看出这个是启动这个rndc服务的,然后下边注释掉的内容是将一下的内容添加到named.conf文件中,所以我们来进行这个操作
rndc –c /etc/rndc.conf //指定配置文件
rm /etc/rndc.key //删除安装bind97中自动生成的key文件
然后重启下named服务
然后使用rndc命令进行控制
rndc –c /etc/rndc.conf status
<a href="http://blog.51cto.com/attachment/201304/142937454.jpg" target="_blank"></a>
然后这种方法可以配合stop(停止) flush(清空缓存)等命令来实行管理
如果要通过别的服务器来远程控制,可以在这里定义
<a href="http://blog.51cto.com/attachment/201304/143006294.jpg" target="_blank"></a>
其中inet中定义通过哪个端口可以来控制
allow定义允许谁来控制
然后控制前需要把rndc.conf文件移植到控制端中,并更改端口以及使用的指定需要注意
<b>开启</b><b>rndc</b><b>是相当危险的,一般不建议开启哦</b>
<b> </b>
本文转自 陈延宗 51CTO博客,原文链接:http://blog.51cto.com/407711169/1171002,如需转载请自行联系原作者