《第7章DNS服务器配置ppt课件.ppt》由会员分享,可在线阅读,更多相关《第7章DNS服务器配置ppt课件.ppt(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、在此输入您的封面副标题第7章 DNS服务器配置LinuxLinux操作系统与实训操作系统与实训( (第三版第三版)杨云杨云 编著编著中国铁道出版社中国铁道出版社国家精品课程国家精品课程/国家精品资源共享课程国家精品资源共享课程配套教材配套教材第7章 DNS服务器配置 项目描述:某高校组建了校园网,为了使校园网中的计算机简单快捷地访问本地网络及Internet上的资源,需要在校园网中架设DNS服务器,用来提供域名转换成IP地址的功能。在完成该项目之前,首先应当确定网络中DNS服务器的部署环境,明确DNS服务器的各种角色及其作用。 项目目标: 了解DNS服务器的作用及其在网络中的重要性 理解DNS
2、的域名空间结构 掌握DNS查询模式 掌握DNS域名解析过程 掌握常规DNS服务器的安装与配置 掌握辅助DNS服务器的配置 掌握子域概念及区域委派配置过程 掌握转发服务器和缓存服务器的配置 理解并掌握DNS客户机的配置 掌握DNS服务的测试7.1 了解DNS服务器7.3 掌握掌握BIND配置文件配置文件7.5 配置DNS客户端 7.6使用nslookup测试DNS7.7 项目实录7.8 练习题&实践习题7.9 超级链接 第7章 DNS服务器配置 7.2 安装DNS服务器7.4 配置DNS服务器7.1 了解DNS服务器域名空间 DNS是一个分布式数据库,命名系统采用层次的逻辑结构,如同一棵倒置的树
3、,这个逻辑的树形结构称为域名空间,由于DNS划分了域名空间,所以各机构可以使用自己的域名空间创建DNS信息。如图 域名空间 1域和域名 DNS树的每个节点代表一个域,通过这些节点,对整个域名空间进行划分,成为一个层次结构。域名空间的每个域的名字通过域名进行表示。域名通常由一个完全正式域名(FQDN)标识。FQDN能准确表示出其相对于DNS域树根的位置,也就是节点到DNS树根的完整表述方式,从节点到树根采用反向书写,并将每个节点用“.”分隔,对于DNS域163来说,其完全正式域名(FQDN)。一个DNS域可以包括主机和其他域(子域),每个机构都拥有名称空间的某一部分的授权,负责该部分名称空间的管
4、理和划分,并用它来命名DNS域和计算机。例如,163为com域的子域,其表示方法为,而www为163域中的Web主机,可以使用表示。通常,FQDN有严格的命名限制,长度不能超过256字节,只允许使用字符a-z,0-9,A-Z和减号(-)。点号(.)只允许在域名标志之间(例如“”)或者FQDN的结尾使用。域名不区分大小。域名空间 2Internet域名空间 DNS根域下面是顶级域,也由Internet域名注册授权机构管理。共有3种类型的顶级域。 组织域:采用3个字符的代号,表示DNS域中所包含的组织的主要功能或活动。比如com为商业机构组织,edu为教育机构组织,gov为政府机构组织,mil为军
5、事机构组织,net为网络机构组织,org为非营利机构组织,int为国际机构组织。 地址域:采用两个字符的国家或地区代号。如cn为中国,kr为韩国,us为美国。 反向域:这是个特殊域,名字为in-addr.arpa,用于将IP地址映射到名字(反向查询)。域名空间 3区(Zone) 区是DNS名称空间的一个连续部分,其包含了一组存储在DNS服务器上的资源记录。每个区都位于一个特殊的域节点,但区并不是域。DNS域是名称空间的一个分支,而区一般是存储在文件中的DNS名称空间的某一部分,可以包括多个域。一个域可以再分成几部分,每个部分或区可以由一台DNS服务器控制。使用区的概念,DNS服务器回答关于自己
6、区中主机的查询,以及哪个区的授权服务器。7.1.2 DNS服务器分类DNS服务器分为4类。1主DNS服务器(Master或Primary)2辅助DNS服务器(Slave或Secondary)3转发DNS服务器4唯高速缓存DNS服务器(Caching-only DNS server)7.1.3 DNS查询模式 1递归查询 当收到DNS工作站的查询请求后,DNS服务器在自己的缓存或区域数据库中查找。如果DNS服务器本地没有存储查询的DNS信息,那么,该服务器会询问其他服务器,并将返回的查询结果提交给客户机。2转寄查询(又称迭代查询) 当收到DNS工作站的查询请求后,如果在DNS服务器中没有查到所需
7、数据,该DNS服务器便会告诉DNS工作站另外一台DNS服务器的IP地址,然后,再由DNS工作站自行向此DNS服务器查询,依此类推直到查到所需数据为止。如果到最后一台DNS服务器都没有查到所需数据,则通知DNS工作站查询失败。“转寄”的意思就是,若在某地查不到,该地就会告诉你其他地方的地址,让你转到其他地方去查。一般在DNS服务器之间的查询请求便属于转寄查询(DNS服务器也可以充当DNS工作站的角色)。 7.1.4 域名解析过程1DNS域名解析的工作原理DNS域名解析的工作过程如下。 客户机提交域名解析请求,并将该请求发送给本地的域名服务器。 当本地的域名服务器收到请求后,就先查询本地的缓存。如
8、果有查询的DNS信息记录,则直接返回查询的结果。如果没有该记录,本地域名服务器就把请求发给根域名服务器。 根域名服务器再返回给本地域名服务器一个所查询域的顶级域名服务器的地址。 本地服务器再向返回的域名服务器发送请求。 接收到该查询请求的域名服务器查询其缓存和记录,如果有相关信息则返回客户机查询结果,否则通知客户机下级的域名服务器的地址。 本地域名服务器将查询请求发送给返回的DNS服务器。 域名服务器返回本地服务器查询结果(如果该域名服务器不包含查询的DNS信息,查询过程将重复、步骤,直到返回解析信息或解析失败的回应)。 本地域名服务器将返回的结果保存到缓存,并且将结果返回给客户机。7.1.4
9、 域名解析过程2DNS域名解析实例 假设客户机使用电信ADSL接入Internet,电信为其分配的DNS服务器地址为,域名解析过程如下。 客户端向本地DNS服务器直接查询的域名。 本地DNS无法解析此域名,它先向根域服务器发出请求,查询.com的DNS地址。 根域DNS管理.com、.net、.org等顶级域名的地址解析,它收到请求后把解析结果返回给本地的DNS。 本地DNS服务器得到查询结果后接着向管理.com域的DNS服务器发出进一步的查询请求,要求得到的DNS地址。 .com域把解析结果返回给本地DNS服务器。 本地DNS服务器得到查询结果后接着向管理域的DNS服务器发出查询具体主机IP
10、地址的请求(www),要求得到满足要求的主机IP地址。 把解析结果返回给本地DNS服务器。 本地DNS服务器得到了最终的查询结果,它把这个结果返回给客户端,从而使客户端能够和远程主机通信。7.1.4 域名解析过程7.1.4 域名解析过程3正向解析与反向解析(1)正向解析。正向解析是指域名到IP地址的解析过程。(2)反向解析。反向解析是从IP地址到域名的解析过程。反向解析的作用为服务器的身份验证。7.1.5 资源记录 为了将名字解析为IP地址,服务器查询它们的区(又叫DNS数据库文件或简单数据库文件)。区中包含组成相关DNS域资源信息的资源记录(RR)。例如,某些资源记录把友好名字映射成IP地址
11、,另一些则把IP地址映射到友好名字。 某些资源记录不仅包括DNS域中服务器的信息,还可以用于定义域,即指定每台服务器授权了哪些域,这些资源记录就是SOA和NS资源记录。1SOA资源记录 每个区在区的开始处都包含了一个起始授权记录(Start of Authority Record),简称SOA记录。SOA定义了域的全局参数,进行整个域的管理设置。一个区域文件只允许存在唯一的SOA记录。2NS资源记录 名称服务器(NS)资源记录表示该区的授权服务器,它们表示SOA资源记录中指定的该区的主和辅助服务器,也表示了任何授权区的服务器。每个区在区根处至少包含一个NS记录。7.1.5 资源记录 3A资源记
12、录 地址(A)资源记录把FQDN映射到IP地址,因而解析器能查询FQDN对应的IP地址。 4PTR资源记录 相对于A资源记录,指针(PTR)记录把IP地址映射到FQDN。 7.1.5 资源记录 5CNAME资源记录 规范名字(CNAME)资源记录创建特定FQDN的别名。用户可以使用CNAME记录来隐藏用户网络的实现细节,使连接的客户机无法知道。6MX资源记录 邮件交换(MX)资源记录为DNS域名指定邮件交换服务器。邮件交换服务器是为DNS域名处理或转发邮件的主机。处理邮件指把邮件投递到目的地或转交另一不同类型的邮件传送者。转发邮件指把邮件发送到最终目的服务器,用简单邮件传输协议(SMTP)把邮
13、件发送给离最终目的地最近的邮件交换服务器,或使邮件经过一定时间的排队。7.1.6 /etc/hosts文件 hosts文件是Linux系统中一个负责IP地址与域名快速解析的文件,以ASCII格式保存在/etc目录下,文件名为“hosts”。hosts文件包含了IP地址和主机名之间的映射,还包括主机名的别名。在没有域名服务器的情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的IP地址,否则就需要使用DNS服务程序来解决。通常可以将常用的域名和IP地址映射加入到hosts文件中,实现快速方便的访问。hosts文件的格式如下: IP地址地址 主机名主机名/域名域名【例7-1】 假设
14、要添加域名为,IP地址为;,IP地址为。则可在hosts文件中添加如下记录。 192.168.0.1192.168.1.1 v7.2 任务任务2 安装安装DNS服务器服务器 2. 安装chroot软件包 1. 安装BIND软件包 3. DNS服务的启动与停止7.2 任务2 安装DNS服务器1认识BIND BIND是一款实现DNS服务器的开放源码软件。 BIND经历了第4版、第8版和最新的第9版,第9版修正了以前版本的许多错误,并提升了执行时的效能,BIND能够运行在当前大多数的操作系统平台之上。目前BIND软件由Internet软件联合会(Internet Software Consortiu
15、m,ISC)这个非营利性机构负责开发和维护。2安装安装bind软件包软件包(1)使用)使用yum命令安装命令安装bind服务服务(光盘挂载、(光盘挂载、yum源的制作请参考相关资料或者加作者源的制作请参考相关资料或者加作者QQ技术群:技术群: Linux & Windows & 计算机计算机 414901724 )rootRHEL6 # yum clean all /安装前先清除缓存安装前先清除缓存rootrhel6 # yum install bind -y7.2 任务2 安装DNS服务器2安装安装bind软件包软件包(2)安装完后再次查询,发现已安装成功。)安装完后再次查询,发现已安装成功
16、。rootRHEL6 桌面桌面# rpm -qa|grep bind7.2 任务2 安装DNS服务器7.2.3 子任务3 安装chroot软件包 chroot也就是也就是Change Root,用于改变程序执行时的根目录位置。早期的,用于改变程序执行时的根目录位置。早期的很多系统程序,默认所有程序执行的根目录都是很多系统程序,默认所有程序执行的根目录都是“/”,这样黑客或者其他的不,这样黑客或者其他的不法分子就很容易通过法分子就很容易通过/etc/passwd绝对路径来窃取系统机密。有了绝对路径来窃取系统机密。有了chroot,比如,比如BIND的根目录就被改变到了的根目录就被改变到了/var
17、/named/chroot,这样即使黑客突破了,这样即使黑客突破了BIND账账号,也只能访问号,也只能访问/var/named/chroot,能把攻击对系统的危害降低到最小。,能把攻击对系统的危害降低到最小。 chroot也就是Change Root,用于改变程序执行时的根目录位置。早期的很多系统程序,默认所有程序执行的根目录都是“/,这样黑客或者其他的不法分子就很容易通过/etc/passwd绝对路径来窃取系统机密。有了chroot,比如BIND的根目录就被改变到了/var/named/chroot,这样即使黑客突破了BIND账号,也只能访问/var/named/chroot,能把攻击对系统
18、的危害降低到最小。7.2.3 子任务3 安装chroot软件包安装安装chroot软件包软件包7.2.4 子任务4 DNS服务的启动、停止与重启7.2.4 子任务4 DNS服务的启动、停止与重启v12.3.1 子任务子任务1 认识全局配置文件认识全局配置文件12.3 12.3 任务任务3 3 掌握掌握BINDBIND配置文件配置文件rootRHEL6 etc# pwd/var/named/chroot/etcrootRHEL6 etc# cat /var/named/chroot/etc/named.conf/略options listen-on port 53 127.0.0.1; ;/指定
19、指定BIND侦听的侦听的DNS查询请求的本机查询请求的本机IP地址及端口地址及端口 listen-on-v6 port 53 :1; ; /限于限于IPv6 directory /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 localhost; ; /
20、指定接收指定接收DNS查询请求的客户端查询请求的客户端recursion yes;dnssec-enable yes;dnssec-validation yes;dnssec-lookaside auto; /* Path to ISC DLV key */bindkeys-file /etc/named.iscdlv.key; managed-keys-directory /var/named/dynamic;/以下用于指定以下用于指定BIND服务的日志参数服务的日志参数 logging channel default_debug file data/named.run; severity
21、dynamic; ; zone . IN /用于指定根服务器的配置信息,一般不用于指定根服务器的配置信息,一般不能改动。能改动。 type hint; file named.ca; include /etc/named.zones; /指定主配置文件,一定根据实际修改!指定主配置文件,一定根据实际修改!include /etc/named.root.key;v12.3.2 子任务子任务2 认识主配置文件认识主配置文件12.3 12.3 任务任务3 3 掌握掌握BINDBIND配置文件配置文件rootRHEL6 # cd /var/named/chroot/etcrootRHEL6 etc# c
22、p p named.rfc1912.zones named.zonesrootRHEL6 etc# zone localhost.localdomain IN type master; /主要区域主要区域 file named.localhost; /指定正向查询区域配置文件指定正向查询区域配置文件 allow-update none; ; zone localhost IN type master; file named.localhost; allow-update none; ;zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.
23、0.0.0.0.0.0.0.ip6.arpa IN type master; file named.loopback; allow-update none; ; zone 1.0.0.127.in-addr.arpa IN /反向解析区域反向解析区域 type master; file named.loopback;/指定反向解析区域配指定反向解析区域配置文件置文件 allow-update none; ; zone 0.in-addr.arpa IN type master; file named.empty; allow-update none; ; 主配置文件的其它内容无需修改,只要将已
24、有的正向及反向区域内容复制一份进行修改。zone:指定区域名称;type:指定类型主配置文件主配置文件类型类型说明说明Master主DNS服务器:拥有区域数据文件,并对此区域提供管理数据Slave辅助区域:拥有主DNS服务器区域数据文件的副本,辅助DNS服务器从主DNS服务器同步所有区域数据Stubstub区域和slave类似,但它只复制主DNS服务器上的NS记录,而不像辅助DNS服务器会复制所有区域数据Forward一个forward zone是每个域的配置转发的主要部分。一个zone语句中的type forward可以包括一个forward和或forwarders子句,它会在区域名称给定的
25、域中查询。如果没有forwarders语句或forwarders是空表,那么这个域就不会转发,消除了options语句中有关转发的配置Hint根域名服务器的初始化组指定使用的线索区域hint zone,当服务器启动时,它使用根线索来查找根域名服务器,并找到最近的根域名服务器列表。如果没有指定class IN的线索区域,服务器使用编译时默认的根服务器线索。不是IN的类别没有内置的默认线索服务器 file:指定区域配置文件,该文件中将定义资源记录; allow-update:指定动态更新类型,none表示不允许动态更新。主配置文件主配置文件根区域文件根区域文件/var/named/chroot /
26、var/named/named.cav7.4 任务任务4 DNS服务器的配置服务器的配置 1. 缓存DNS服务器的配置 DNS服务器的配置 2. 7.4.1 缓存缓存DNS服务器的配置服务器的配置 缓存域名服务器配置很简单,不需要区域文件,配置好/var/named/chroot/etc/named.conf就可以了。一般电信的DNS都是缓存域名服务器。重要的是配置好如下两项内容。forward only; 指明这个服务器是缓存域名服务器。forwarders 转发dns请求到那个服务器IP; 是转发dns请求到那个服务器。7.4.1 子任务1 缓存DNS服务器的配置按照转发类型的区别,转发服
27、务器可以分为以下两种类型。(1)完全转发服务器。 DNS服务器配置为完全转发会将所有区域的DNS查询请求发送到其他DNS服务器。可以通过设置/var/named/chroot/etc/named.conf文件的options字段实现该功能。7.4.1 子任务1 缓存DNS服务器的配置(2)条件转发服务器。 只能转发指定域的DNS查询请求,需要修改/var/named/chroot/etc/named.conf文件并添加转发区域的设置。 【例】 对域设置转发服务器和。7.4.1 子任务1 缓存DNS服务器的配置设置转发服务器的注意事项如下设置转发服务器的注意事项如下:转发服务器的查询模式必须允许
28、递归查询,否则无法正确完成转发。转发服务器列表如果为多个DNS服务器则会依次为尝试,直到获得查询信息为止。配置区域委派时如果使用权转发服务器,有可能会产生区域引用的错误。搭建转发服务器需要掌握以下操作技巧:搭建转发服务器需要掌握以下操作技巧: 转发列表配置精简。 避免链接转发器。 减少转发器负荷。 避免转发器配置错误。缓存DNS服务器的配置(Caching-only Name Server) 【例】 公司网络中为了提高客户端访问外部WEB站点的速度并减少网络流量需要在内部建立缓存服务器。 缓存服务器不需要建立独立的区域,可以直接对named.conf文件进行设置,实现缓存的功能。v7.4.3
29、主主DNS服务器的配置实例服务器的配置实例【例7-2】某校园网要架设一台DNS服务器负责域的域名解析工作。DNS服务器的FQDN为,IP地址为。要求为以下域名实现正反向域名解析服务: MX记录 (1)编辑编辑 named.conf文件文件 该文件在该文件在/var/named/chroot/etc目录下。把目录下。把options选项中的侦听改成选项中的侦听改成any,把允,把允许查询网段许查询网段allow-query后面的后面的localhost改成改成any。在。在“include”语句中指定主配置文语句中指定主配置文件为件为named.zones。rootRHEL6 named# vi
30、m /var/named/chroot/etc/named.conf listen-on port 53 any; ; listen-on-v6 port 53 :1; ; directory /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; ; recursion yes; zone . IN t
31、ype hint; file named.ca; include /etc/named.zones;/必须更改!必须更改!include /etc/named.root.key;2.配置主配置文件配置主配置文件named.zones 在在/var/named/chroot/etc目录下,使用目录下,使用vim named.zones编辑编辑增加以下内容:增加以下内容:rootRHEL6 named# vim /var/named/chroot/etc/named.zones zone IN type master; file .zone; allow-update none; ; zone 1
32、68.192.in-addr.arpa IN type master; file 192.168.zone; allow-update none; ;3.修改修改bind的区域配置文件的区域配置文件(1)创建正向区域文件)创建正向区域文件rootRHEL6 # cd /var/named/chroot/var/namedrootRHEL6 named# rootRHEL6 named# $TTL 1D IN SOA . ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum INNS.INMX. webINCNAME.3.
33、修改修改bind的区域配置文件的区域配置文件(2)创建反向区域文件)创建反向区域文件rootRHEL6 named# rootRHEL6 named# $TTL 1D IN SOA . ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS . IN MX 10 . 2.1 IN PTR .3.0 IN PTR .4.1 IN PTR .5.0 IN PTR .6.0 IN PTR .98.22 IN PTR .11.0 IN PTR .22.10 IN PTR .4.重新启动重新启动DNS服务服务rootRH
34、EL6 # service named restart5.测试(详见测试(详见7.6)v7.5 任务任务5 配置配置 DNS客户端客户端 1. Windows下DNS客户端的配置 2. Linux下DNS客户端的配置vWindows下下DNS客户端配置客户端配置vLinux下下DDNS客户端配置客户端配置1.1.修改修改/etc/resolv.conf/etc/resolv.conf2.2.重新启动网络服务重新启动网络服务v7.6 任务任务6 DNS测试测试 1. nslookup 2. dig 3. host 4. 常见错误vnslookup(一)(一)/运行nslookup命令rootRH
35、EL6 # nslookup/正向查询,查询域名所对应的IP地址Address: 192.168.1.2#53/反向查询,查询IP地址所对应的域名Address: 192.168.1.2#532.1.168.192.in-addr.arpa name = .vnslookup(二)(二)/显示当前设置的所有值 set allAddress: 192.168.1.2#53Address: 192.168.0.1#53Address: 192.168.0.5#53 Set options: novc nodebug nod2 search recurse timeout=0 retry=2 por
36、t=53 querytype=A class=IN srchlist=/查询域的NS资源记录配置 set type=NS /此行中type的取值还可以为SOA、MX、CNAME、A、PTR及any等 Address: 192.168.1.2# nameserver=.vdigrootRHEL6 # ; global options: +cmd; Got answer:; -HEADER”。 主机域名后面没有小点“.”。这是最常犯的错误。 /etc/resolv.conf文件中的域名服务器的IP地址不正确。在这种情况下,nslookup命令不出现命令提示符。 回送地址的数据库文件有问题。同样nslookup命令不出现命令提示符。 在/etc/named.conf文件中的zone区域声明中定义的文件名与/var/named/chroot/ var/named目录下的区域数据库文件名不一致。项目实录:项目实录:配置与管理配置与管理DNSDNS服务器服务器其他需要说明的信息其他需要说明的信息本项目后的实训视频、其他文件请详见随书光盘。习题答案、PPT等见教材地址:本教材电子教案、试卷等全套资源提供群: 414901724作者QQ:68433059教材教材ISBN:9787113218362