环境:red hat6.5
安装包:bind、bing-chroot
DNS配置文件:
主配置文件:/var/named/chroot/etc/named.conf
区域数据(解析记录)文件:/var/named/chroot/var/named/.. ..
| --> bind-chroot包
DNS查询方式:
递归查询:
迭代查询:
一:快速搭建一台DNS服务器
提供解析记录:
svr5.tarena.com --> 192.168.4.5
pc205.tarena.com --> 192.168.4.205
win7pc.tarena.com --> 192.168.4.110
1. 服务器安装 bind、bind-chroot
[root@svr5 ~]# yum -y install bind bind-chroot
2. 配置服务器的 named.conf
[root@svr5 ~]# mv /etc/named.conf /etc/named.conf.origin
//移除默认配置
[root@svr5 ~]# cd /var/named/chroot/etc/
[root@svr5 etc]# vim named.conf //建立新配置
options { directory "/var/named"; };
zone "tarena.com" IN {
type master;
file "tarena.com.zone";
};
3. 配置解析数据库(区域文件)
[root@svr5 ~]# cd /var/named/chroot/var/named/
[root@svr5 named]# vim tarena.com.zone
$TTL 86400
@ IN SOA @ root.tarena.com. (
2014052201;更新序列号
4H;刷新时间
15M;重试间隔
4H;超时时间
1D;无效记录的生存时间
)
@ IN NS svr5.tarena.com.;本区域DNS服务器的主机名
svr5 IN A 192.168.4.5 ;本区域DNS服务器的IP地址
pc205 IN A 192.168.4.205 ;其他解析记录 。。。
win7pc IN A 192.168.4.110
[root@svr5 ~]# service named restart
[root@svr5 ~]# netstat -anptu | grep named
4. 客户机测试
[root@pc205 ~]# vim /etc/resolv.conf
search tarena.com
nameserver 192.168.4.5
[root@pc205 ~]# host svr5.tarena.com
svr5.tarena.com has address 192.168.4.5
[root@pc205 ~]# host win7station.tarena.com
tts6.tarena.com has address 192.168.4.110
如何检查配置语法:
named-checkconf 主配置文件的路径
[root@svr5 ~]# named-checkconf /var/named/chroot/etc/named.conf
/var/named/chroot/etc/named.conf:6: '{' expected near '"'
named-checkzone 区域名 区域数据文件的路径
[root@svr5 ~]# named-checkzone tarena.com /var/named/chroot/var/named/tarena.com.zone
zone tarena.com/IN: loaded serial 2014052201
OK
二:新增DNS区域 baidu.com
目标:www.baidu.com --> 1.2.3.4
baidu.com --> 1.2.3.4
music.baidu.com --> 5.6.7.8
1. 修改主配置,添加一个zone区域
[root@svr5 ~]# cd /var/named/chroot/etc/
[root@svr5 etc]# vim named.conf
.. ..
zone "baidu.com" IN {
type master;
file "baidu.com.zone"; };
2. 为新增的 baidu.com区域建立一个数据文件
[root@svr5 ~]# cd /var/named/chroot/var/named/
[root@svr5 named]# cp tarena.com.zone baidu.com.zone
[root@svr5 named]# vim baidu.com.zone
$TTL 86400
@ IN SOA @ root.baidu.com. (
.. ..
)
@ IN NS svr5.tarena.com.
@ IN A 1.2.3.4
www IN A 1.2.3.4
music IN A 5.6.7.8
3. 重启 named 服务
[root@svr5 ~]# service named restart
4. 客户机测试
[root@svr5 ~]# service named restart
[root@svr5 ~]# host baidu.com
[root@svr5 ~]# host www.baidu.com
[root@svr5 ~]# host music.baidu.com
三:添加反向解析区域
目标:192.168.4.100 --> www.tarena.com
192.168.4.205 --> pc205.tarena.com
1. 修改主配置文件,添加
[root@svr5 ~]# cd /var/named/chroot/etc/
[root@svr5 etc]# vim named.conf
.. ..
zone "4.168.192.in-addr.arpa" IN {
type master;
file "192.168.4.arpa";
};
2. 建立反向区域的解析文件
[root@svr5 ~]# cd /var/named/chroot/var/named/
[root@svr5 named]# cp tarena.com.zone 192.168.4.arpa
[root@svr5 named]# vim 192.168.4.arpa
.. ..
100 IN PTR www.tarena.com.
205 IN PTR pc205.tarena.com.
.. ..
3. 重启named服务
[root@svr5 ~]# service named restart
4. 客户端测试
[root@svr5 ~]# host 192.168.4.100
[root@svr5 ~]# host 192.168.4.205
四:基于DNS的站点轮询(负载均衡)
目标:www.tarena.com
-->192.168.4.100、192.168.4.110、192.168.4.120、……
[root@svr5 ~]# cd /var/named/chroot/var/named/
[root@svr5 ~]# vim tarena.com.zone
.. ..
www IN A 192.168.4.100
www IN A 192.168.4.110
www IN A 192.168.4.120
[root@svr5 ~]# service named restart
五:泛域名解析
1)简化以下记录:
station1.baidu.com --> 192.168.7.1
.. ..
station200.baidu.com --> 192.168.7.200
2)识别未知域名:
bj.baidu.com --> 119.75.217.56
sh.baidu.com --> 119.75.217.56
.. .. baidu.com --> 119.75.217.56
[root@svr5 ~]# cd /var/named/chroot/var/named/
[root@svr5 ~]# vim baidu.com.zone
.. ..
$GENERATE 1-200 station$ IN A 192.168.7.$
* IN A 119.75.217.56
[root@svr5 ~]# service named restart
六:主-从DNS构建
其中任何一台DNS服务器,都能解析 tts7.tarena.com --> 118.45.29.31 ,
但是从服务器的解析记录应取决于主服务器,主更新时从自动同步
1. 建主DNS服务器
.. ..
1)改主配置文件
options {
.. ..
allow-transfer { 192.168.4.6; };
};
2)改区域数据文件
@ IN NS svr5.tarena.com.
IN NS svr6.tarena.com.
svr5 IN A 192.168.4.5
svr6 IN A 192.168.4.6
tts7 IN A 118.45.29.31
.. ..
3)重启named服务
[root@svr5 ~]# service named restart
2. 建从DNS服务器
1)装包 bind、bind-chroot,移除默认的 /etc/named.conf 配置
2)建立 named.conf 主配置文件
options {
directory "/var/named";
};
zone "tarena.com" IN {
type slave;
file "slaves/tarena.com.zone";
masters { 192.168.4.5; };
};
3)重启named服务
[root@svr6 ~]# service named restart
3. 客户机查询测试
[root@pc205 ~]# nslookup tts7.tarena.com 192.168.4.5
.. ..
Name: tts7.tarena.com
Address: 118.45.29.31
[root@pc205 ~]# nslookup tts7.tarena.com 192.168.4.6
.. ..
Name: tts7.tarena.com
Address: 118.45.29.31
4. 主从更新测试
1)修改主DNS的区域记录
tts7.tarena.com ---> 4.4.4.4
将序列号+1
2. 重启主DNS的named服务
3. 向从DNS查询域名 tts7.tarena.com
[root@pc205 ~]# nslookup tts7.tarena.com 192.168.4.6
.. ..
Name: tts7.tarena.com
Address: 4.4.4.4