实验环境:

一台linux server ip192.168.1.254 (主DNS)  一台linux client ip192.168.1.2 (从DNS兼测试机) 

实验需求:

1:搭建主DNS服务器提供tarena.com域解析:

   www.tarena.com192.168.1.254

   bbs.tarena.com192.168.1.100

   blogbbs的别名

2:实现DNS负载均衡,当用户访问www.tarena.com的时候,2/3用户访问1.254,1/3用户访问1.100;确保用户访   问tarena.com的时候仍然可以访问www.tarena.com 的网站;实现用户在访问的时候只要域名正确就可以访问www.tarena.com 的网站

3:搭建从DNS服务器

实现步骤:

1:安装bind程序

[root@server Server]# rpm -ivh bind-9.3.6-20.P1.el5_8.5.x86_64.rpm bind-chroot-9.3.6-20.P1.el5_8.5.x86_64.rpm caching-nameserver-9.3.6-20.P1.el5_8.5.x86_64.rpm       //bind-chroot为了安全映射目录,caching包是模板文件

2:启动服务

[root@server ~]# service named restart

3:设置为开机启动

[root@server ~]# chkconfig named on

4:备份主配置文件

[root@server ~]# cd /var/named/chroot/etc//进入映射好的安全目录

[root@server etc]# cp -p named.caching-nameserver.conf named.conf   //保持属性备份文件

[root@server etc]# ll

-rw-r----- 1 root named 1230 2012-10-10 named.caching-nameserver.conf

-rw-r----- 1 root named 1230 2012-10-10 named.conf

5:配置主配置文件

[root@server etc]# vim named.conf

...
15         listen-on port 53 { 192.168.1.254; };//更改为监听主DNS 192.168.1.254的53端口
...
27         allow-query     { any; };//更改为允许所有主机查询
28         allow-query-cache { any; };//更改为允许所有主机查询缓存
...
37         match-clients      { any; };//更改为匹配所有客户端
38         match-destinations { any; };//更改为匹配所有连接
40         include "/etc/named.rfc1912.zones";//在此路径文件中宣告域名


6:配置/etc/named.rfc1912.zones文件宣告要域名

[root@server etc]# cp -p named.rfc1912.zones named.rfc1912.zones.bak    //保持属性备份文件

[root@server etc]# vim named.rfc1912.zones

...
51 zone "tarena.com" IN { //添加负责解析tarena.com域名
52         type master; //类型为主dns
53         file "tarena.com.zone";//指定数据库文件名
54 };      
55 
56 zone "1.168.192.in-addr.arpa" IN {//添加反向查询记录(不是必要步骤)
57         type master;
58         file "named.local";
 59 };


7:从模板创建域名数据库文件并编辑

[root@server etc]# cd /var/named/chroot/var/named///改变工作目录

[root@server named]# cp -p named.local tarena.com.zone//从模板创建解析数据库

[root@server named]# vim tarena.com.zone

 

1 $TTL    86400
 2 @       IN      SOA     localhost. root.localhost.  (
 3                                       2014061701 ; Serial      //指定数据库版本号  
 4                                       28800      ; Refresh//刷新时间
 5                                       14400      ; Retry//重试时间
 6                                       3600000    ; Expire//重试失败后失效时间
 7                                       86400 )    ; Minimum//缓存时间
 8         IN      NS      server.tarena.com.//宣告域名解析服务器名
 9 www     IN      A       192.168.1.254
10 www     IN      A       192.168.1.254
11 www     IN      A       192.168.1.100//上面3行实现了dns解析访问的负载均衡需求
12 @       IN      A       192.168.1.254//本条实现了输入tarena.com访问www.tarena.com
13 server  IN      A       192.168.1.254
14 clinet  IN      A       192.168.1.2
15 blog    IN      CNAME   bbs//设置别名
16 *       IN      A       192.168.1.254//设置泛域名解析


8:搭建从DNS服务器

先在client这台linux上重复步骤1-5完成基本环境准备,其中步骤5中监听ip设置为192.168.1.2

再配置[root@client etc]# vim named.rfc1912.zones

zone "tarena.com" IN {
        type slave;//模式设为从
        file "slaves/tarena.com.zone";//同步来的数据库放到/var/named/chroot/var/named/slaves下
        masters { 192.168.1.254; };//指定主DNS服务器地址
};


9:在主DNS端数据库中添加从域名服务器名及对应A记录

[root@server named]# vim tarena.com.zone

9         IN      NS      client.tarena.com.  //在原有NS记录下新添加从dns主机名

[root@server etc]# vim named.conf 

28         allow-transfer { 192.168.1.2; }; //在主配置文件中添加允许同步数据库的从DNS地址


10:主服务器和从服务器都重启named服务,查看从DNS服务器数据库是否同步

[root@server etc]# service named restart

[root@client etc]# service named restart

[root@client slaves]#ls /var/named/chroot/var/named/slaves     //查看自动同步数据库是否成功 

tarena.com.zone

10:用nslookup命令测试DNS服务解析

[root@client ~]#vim /etc/reslov.conf//指定本机DNS服务器地址

1  search tarena.com
2  nameserver 192.168.1.254


[root@client ~]# nslookup www.tarena.com//测试DNS实现负载均衡

Server:192.168.1.254

Address:192.168.1.254#53

Name:www.tarena.com

Address: 192.168.1.254

Name:www.tarena.com

Address: 192.168.1.100//一主机名对应多IP地址,实现了负载均衡

[root@client ~]# nslookup bbs.tarena.com

Name:bbs.tarena.com

Address: 192.168.1.254

[root@client ~]# nslookup blog.tarena.com

blog.tarena.comcanonical name = bbs.tarena.com.//实现了主机名别名

Name:bbs.tarena.com

Address: 192.168.1.254

 

总结:通过搭建主从DNS实验,实现了域名到IP的解析和反向解析、基于DNS解析的对业务的负载均衡需求、对主机名进行别名设置、DNS服务器的主从搭配提高了解析可靠性。并且在实验中考虑了安全访问问题,实现了主dns数据库仅允许特定的DNS服务器同步。