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)
相关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]# service named restart
Stoppingnamed: [ OK ]
Startingnamed: [ OK ]
重新启动bind
测试DNS