网络技术高级工程师专业RedHatLinux服务器操作系统教学目的通过本节课的学习,您应学会掌握DNS服务器的配置和客户端的设置熟悉DNS的正向解析过程了解域名解析的方法难点:Linux下利用bind软件包架设DNS服务器重点:如何配置DNS服务器。关键词:bind域名解析的基本概念1.域名解析:实现域名和IP地址之间的相互转换过程。2.IP地址与主机名转换方法Host表:存放主机名与IP地址的映射表;NIS数据库:将主机表作为NIS主机数据库存放存放在中央主机,由中央主机实施数据分配,适用于局域网等中型网络;DNS:采取分层的分布式存储和分布式解析,适用于大型网络;DNS的工作体系1.DNS系统的组成(1)域名空间DNS的命名系统是一个分层的逻辑树状结构,该树状结构称为域名空间,由根域、顶级域、子域、与主机名组成。govneteducomtwcnxinhuapcsahFtp.ah.xinhua.com根域顶级域名子域子域主机图:DNS域名空间.(2)DNS域名服务器定义:用于存放主机域名信息和进行域名解析的计算机分类:1、主域名服务器是特定域所有信息的权威性信息源。2、辅助域名服务器从主服务器中复制一整套域信息,不需生成本地文件。3、唯高速缓存服务器没有域名数据库,一旦从某个远程服务器取得查询的结果,就存在高速缓存中以便以后查询。辅助域名服务器辅助域名服务器本地网域名查询请求Internet域名查询主域名服务器本地域信息文件纯缓存域名服务器纯缓存域名服务器本地网域名查询请求Internet域名查询请求X域名查询返回外部域名查询请求(3)DNS查询方式本地解析(3)DNS查询方式递归查询(3)DNS查询方式循环查询、迭代查询:(3)客户机发送域名解析请求的主机,利用一个简单的程序或子程序库从服务器中提取信息以响应对域名空间的主机查询。DNS服务器的配置1、Bind概述Bind是BerkeleyInternetNameDomainService的简写,它是一款实现DNS服务器的开放源码软件。Bind原本是美国DARPA资助伯克里大学(Berkeley)开设的一个研究生课题,后来经过多年的变化发展,已经成为世界上使用最为广泛的DNS服务器软件,目前Internet上绝大多数的DNS服务器都是用Bind来架设的。2、安装DNS服务器软件#rpm–ivhbind-9.3.3-10.el5.i386.rpm#rpm–ivhbind-libbind-devel-9.3.3-10.el5.i386.rpm#rpm–ivhbind-sdb-9.3.3-10.el5.i386.rpm#rpm–ivhbind-devel-9.3.3-10.el5.i386.rpm#rpm–ivhcaching-nameserver-9.3.3-10.el5.i386.rpm#rpm–ivhbind-chroot-9.3.3-10.el5.i386.rpm3、Bind的主配置文件options{directory/var/named;dump-file/var/named/data/cache_dump.db;statistics-file/var/named/data/named_stats.txt;};include/etc/rndc.key;zone“.”{//设置根区域typehint;filenamed.ca;};zone“example.com”{//设置正向解析区域typemaster;fileexample.com.zone;allow-transfer{192.168.1.177;192.168.7.177;};};zone16.168.192.in-addr.arpa{//设置反向解析区域typemaster;file192.168.16.arpa;allow-transfer{192.168.1.177;192.168.7.17;};};4、反向解析区域文件#/var/named/chroot/var/named/example.com.zone$ttl38400example.com.INSOAdns.example.com.admin.example.com.(2009050501//serial10800//refresh3600//retry604800//expiry36000)//minimumexample.com.INNSdns.example.com.dnsINA192.168.16.177、反向解析区域文件#/var/named/chroot/var/named/192.168.16.arpa$ttl3600016.168.192.in-addr.arpa.INSOAdns.example.com.admin.example.com.(2009050501//serial10800//refresh3600//retry604800//expiry36000)//minimum16.168.192.in-addr.arpa.INNSdns.example.com.177.16.168.192.in-addr.arpa.INPTRdns.example.com.9INPTR、实现负载均衡功能DNS负载均衡的优点是经济简单易行,它在DNS服务器中为同一个域名配置多个IP地址(即为一个主机名设置多条A资源记录),在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的计算机上去,使得不同的客户端访问不同的服务器,从而达到负载均衡的目的。例如,在企业网中需要使用3台内容相同的FTP服务器共同承担客户对网站的访问,它们的IP地址分别对应192.168.16.11、192.168.16.12和192.168.16.13。现只要在DNS服务器的区域文件中加入以下3条A资源记录,就可以实现3台FTP服务器网络负载均衡功能。ftpINA192.168.16.11ftpINA192.168.16.12ftpINA192.168.16.137、实现直接解析域名DNS服务器默认只能解析完全规范域名FQDN,不能直接将域名解析成IP地址。为方便用户访问,可以在DNS服务器的区域文件中加入下面一条特殊的A资源记录,以便支持直接解析域名()。example.com.INA192.168.16.9或.INA192.168.16.98、实现泛域名的解析泛域名是指一个域名下的所有主机和子域名都被解析到同一个IP地址上。可以在DNS服务器的区域文件末尾加入下面一条特殊的A资源记录(符号“*”代表任何字符的通配符),以便支持实现泛域名解析功能。*.example.com.INA192.168.16.9或*INA192.168.16.99、启动服务(1)检查配置文件的正确性named-checkconf功能:检查named配置文件语法格式:named-checkconf文件名实例:#named-checkconf/var/named/chroot/etc/named.conf9、启动服务(2)检查区文件的正确性named-checkzone功能:检查区域文件的正确性格式:named-checkzone区域名区域文件名实例:#named-checkzoneabc.com/var/named/chroot/var/named/abc.zone9、启动服务(3)启动服务#servicenamedrestart#pstree|grepnamed1、客户端设置(1)Windows客户端设置设置本地连接属性(2)Linux的客户端的设置#vi/etc/resolv.conf添加以下选项:NameserverDNS服务器的IP地址#vi/etc/host.conf//设置解析顺序DNS客户端的配置2、测试方法(1)Windows客户端的测试方法方法一:nslookup主机名/IP地址(2)Linux的客户端可的测试方法方法一:nslookup方法二:host[主机名/IP地址]方法三:dig[主机名/IP地址]辅助DNS服务器的配置辅助名称服务器也可向客户机提供域名解析功能,但与主要名称服务器不同的是,它的数据不是直接输入的,而是从其他服务器(主要名称服务器或其他的辅助名称服务器)中复制过来的,只是一份副本,所以辅助名称服务器中的数据无法被修改。在一个区域中设置多台辅助名称服务器具有以下优点。提供容错能力。当主要名称服务器发生故障时,由辅助名称服务器提供服务。分担主要名称服务器的负担。在DNS客户端较多的情况下,通过架设辅助名称服务器完成对客户端的查询服务,可以有效地减轻主要名称服务器的负担。加快查询的速度。例如,一个公司在远地有一个与总公司网络相连的分公司网络,这时可以在该处设置一台辅助名称服务器,让该分公司的DNS客户端直接向此辅助名称服务器进行查询,而不需要通过速度较慢的广域网向总公司的DNS服务器查询,减少用于DNS查询的外网通信量。辅助DNS服务器的配置辅助名称服务器的主配置文件是/etc/named.conf,也需要设置服务器的选项和根区域,方法与配置主要名称服务器的方法相同。options{directory/var/named;dump-file/var/named/data/cache_dump.db;statistics-file/var/named/data/named_stats.txt;};include/etc/rndc.key;zone.{typehint;filenamed.ca;};zoneexample.com{typeslave;fileslaves/example.com.zone;masters{192.168.16.177;};};zone16.168.192.in-addr.arpa{typeslave;fileslaves/192.168.16.arpa;masters{192.168.16.177;};};缓存Cache-only服务器的配置Cache-only服务器是很特殊的DNS服务器,它本身并不管理任何区域,但是DNS客户端仍然可以向它请求查询。Cache-only服务器类似于代理服务器,它没有自己的域名数据库,而是将所有查询转发到其他DNS服务器处理。当Cache-only服务器收到查询结果后,除了返回给客户机外,还会将结果保存在缓存中。当下一个DNS客户端再查询相同的域名数据时,就可以从高速缓存里查出答案,加快DNS客户端的查询速度。缓存Cache-only服务器的配置Cache-only服务器/etc/named.conf文件,具体的代码如下。options{directory/var/named;dump-file/var/named/data/cache_dump.db;statistics-file/var/named/data/named_stats.txt;version4.9.11;for