实验环境:
一台linux server ip:192.168.1.254 (主DNS) 一台linux client ip:192.168.1.2 (从DNS兼测试机)
实验需求:
1:搭建主DNS服务器提供tarena.com域解析:
www.tarena.com192.168.1.254
bbs.tarena.com192.168.1.100
blog是bbs的别名
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服务器同步。