天天看点

DNS服务器-从服务器的架设

1 、泛域名解析的概念:

DNS服务器-从服务器的架设
 如用户登录mageedu.com时,输入错误,输入了ww.mageedu.com时,mageedu.com的NS服务器是无法判断ww这个域名的。所以为了防止此错误。小的网站的NS服务器中配置可以在定义一个项 *.mageedu.com.来引导输入错误的用户还能够进入到此网站。但是一些大型的网站这样的做法就有些不妥,他们通常采用的是让用户进入到一个错误的页面,来引导用户。或者让用户重新输入。
DNS服务器-从服务器的架设
2 、自己的 DNS 服务器不应该为自己区域以外的人随意递归 ①如何编辑定义递归的选项

 vim /etc/named.conf

 在此处添加recursion yes; //表示允许给所有人递归

DNS服务器-从服务器的架设
或者添加allow-recusion { 172.16.0.0/16 }; //表示只允许给这个网段下的用户递归
DNS服务器-从服务器的架设

我们改成这样继续进行

注:dig +[no]recursion 代表使用递归查询与否

dig +trace         代表解析过程

在修改前,我们可以使用这些选项测试是否可以递归baidu之类的网址。

DNS服务器-从服务器的架设
这个时候,使用127.0.0.1递归的时候,DNS服务器已经拒绝递归了。 完全区域传送与增量区域传送
DNS服务器-从服务器的架设

  1. dig –t axfr doubao.com //完全区域传送  
  2. 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 {}; //定义允许谁传送

DNS服务器-从服务器的架设
3 、如何配置 的从服务器 ①先给第二台虚拟机配置 bind97
  1. [root@localhost ~]# rpm -ql bind  
  2. package bind is not installed         //老版本已经卸载  
  3. [root@localhost ~]# rpm -ql bind97      
  4. /etc/NetworkManager/dispatcher.d/13-named  
  5. /etc/logrotate.d/named  
  6. /etc/named  
  7. /etc/named.conf  
  8. /etc/named.iscdlv.key  
  9. /etc/named.rfc1912.zones  
  10. /etc/named.root.key  
  11. /etc/rc.d/init.d/named  
  12. /etc/rndc.conf  
  13. /etc/rndc.key  
  14. /etc/sysconfig/named                 //bind97已经安装  
  1. [root@localhost ~]# cd /etc/yum.repos.d/  
  2. [root@localhost yum.repos.d]# ls  
  3. redhat.repo rhel-debuginfo.repo server.repo yumsever.repo  
  4. [root@localhost yum.repos.d]# cd  
  5. [root@localhost ~]# ls -ld /var/named/  
  6. drwxr-x--- 5 root named 4096 Apr 1 18:01 /var/named/   //由于named这里没有写权限,所以我们重新选择一个别的  
  7. [root@localhost ~]# ls -ld /var/named/  
  8. drwxr-x--- 5 root named 4096 Apr 1 18:01 /var/named/  
  9. [root@localhost ~]# ls -l /var/named/  
  10. total 72  
  11. -rw-r----- 1 root named 231 Apr 1 18:01 172.16.111.zone  
  12. drwxrwx--- 2 named named 4096 Nov 17 2011 data  
  13. -rw-r----- 1 root named 282 Apr 1 17:41 doubao.com.zone  
  14. drwxrwx--- 2 named named 4096 Nov 17 2011 dynamic  
  15. -rw-r----- 1 root named 1892 Feb 18 2008 named.ca  
  16. -rw-r----- 1 root named 152 Dec 15 2009 named.empty  
  17. -rw-r----- 1 root named 152 Jun 21 2007 named.localhost  
  18. -rw-r----- 1 root named 168 Dec 15 2009 named.loopback  
  19. drwxrwx--- 2 named named 4096 Nov 17 2011 slaves    //对,就是这里这个文件  
  20. [root@localhost ~]# setenforce 0  

然后编辑named.conf文件

  1. vim /etc/named.conf  
  2. options {  
  3.         directory       "/var/named";  
  4. };  
  5. zone "." IN {  
  6.         type hint;  
  7.         file "named.ca";  
  8. };  
  9. zone "localhost" IN {  
  10.         type master;  
  11.         file "named.localhost";  
  12. };  
  13. zone "0.0.127.in-addr.arpa" IN {  
  14.         type master;  
  15.         file "named.loopback";  
  16. };  
  17. zone "doubao.com" IN {               //配置从服务器  
  18.         type slave;  
  19.         file "slave/doubao.com.zone";    //保存位置  
  20.         masters { 172.16.111.1; };      //配置主服务器路径  
  21.         allow-transfer { none; };      //不允许传送  
  22. };  
  23. zone "111.16.172.in-addr.arpa" IN {  
  24.         type slave;  
  25.         file "slave/172.16.111.zone";  
  26.         masters { 172.16.111.1; };  
  27.         allow-transfer { none; };  
  28. };  

然后更改其权限

  1. [root@localhost etc]# ls -l named.conf   
  2. -rw-r----- 1 root named 493 Apr 4 12:00 named.conf //权限named组是读取不到的  
  3. [root@localhost etc]# chgrp named /etc/named.conf  

启动服务

service named start

DNS服务器-从服务器的架设
  1. tail /var/log/messages //查看下是否进行了区域传送。  
DNS服务器-从服务器的架设

然后进入到从服务器中,继续查看

tail /var/log/messages

DNS服务器-从服务器的架设

然后我们cd到slaves/中查看是否有数据(可以看到系统自动生成的2个文件)

DNS服务器-从服务器的架设

打开其中一个文件观察下期内容:

vim mageedu.com.zone

DNS服务器-从服务器的架设
这个时候,我们已经完成了完全区域传送的功能,那么下面我们来实现增量区域传送:

首先,我们进入到主服务器中,在mageedu.com.zone中添加信息

DNS服务器-从服务器的架设
DNS服务器-从服务器的架设

注意此处

DNS服务器-从服务器的架设

此处

DNS服务器-从服务器的架设

然后将这里改为3(版本发生了改变)

然后也要改变反向区域文件:

DNS服务器-从服务器的架设
  1. service named reload //重读  

然后继续查看主服务器中的日志

  1. tail /var/log/messages  
DNS服务器-从服务器的架设

可以看出来reloading zones成功,并且下一行显示了更新的版本

然后回到从服务器中也查看其日志

  1. tail /var/log/messages  
DNS服务器-从服务器的架设

然后cat mageedu.com.zone

DNS服务器-从服务器的架设

里面的文件也已经更新

注意:当我们新增一条 NS 服务器以后,已经要将其 记录加到主服务器的 SOA 记录中去。

我们来测试下反向区域传送

到主服务器中的反向区域文件中,添加一条新的记录 6

DNS服务器-从服务器的架设

然后service named reload重读

继续查看日志文件

DNS服务器-从服务器的架设

然后到从服务器中查看区域文件

DNS服务器-从服务器的架设
如何使用 rndc 远程来控制主从服务器
  1. rndc的用法  
  2.       -c 指定配置文件  
  3.       -s 指定远程服务器是谁  
  4.       -p 指定以哪个端口进行连接  
  5.       -k 以哪个key文件进行发送文件  
  6.   注意:因为rndc是远程控制,所以为了防止外人通过其来进行攻击,我们首先要为其提供key  

rndc-confgen > /etc/rndc.conf

然后cat下其文件内容

其中下面的都是被注释掉了,通过前边的start可以看出这个是启动这个rndc服务的,然后下边注释掉的内容是将一下的内容添加到named.conf文件中,所以我们来进行这个操作

完成后,我们继续进行下列操作

DNS服务器-从服务器的架设

rndc –c /etc/rndc.conf //指定配置文件

rm /etc/rndc.key //删除安装bind97中自动生成的key文件

然后重启下named服务

然后使用rndc命令进行控制

rndc –c /etc/rndc.conf status

然后这种方法可以配合stop(停止) flush(清空缓存)等命令来实行管理

如果要通过别的服务器来远程控制,可以在这里定义

其中inet中定义通过哪个端口可以来控制

allow定义允许谁来控制

然后控制前需要把rndc.conf文件移植到控制端中,并更改端口以及使用的指定需要注意

开启 是相当危险的,一般不建议开启哦

继续阅读