首页 > 代码库 > DNS分离解析

DNS分离解析

   在Internet环境中,许多大型站点(新浪、网易、腾讯、搜狐……)会分别部署多台镜像服务器,不同

地区或不同ISP接入的用户会自动连接到离他们最近的镜像服务器。针对类似这样的需求,对于这些站点的

威DNS服务器来说,如何根据客户机的来源不同而引导其访问正确的镜像服务器。需要用到DNS分离解析

有时候也成为智能解析。。。。。下面就来了解下"DNS分离解析"的运作原理吧!

 环境:

  1、拥有静态IP 。

[root@rh_4 ~]# ifconfig | head -2
  eth0      Link encap:Ethernet  HWaddr 52:54:03:AC:DE:C4  
          inet addr:192.168.122.100  Bcast:192.168.122.255 Mask:255.255.255.0


2、安装DNS必须软件包。

[root@rh_4 ~]# yum -y install bind bind-chroot caching-nameserver

一、配置DNS

 1、配置DNS主配置文件。

 

[root@rh_4 ~]# cd /var/named/chroot/etc/
[root@rh_4 etc]# cp -p named.caching-nameserver.conf named.conf   //复制模板,到主配置文件(-p保留权限)。
[root@rh_4 etc]# vim named.conf    
   15         listen-on port 53 { 192.168.122.100; };   //监听本机IPdns查询                     
    27         allow-query     { any; };
 28         allow-query-cache { any; };
 37         match-clients      { 192.168.122.20; };  //192.168.122.20,这个IP访问时,让它去读取
                                                            named.rfc1912.zones(然后在读取指定的区域数据文件)
 38         match-destinations { localhost; };
 39         recursion yes;
 40         include "/etc/named.rfc1912.zones";
 41 };
 42  view lt_resolver {
 43         match-clients      { 192.168.122.10; };  //192.168.122.10,这个IP访问时,让它去读取
                                                                       named.rfc1913.zones(然后在指定区读取本地区域数据文件)
 44         match-destinations { localhost; };
 45         recursion yes;
 46         include "/etc/named.rfc1913.zones";
 47 };


 2、配置DNS数据文件。

[root@rh_4 etc]# vim named.rfc1912.zones
[root@rh_4 etc]# cat  named.rfc1912.zones | tail -5
zone "qq.com" IN {    //定义正向解析区域和域名
type master;          //类型为主DNS
file "aqq.zone";      //本地区域数据文件
};
[root@rh_4 etc]# cp -p named.rfc1912.zones named.rfc1913.zones
[root@rh_4 etc]# vim named.rfc1913.zones
[root@rh_4 etc]# cat  named.rfc1913.zones | tail -5
zone "qq.com" IN {
type master;
file "bqq.zone";
};

3、配置IP192.168.122.20,对应的本地区域数据文件。


[root@rh_4 etc]# cd /var/named/chroot/var/named/
[root@rh_4 named]# cp -p named.local aqq.zone
[root@rh_4 named]# vim aqq.zone
[root@rh_4 named]# cat  aqq.zone
$TTL86400
@       IN      SOA     qq.com. root.qq.com.  (
1997022700 ; Serial         //DNS更新序号
                        28800      ; Refresh    // DNS刷新时间
                        14400      ; Retry      //DNS 重生时间
                      3600000      ; Expire     //DNS失效时间
                       86400 )     ; Minimum    //无记录生存周期
        IN      NS      dns1.qq.com.
dns     IN      A       192.168.122.100
www     IN      A       1.1.1.1
4、配置IP192.168.122.10对应的本地区域文件。


[root@rh_4 named]# cp -p aqq.zone bqq.zone
[root@rh_4 named]# vim bqq.zone
[root@rh_4 named]# cat bqq.zone
$TTL86400
@       IN      SOA     qq.com. root.qq.com.  (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
        IN      NS      dns1.qq.com.
dns     IN      A       192.168.122.100
www     IN      A       2.2.2.2
[root@rh_4 etc]# service named restart
[root@rh_4 etc]# chkconfig named on



验证:

192.168.122.10解析www.qq.com

www.qq.com has address 2.2.2.2

192.168.122.20解析www.qq.com

www.qq.com has address 1.1.1.1


本文出自 “linux网络服务搭建” 博客,请务必保留此出处http://8824130.blog.51cto.com/8814130/1405389