通过使用view使不同区域的用户看的试图不一样,不同区域的用户对应的数据库文件不一样,为每一种不同的客户来源定义一条个性化的DNS解析记录。 使他们之间访问的IP地址不同。

需要安装的包

[root@www chroot]# rpm -qa |grep bind

bind-chroot--4.P1.el5_4.2

bind-libs--4.P1.el5_4.2

bind-utils--4.P1.el5_4.2

ypbind-1.19-12.el5

bind--4.P1.el5_4.2

[root@www chroot]# rpm -qa |grep caching-nameserver

caching-nameserver--4.P1.el5_4.2

[root@www chroot]#

[root@www chroot]# hostname

www.abc.com

[root@www chroot]# vim /etc/hosts

127.0.0.1               localhost.localdomain localhost

::1             localhost6.localdomain6 localhost6

192.168.101.100 www.abc.com

192.168.10.10 www.abc.com

[root@www chroot]# vim /etc/sysconfig/network

HOSTNAME=www.abc.com

 

配置文件:

[root@www chroot]# pwd

/var/named/chroot

[root@www chroot]# vim etc/named.conf

options {

        listen-on port 53 { any; };

        listen-on-v6 port 53 { ::1; };

        directory       "/var/named";

        dump-file       "/var/named/data/cache_dump.db";

        statistics-file "/var/named/data/named_stats.txt";

        memstatistics-file "/var/named/data/named_mem_stats.txt";

        allow-query     { any; };

        allow-query-cache { localhost; };

};

logging {

        channel default_debug {

                file "data/named.run";

                severity dynamic;

        };

};

--配置不同的区域访问不同的数据库文件

view cache1 {

        match-clients      { 192.168.10.0/24; };

        recursion yes;

        match-destinations { any; };

        include "/etc/named.rfc1912.zones";

};

view cache2 {

        match-clients      { 192.168.40.0/24; };

        recursion yes;

        match-destinations { any; };

        zone "abc.com" IN {

        type master;

        file "cache2.db";

};

};

[root@www chroot]# vim etc/named.rfc1912.zones

zone "abc.com" IN {

        type master;

        file "cache1.db";

        allow-update { none; };

};

[root@www chroot]# vim var/named/cache1.db

$TTL    86400

@               IN SOA  ns.abc.com.       root (

                                        42              ; serial (d. )

                                        3H              ; refresh

                                        15M             ; retry

                                        1W              ; expiry

                                        1D )            ; minimum

 

                IN NS           ns.abc.com.

ns              IN A            192.168.101.100

www             IN A           222.1.1.2  --可以是访问服务器的地址,不同区域的客户端解析到的是不同的,我为了测试简单,把所有的解析到一台web server上了。

[root@www chroot]# vim var/named/cache2.db

$TTL    86400

@               IN SOA  ns.abc.com.       root (

                                        42              ; serial (d. )

                                        3H              ; refresh

                                        15M             ; retry

                                        1W              ; expiry

                                        1D )            ; minimum

 

                IN NS           ns.abc.com.

ns              IN A            192.168.101.100

www             IN A            222.1.1.2

[root@www chroot]#

 

[root@www named]# service named restart

Stopping named: .                                          [  OK  ]

Starting named:                                            [  OK  ]

[root@www named]# chkconfig named on

[root@www chroot]# vim /etc/resolv.conf  --dns指向

nameserver 192.168.101.100

也可以只在named.conf文件里定义俩个区域

[root@www etc]# vim named.conf

  view cache1 {

        match-clients      { 192.168.10.0/24; };

        recursion yes;

        match-destinations { any; };

        zone "abc.com" IN {

        type master;

        file "cache1.db";

};

#include "/etc/named.rfc1912.zones";

};

view cache2 {

        match-clients      { 192.168.40.0/24; };

        recursion yes;

        match-destinations { any; };

        zone "abc.com" IN {

        type master;

        file "cache2.db";

};

[root@www etc]# vim named.rfc1912.zones –文件里不用再声明区域

[root@www etc]# service named restart

 

[root@www etc]# rndc flush

[root@www etc]# nslookup www.abc.com

Server:         192.168.10.10

Address:        192.168.10.10#53

 

Name:   www.abc.com

Address: 222.1.1.2