第一部分:DNS的安装和简单使用
DNS简介
DNS 是域名系统(Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
DNS使用TCP与UDP端口号都是53,主要使用UDP,服务器之间备份使用TCP
位置
提供DNS服务的是安装了DNS服务端软件的计算机。服务器端软件既可以是基于类linux操作系统,也可以是基于windows操作系统的。装好DNS服务软件后,您就可以在您指定的位置创建区域文件了,所谓区域文件就是包含了此域中名字到IP地址解析记录的一个文件,如文件的内容可能是这样的:
primary name server = dns2(主服务器的主机名是 )
serial = 2913 (当前序列号是2913。这个序列号的作用是当辅域名服务器来copy这个文件的时候,如果号码增加了就copy)
refresh = 10800 (3 hours) (辅域名服务器每隔3小时查询一个主服务器)
retry = 3600 (1 hour) (当辅域名服务器试图在主服务器上查询更新时,而连接失败了,辅域名服务器每隔1小时访问主域名服务器)
expire = 604800 (7 days) (辅域名服务器在向主服务更新失败后,7天后删除中的记录。)
default TTL = 3600 (1 hour) (缓存服务器保存记录的时间是1小时。也就是告诉缓存服务器保存域的解析记录为1小时)
DNS安装
实验环境:
Red Hat Enterprise Linux 5.4 32-bit
dns的安装使用了三个文件
bind-9.3.6-4.P1.el5
bind-chroot-9.3.6-4.P1.el5.i386.rpm
caching-nameserver-9.3.6-4.P1.el5.i386.rpm
[root@localhost ~]# mkdir /mnt/cdrom //建立光盘挂载点
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/ //挂载光盘
[root@localhost ~]# cd /mnt/cdrom/Server/
[root@localhost Server]# rpm -ivh bind-9.3.6-4.P1.el5.i386.rpm
[root@localhost Server]# rpm -ivh bind-chroot-9.3.6-4.P1.el5.i386.rpm
[root@localhost Server]# rpm -ivh caching-nameserver-9.3.6-4.P1.el5.i386.rpm
[root@localhost Server]# cd /var/named/chroot/etc
[root@localhost etc]# rpm -ql bind
/etc/named.conf /*但是并没有这个配置文件,我们需要自己拷贝*/
[root@localhost etc]# cp -p named.caching-nameserver.conf named.conf
/*在拷贝时我们需要使用 -p 参数,是named.conf继承源文件的属性,否则服务不可用*/
编辑配置文件 vim /var/named/charoot/etc/named.conf
编辑区域说明文件
vim /var/named/chroot/etc/named.rfc1912.zones
[root@localhost etc]# cd /var/named/chroot/var/named/
[root@localhost named]#
[root@localhost named]# ll
total 36
drwxrwx--- 2 named named 4096 Aug 26 2004 data
-rw-r----- 1 root named 198 Jul 30 2009 localdomain.zone
-rw-r----- 1 root named 195 Jul 30 2009 localhost.zone
-rw-r----- 1 root named 427 Jul 30 2009 named.broadcast
-rw-r----- 1 root named 1892 Jul 30 2009 named.ca
-rw-r----- 1 root named 424 Jul 30 2009 named.ip6.local
-rw-r----- 1 root named 426 Jul 30 2009 named.local
-rw-r----- 1 root named 427 Jul 30 2009 named.zero
drwxrwx--- 2 named named 4096 Jul 27 2004 slaves
语法检测,查看named.conf文件和abc.com.zone文件语法是否正确
named-checkconf 检查配置文件
named-checkzone 检查区域文件
[root@localhost named]# named-checkconf /var/named/chroot/etc/named.conf
/*如果没有任何反应,证明配置成功*/
[root@localhost named]# named-checkzone abc.com /var/named/chroot/var/named/abc.com.zone
zone abc.com/IN: loaded serial 42
OK
打开一台机器测试,看是否解析出域名内部的内容
泛域名
* IN A xxx.xxx.xxx.xxx
[root@localhost named]# rndc reload 更新区域文件,使区域内新加的内容被读取使用,避免重新启动服务而消耗太多的时间。
[root@localhost named]# nslookup a.abc.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: a.abc.com
Address: 4.4.4.4
第二部分:DNS的负载配置
对于一个大型的DNS服务器而言,他时时都在工作着,可是有时候会因为某些原因无法正常工作,可是DNS负责的区域却还需要它的工作,于是DNS负载就出现了,有了DNS主服务器个辅服务器
实验环境
Red Hat Enterprise Linux 5.4 32-bit
bind-9.3.6-4.P1.el5
bind-chroot-9.3.6-4.P1.el5.i386.rpm
caching-nameserver-9.3.6-4.P1.el5.i386.rpm
Windows Server 2003 SP2
1.linux作为主DNS服务器,windows作为辅助DNS服务器
编辑 named.rfc1912.zones
[root@localhost named]# vim /var/named/chroot/etc/named.rfc1912.zones
新建一个主区域作为实验使用
为新建的区域增加区域说明文件
[root@localhost named]# cp -p localhost.zone a.com.zone
[root@localhost named]# rndc reload //对新添加的内容进行同步刷新
打开windows,IP地址修改为实验是使用的
给windows安装DNS服务
测试DNS主服务器与辅服务器的连通性
在windows的DNS上建立辅服务器区域
区域名称填上我们在linu里设置的 a.com
点击完成即!
windows作为辅助DNS时,第一次的同步需要我们手动去同步
同步后后的结果
注意:DNS的主服务器上的记录数据我们可以手动修改,辅助的服务器上我们没法修改,只能让它隔段时间自己同步。我们在Linux上的主服务器上添加新的记录,那我们需要将其序列号增加,同步后,辅助服务器的去主服务器的上同步时,看到主服务器序列号发生改变,辅助服务器自动产生增量同步 。
2.windows作为主DNS服务器,Linux作为辅助DNS服务器
在windows上新建立一个主服务器
然后选择不允许动态更新,完成!
修改 b.com 区域的属性
在名称服务器里添加主服务器的域名和IP地址,
为新域内添加各服务的解析地址
在名称服务器里添加辅服务器的地址,并在区域复制的选项内选择下图所示,Linux辅服务器才能从主服务器获得DNS信息
在Linux上建立辅服务器区域
[root@localhost named]# rndc reload
[root@localhost named]# ll slaves/
-rw-r--r-- 1 named named 358 Aug 18 19:36 b.com.zone
[root@localhost named]# vim slaves/b.com.zone
$TTL 3600
@ IN SOA ns.a.com root (
42 ; serial (d. adams
)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
NS ns.b.com
NS ns1.b.com
$ORTGIN b.com.
ns A 192.168.2.200
ns1 A 192.168.2.100
www A 1.1.1.1
ftp A 2.2.2.2
END !!!