A-A+

DNS的子域授权、转发以及view

2015年12月12日 电脑网络 暂无评论 阅读 6 views 次

本节我将分别对DNS的子域授权、DNS配置转发器、DNS配置转发区域以及DNS的view进行讲解,本节本来是想跟上一节内容一起讲解的,但是由于字数问题我就又分了单独一节来讲。

实验环境:Centos6.5x86_64

主DNS服务器 ns.magedu.com 172.16.6.20

子DNS服务器 ns.sub.magedu.com 172.16.6.50

子域授权(这里只讲解正向解析)

子域授权,顾名思义就是在一个域的基础上又创建子域,当然这个子域必须在父域中进行声明,下面我们就来看下他是怎么实现的。

父域中配置

首先得在父域的解析库文件中添加子域的NS记录以及A记录

  1. [root@localhost ~]# vim /var/named/magedu.com.zone  
  2. $TTL  3600  
  3. @       IN  SOA  ns.magedu.com.   admin.magedu.com (  
  4.                   2014080609     版本每次务必改  
  5.                   1H  
  6.   
  7.   
  8.                   10M  
  9.                   7D  
  10.                   1D )  
  11.         IN  NS   ns  
  12.         IN  NS   ns2  
  13. sub     IN  NS  ns.sub          添加子域服务器的NS记录  
  14.         IN  MX  10  mail  
  15. ns      IN  A   172.16.6.20  
  16. ns2     IN  A   172.16.106.20  
  17. ns.sub  IN  A   172.16.6.50      添加子域服务器的A记录  
  18. mail    IN  A   172.16.6.21   
  19. www     IN  A   172.16.6.22  
  20. web     IN  CNAME www  

还是版本的问题,每次修改之后必须得改。

子域服务器配置

子域服务器中的/etc/named.conf文件还是跟父域中的一样,只要是修改/etc/named.rfc1912.zones

  1. [root@localhost ~]# vim /etc/named.rfc1912.zones  
  2. // named.rfc1912.zones:  
  3. //  
  4. // Provided by Red Hat caching-nameserver package  
  5. //  
  6. // ISC BIND named zone configuration for zones recommended by  
  7. // RFC 1912 section 4.1 : localhost TLDs and address zones  
  8. // and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt  
  9. // (c)2007 R W Franks  
  10. //  
  11. // See /usr/share/doc/bind*/sample/ for example named configuration files.  
  12. //  
  13.    
  14. zone "localhost.localdomain" IN {  
  15.         type master;  
  16.         file "named.localhost";  
  17.         allow-update { none; };   
  18. };          
  19.             
  20. zone "localhost" IN {  
  21.         type master;  
  22.         file "named.localhost";   
  23.         allow-update { none; };  
  24. };             
  25.    
  26. zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {  
  27.         type master;  
  28.         file "named.loopback";   
  29.         allow-update { none; };  
  30. };  
  31.    
  32. zone "1.0.0.127.in-addr.arpa" IN {  
  33.         type master;  
  34.         file "named.loopback";  
  35.         allow-update { none; };   
  36. };  
  37.    
  38. zone "0.in-addr.arpa" IN {  
  39.         type master;  
  40.         file "named.empty";  
  41.         allow-update { none; };  
  42. };  

新添加一条:

  1. zone "sub.magedu.com" IN {  
  2.        type master;  
  3.        file "sub.maedu.com.zone";  
  4. };  

配置好之后检查语法

[root@localhost ~]# named-checkconf

配置子域服务器中的解析库文件

  1. [root@localhost ~]# vim /var/named/sub.magedu.com.zone  
  2. $TTL 3360  
  3. @     IN  SOA  sub.magedu.com.  admin.magedu.com. (       注意子域的名称  
  4.                       2014080601  
  5.                       1H  
  6.                       10M  
  7.                       1W  
  8.                       2D )  
  9.       IN  NS  ns   
  10.       IN  MX  10  mail  
  11. ns    IN  A   172.16.6.50  
  12. www   IN  A   172.16.6.52  
  13. mail  IN  A   172.16.6.51  

配置好之后别忘了语法检查

  1. [root@localhost ~]# named-checkzone "sub.magedu.com"  /var/named/sub.magedu.com.zone  
  2. zone sub.magedu.com/IN: loaded serial 2014080601  
  3. OK  

确认无误之后就可以进行重新加载了

[root@localhost ~]# rndc reload

server reload successful

配置好之后就可以进行测试了

对www.sub.magedu.com 进行测试,结果返回正确结果172.16.6.52

这样一个子域授权就正式完成了并且可以运行了。

DNS配置转发器

下面我们用DNS来配置一个转发器,一旦该服务器本身不能解析,则器会将请求转发给转发器指向的服务器进行解析。

这里我们就对子域服务进行配置转发功能。

转发器的设置非常简单,只需要对/etc/named.conf进行配置

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

只需要对options进行修改

  1. options {  
  2.         //listen-on port 53 { 127.0.0.1; };  
  3.         //listen-on-v6 port 53 { ::1; };  
  4.         directory       "/var/named";  
  5.         dump-file       "/var/named/data/cache_dump.db";  
  6.         statistics-file "/var/named/data/named_stats.txt";  
  7.         memstatistics-file "/var/named/data/named_mem_stats.txt";  
  8.         //allow-query     { localhost; };  
  9.         recursion yes;  
  10.            
  11.         forward only;       注意格式:这里的only表示转发后无论返回什么答案都选择相信   
  12.         forwarders { 172.16.6.20; };    设置转发的服务器  
  13.         //dnssec-enable yes;  
  14.         //dnssec-validation yes;  
  15.         //dnssec-lookaside auto;  
  16.    
  17.         /* Path to ISC DLV key */  
  18.         //bindkeys-file "/etc/named.iscdlv.key";  
  19. };  

配置完成不要忘记重读配置文件

[root@localhost ~]# rndc reconfig

好了,下面我们来测试一下

我们选择对www.luyouqiboke.com进行测试,他不属于子域服务器的管辖范围

测试成功,返回正确值172.16.6.22

DNS配置转发区域

为了体现区别,这里我们把刚刚配置转发器的两项给注释掉。

我们不但可以配置转发,而且还可以控制想要转发的区域。

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

加入一个zone

  1. zone "magedu.com" IN {  
  2.       type forward;  
  3.       forward only;  
  4.       forwarders { 172.16.6.20; };  
  5. };  

配置后重读配置文件

[root@localhost ~]# rndc reconfig

配置成功后进行测试。

view视图功能

我们知道网通和电信之间进行相互访问速度比较慢,那是因为每一次相互访问都会经过北京的一个机房中唯一的一个通信机房,而带宽是非常有限,因此为了避免没有意义的相互访问,这里我们就引入了view的概念,即脑裂。

下面我们就来配置下:

需要注意的是在写视图时,所有的zone都必须在view里面,所有要把/etc/named.conf里的根的zone也要放到view里去。

  1. [root@localhost ~]# vim /etc/named.rfc1912.zones   
  2.   
  3. //  
  4. // ISC BIND named zone configuration for zones recommended by  
  5. // RFC 1912 section 4.1 : localhost TLDs and address zones  
  6. // (c)2007 R W Franks  
  7. //  
  8. // See /usr/share/doc/bind*/sample/ for example named configuration files.  
  9. //  
  10.    
  11. acl mwjnet {  
  12.    172.16.0.0/16;  
  13. };                             这里创建一个访问控制列表  
  14. view local {  
  15.     match-clients { mwjnet; };   view调用控制列表mwjnet  
  16. zone "." IN {  
  17.         type hint;  
  18.         file "named.ca";  
  19. };  
  20. zone "localhost.localdomain" IN {  
  21.         type master;  
  22.         file "named.localhost";   
  23.         allow-update { none; };  
  24. };  
  25.    
  26. zone "localhost" IN {  
  27.         type master;  
  28.         file "named.localhost";  
  29.         allow-update { none; };  
  30. };  
  31.    
  32.         type master;  
  33.         file "named.loopback";  
  34.         allow-update { none; };  
  35. };  
  36.    
  37. zone "1.0.0.127.in-addr.arpa" IN {  
  38.         type master;  
  39.         file "named.loopback";  
  40.         allow-update { none; };  
  41. };  
  42.    
  43. zone "0.in-addr.arpa" IN {  
  44.         type master;   
  45.         file "named.empty";  
  46.         allow-update { none; };  
  47. };  
  48. zone "sub.magedu.com" IN {  
  49.        type master;                      
  50.        file "sub.magedu.com.zone";       这里文件中定义了www.sub.magedu.com.指向的地址为  
  51. };                                       172.16.6.52  
  52. zone "magedu.com" IN {  
  53.       type forward;  
  54.       forward only;  
  55.       forwarders { 172.16.6.20; };   
  56. };  
  57. };  
  58. view  tel {  
  59.      match-clients { any; };  
  60.      zone "sub.magedu.com" IN {  
  61.          type master;  
  62.          file "magedu.com.2";            这里文件中定义了www.sub.magedu.com. 指向的地址为  
  63.     };                                   为2.3.4.5  
  64. };  

配置完成之后先检测语法

[root@localhost ~]# named-checkconf

生成相应的解析库文件,这里只须生成/var/named/magedu.com.2

  1. $TTL 3360  
  2. @     IN  SOA  sub.magedu.com. admin.magedu.com. (  
  3.                     2014080701   
  4.                     1H  
  5.                     10M  
  6.                     1w  
  7.                     3D )  
  8.      IN  NS  ns  
  9. ns   IN  A   172.16.6.50  
  10. www  IN  A   2.3.4.5  

检测语法并重新加载.

当然还要修改权限以及数组,这里我就没有附上操作了

  1. [root@localhost ~]# named-checkzone "sub.magedu.com" /var/named/magedu.com.2   
  2. zone sub.magedu.com/IN: loaded serial 2014080701  
  3. OK  
  4. [root@localhost ~]# rndc reload  
  5. server reload successful  

下面就可以进行测试了

用192网段的地址主机

结果为2.3.4.5

当用172.16网段的主机时

得到的地址为172.16.6.52

这样结果就跟我们预想的一样,不同的网段去到同一个服务器上找到的地址不同,这样我们的视图功能就已经完成并且可以使用。

本节的内容就讲到这里了,讲的不好的地方希望大家多提建议,不对的地方非常欢迎指正,谢谢!

标签:

给我留言