系统:RH5.4
DNS介绍
 
DNS全名为Domain Name Server (域名系统),其目的就是为了提供域名和IP地址的解析服务。Linux下架设DNS服务器通常是使用Bind程序来实现的。BindBerkeley Internet Name Domain Service的简写,它是一款实现DNS服务器的开放源码软件。Bind原本是美国DARPA资助伯克里大学(Berkeley)开设的一个研究生课题,现成为世界上使用最为广泛的DNS服务器软件。
DN解析方式:
正向解析:将主机名转化成IP地址;
反向解析:将IP地址转化成主机名;
域名的表示方式(通常是用FQDN名)
例如:www.baidu.com.
最后面的“.”是根域名,“com”是顶级域名,“baidu”是二级域名,“www”是主机;
DNS的查询方式:
递归查询:一般在客户端与服务器之间的查询叫做递归查询;
迭代查询:服务器与服务器之间的查询叫做迭代查询;
DNS的解析过程:
当在地址栏输入http://www.baidu.com时,计算机会依据/etc/resolve.conf提供的DNS服务器IP查询网址中的主机IP 常见的温州DNS为61.153.177.196,过程如下:
1、 计算机先去查询本地HOSTS文件和缓存,如果有,就直接解析,如果没有则把请求发给DNSserver,如果www.baidu.com不在DNSserver的管理区域内,那么DNSserver就会将请求发送给根域名服务器“.”查询;
2、 根域查找到.com的地址,并把.com的地址告诉DNSserver,让DNSserver去找.com
3、 DNSSERVER直接找到.com,”.com“这个顶级域在它域管理的很多二级域名中找到了baidu.com这个网段,并把它告诉DNSserver,让DNSserver去找baidu.com这个网段的主机里面去找;
4、 DNSserver直接到baidu.com里面找,最终到了www这个主机在baidu.com这个二级域名里面的IP地址
5、 DNSserver把IP返回给client,并把记录保存在缓存里面,当下次有client请求时,它就会调用自己的缓存;当过了DNS的记忆时间24小时,记录就会被释放;

DNS服务介绍
后台进程:named
脚本:/etc/rc.d/init.d/named
使用端口:53  953(tcp,udp)
DNS服务介绍
后台进程:named
脚本:/etc/rc.d/init.d/named
使用端口:53  953tcpudp

所需RPM包:bind-9.3.6-4.P1.el5  安装包:提供DNS服务器,默认未安装;

相关RPM包:
bind-chroot-9.3.6-4.P1.el5 :
是bind的一个功能,使bind可以在一个chroot的模式下运行.也就是说,bind运行时的/(根)目录,并不是系统真正的/(根)目录,只是系统中的一个子目录而已.这样做的目的是为了提高安全性.因为在chroot的模式下,bind可以访问的范围仅限于这个子目录的范围里,无法进一步提升, 进入到系统的其他目录中.用于建立chroot目录及相关子目录;默认未安装
caching-nameserver-9.3.6-4.P1.el5.i386.rpm:
默认未安装,用于配置缓存域名服务器并提供模板文件;
 bind-devel-9.3.6-4.P1.el5  :
          
bind-utils-9.3.6-4.P1.el5:
默认已安装,包含了用于测试DNS服务器的命令(dig,host,nslookup)
bind-libbind-devel-9.3.6-4.P1.el5
bind-libs-9.3.6-4.P1.el5:
默认已经安装,提实现域名解析功能必备的库文件;
bind-sdb-9.3.6-4.P1.el5


配置文件:/var/named/chroot/etc/named.conf
相关路径:/var/named/

安装DNS
#mount /dev/cdrom /mnt/cdrom
# [root@lianhua Server]# rpm -ivh bind-9.3.6-4.P1.el5.i386.rpm
……..
[root@lianhua Server]# rpm -ivh bind-chroot-9.3.6-4.P1.el5.i386.rpm
把相应的包安装完毕,chroot最后一个安装;
由于我们安装chroot包,我们就要在/var/named/chroot/下来完成我们如下的配置了:

创建一个named.conf文件,或者
Cp –p named.caching-nameserver.conf named.conf也可以然后在自行修改,保留权限。否则启动服务器的时候会报权限拒绝,问题同下;不要修改named.caching-nameserver.conf这个文件;使其拥有权限644,不然会出问题的;
编辑named.conf文件;

directory       "/var/named";

zone文件的存放目录,指的是chroot环境下面的/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; };
允许查询的客户端,any 表示任何人;
 allow-query-cache { any; };
允许那些客户端来查询缓存,any表示允许任何人


然后定义区域文件:

[root@lianhua named]# cp localhost.zone lianhua.com.zone
[root@lianhua named]#vi lianhua.com.zone

[root@lianhua named]#cp named.local 192.168.0.rev
[root@lianhua named]#vi 192.168.0.rev

配置文件就写完了,下面我们来使用配置文件检测工具来检测我们的配置文件语法是否正确
[root@lianhua named]# named-checkconf /var/named/chroot/etc/named.conf
这个命令是检查named.conf的,如果没有提示就证明这个文件没有问题;

检查过都没问题

[root@lianhua named]# service named restart
Stoppingnamed:                                       [  OK  ]
Startingnamed:                                             [  OK  ]

重新启动bind

测试DNS


Dig –t mx lianhua.com
查询lianhua.com域中的SOAMX记录
Dig –x 192.168.0.9 是反向查询