《第11章配置与管理DNS服务器课件.ppt》由会员分享,可在线阅读,更多相关《第11章配置与管理DNS服务器课件.ppt(47页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、LinuxLinux操作系统与实训操作系统与实训( (第四版第四版)杨云杨云 编著编著中国铁道出版社中国铁道出版社国家精品课程国家精品课程/国家精品资源共享课程国家精品资源共享课程配套教材配套教材第11章 配置与管理DNS服务器第11章 DNS服务器配置 项目描述:某高校组建了校园网,为了使校园网中的计算机简单快捷地访问本地网络及Internet上的资源,需要在校园网中架设DNS服务器,用来提供域名转换成IP地址的功能。在完成该项目之前,首先应当确定网络中DNS服务器的部署环境,明确DNS服务器的各种角色及其作用。 项目目标:学习要点:了解DNS服务的工作原理。熟练掌握Linux下DNS服务器
2、的配置。1 DNS服务3 安装、启动DNS服务5 配置主DNS服务器实例6 DNS测试7 项目实录第11章 配置与管理DNS服务器2 项目设计及准备4 掌握BIND配置文件11.1 DNS服务11.1.1 DNS概述 DNS是一个分布式数据库,命名系统采用层次的逻辑结构,如同一棵倒置的树,这个逻辑的树形结构称为域名空间,由于DNS划分了域名空间,所以各机构可以使用自己的域名空间创建DNS信息。如图 DNS服务器分为3类。1主DNS服务器 主DNS服务器(Master或Primary)负责维护所管辖域的域名服务信息。它从域管理员构造的本地磁盘文件中加载域信息,该文件(区文件)包含着该服务器具有管
3、理权的一部分域结构的最精确信息。配置主域服务器需要一整套的配置文件,包括主配置文件(/etc/named.conf)、正向域的区文件、反向域的区文件、高速缓存初始化文件(/var/named/ named.ca)和回送文件(/var/named/named.local)。5 v 2辅助DNS服务器 辅助DNS服务器(Slave或Secondary)用于分担主DNS服务器的查询负载。区文件是从主服务器中转移出来的,并作为本地磁盘文件存储在辅助服务器中。这种转移称为“区文件转移”。在辅助DNS服务器中有一个所有域信息的完整复制,可以有权威地回答对该域的查询请求。配置辅助DNS服务器不需要生成本地区
4、文件,因为可以从主服务器下载该区文件,所以只需配置主配置文件、高速缓存文件和回送文件就可以了。63唯高速缓存DNS服务器 供本地网络上的客户机用来进行域名转换。它通过查询其他DNS服务器并将获得的信息存放在它的高速缓存中,为客户机查询信息提供服务。唯高速缓存DNS服务器(Caching-only DNS server)不是权威性的服务器,因为它提供的所有信息都是间接信息。711.1.2 DNS查询模式 按照DNS搜索区域的类型,DNS的区域分为正向搜索区域和反向搜索区域。正向搜索是DNS服务的主要功能,它根据计算机的DNS名称(域名),解析出相应的IP地址;而反向搜索是根据计算机的IP地址解析
5、出它的DNS名称(域名)。 1. 正向查询正向查询就是根据域名,搜索出对应的IP地址。其查询方法为:当DNS客户机(也可以是DNS服务器)向首选DNS服务器发出查询请求后,如果首选DNS服务器数据库中没有与查询请求所对应的数据,则会将查询请求转发给另一台DNS服务器,依此类推,直到找到与查询请求对应的数据为止,如果最后一台DNS服务器中也没有所需的数据,则通知DNS客户机查询失败。 2. 反向查询反向查询与正向查询正好相反,它是利用IP地址查询出对应的域名。11.1.3 DNS域名空间结构 在域名系统中,每台计算机的域名由一系列用点分开的字母数字段组成。例如,某台计算机的FQDN(Full Q
6、ualified Domain Name,FQDN)为,其具有的域名为;另一台计算机的FQDN为,其具有的域名为。域名是有层次的,域名中最重要的部分位于右边。FQDN中最左边的部分是单台计算机的主机名或主机别名。 整个DNS域名空间结构如同一棵倒挂的树,层次结构非常清晰。根域位于顶部,紧接在根域下面的是顶级域,每个顶级域又可以进一步划分为不同的二级域,二级域再划分出子域,子域下面可以是主机也可以再划分子域,直到最后的主机。在Internet中的域是由InterNIC负责管理的,域名的服务则由DNS来实现。11.1.4 DNS域名解析过程 客户机提出域名解析请求,并将该请求发送给本地的域名服务器
7、。 当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该记录项,则本地的域名服务器就直接把查询的结果返回。 如果本地的缓存中没有该记录,则本地域名服务器直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。 本地服务器再向上一步返回的域名服务器发送请求,然后接收请求的服务器查询自己的缓存,如果没有该记录,则返回相关的下级的域名服务器的地址。 重复,直到找到正确的记录。 本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。服务则由DNS来实现。11.1.5 DNS常见资源记录 从DNS服务器返回的查询结果
8、可以分为两类:权威的(authoritative)和非权威的(non-authoritative)。所谓权威的查询结果,是指该查询结果是从被授权管理该区域的域名服务器的数据库中查询而来的。所谓非权威的查询结果,是指该查询结果来源于非授权的域名服务器,是该域名服务器通过查询其他域名服务器而不是本地数据库得来的。在能够返回权威查询结果的域名服务器中存在一个本地数据库,该数据库中存储与域名解析相关的条目,这些条目称为DNS资源记录。资源记录的内容通常包括5项,基本格式如下:Domain TTL Class Record Type Record Data11.1.6 /etc/hosts文件 host
9、s文件是Linux系统中一个负责IP地址与域名快速解析的文件,以ASCII格式保存在/etc目录下,文件名为hosts。hosts文件包含了IP地址和主机名之间的映射,还包括主机名的别名。在没有域名服务器的情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的IP地址,否则就需要使用DNS服务程序来解决。通常可以将常用的域名和IP地址映射加入到hosts文件中,实现快速方便的访问。hosts文件的格式如下:IP地址 主机名/域名【例11-1】假设要添加域名为,IP地址为;,IP地址为。则可在hosts文件中添加如下记录:v11.2 项目设计及准备项目设计及准备主机名称操作系统IP
10、角色RHEL7-1RHEL 7192.168.10.1/24主DNS服务器;VMnet1RHEL7-2RHEL 7192.68.10.2/24辅助DNS、缓存DNS、转发DNS等;VMnet1Client1RHEL 7192.168.10.20/24Linux客户端;VMnet1Win7-1Windows 7192.168.10.40/24Windows客户端;VMnet111.2.1 项目设计为了保证校园网中的计算机能够安全可靠地通过域名访问本地网络以及Internet资源,需要在网络中部署主DNS服务 器、辅助DNS服务器、缓存DNS服务器。11.2.2 项目准备一共需要4台计算机,其中3
11、台是Linux计算机,1台是Windows 7计算机。如表11-3所示。表11-3Linux服务器和客户端信息v11.3 安装、启动安装、启动DNS服务服务 Linux下架设DNS服务器通常使用BIND(Berkeley Internet Name Domain)程序来实现,其守护进程是named。下面在RHEL7-1和RHEL7-2上进行。 1bind软件包简介 BIND是一款实现DNS服务器的开放源码软件。BIND原本是美国DARPA资助研究伯克里大学(Berkeley)开设的一个研究生课题,后来经过多年的变化发展已经成为世界上使用最为广泛的DNS服务器软件,目前Internet上绝大多数
12、的DNS服务器都是用BIND来架设的。v11.3 安装、启动安装、启动DNS服务服务2.安装bind软件包(1)使用yum命令安装bind服务(光盘挂载、yum源的制作请参考前面相关内容)特别注意:挂载光盘前要确认光盘镜像已经映射到虚拟机的桌面,否则请先右击桌面右下角的光盘图标 ,在弹出的快捷菜单中,单击“设置”,正确设置ISO镜像的正确位置。然后再次右击桌面右下角的光盘 ,单击”连接“。rootRHEL7-1 # mkdir /isorootRHEL7-1 # mount /dev/cdrom /isorootRHEL7-1 # yum clean all /安装前先清除缓存rootRHEL
13、7-1 # yum install bind bind-chroot -yv11.3 安装、启动安装、启动DNS服务服务(2)安装完后再次查询,发现已安装成功。rootRHEL7-1 # rpm -qa|grep bind3. DNS服务的启动、停止与重启,加入开机自启动rootRHEL7-1 # systemctl stop namedrootRHEL7-1 # systemctl start namedrootRHEL7-1 # systemctl restart namedrootRHEL7-1 # systemctl enable namedv11.4 掌握掌握BIND配置文件配置文件
14、1DNS服务器配置流程一个比较简单的DNS服务器设置流程主要分为以下3步。建立配置文件named.conf,该文件的最主要目的是设置DNS服务器能够管理哪些区域(Zone)以及这些区域所对应的区域文件名和存放路径。建立区域文件,按照named.conf文件中指定的路径建立区域文件,该文件主要记录该区域内的资源记录。例如:对应的IP地址为。重新加载配置文件或重新启动named服务使用配置生效。1811.4掌握掌握BIND配置文件配置文件DNS配置文件分为全局配置文件、主配置文件和正反向解析区域声明文件。rootRHEL7-1 # cat /etc/named.confoptions listen
15、-on port 53 127.0.0.1; ; /指定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; ; /指定接
16、收DNS查询请求的客户端recursion yes;dnssec-enable yes;dnssec-validation yes;/改为no可以忽略SELinux影响dnssec-lookaside auto;19/以下用于指定BIND服务的日志参数 logging channel default_debug file data/named.run; severity dynamic; ; zone . IN /用于指定根服务器的配置信息,一般不能改动 type hint; file named.ca;include /etc/named.zones; /指定主配置文件,一定根据实际修改in
17、clude /etc/named.root.key;3options配置段属于全局性的设置directory:用于指定named守护进程的工作目录。allow-query:与allow-querylocalhost;功能相同。例如,若仅允许和网段的主机查询该DNS服务器,则命令为allow-query 127.0.0.1;192.168.1.0/24。listen-on:设置named守护进程监听的IP地址和端口。若未指定,默认监听DNS服务器的所有IP地址的53号端口。若要设置DNS服务器监听这个IP地址,端口使用标准的5353号,则配置命令为listen-on port 5353 192.
18、168.1.2;4forwarders:用于定义DNS转发器。在设置了转发器后,所有非本域的和在缓存中无法找到的域名查询,可由指定的DNS转发器来完成解析工作并做缓存。forward用于指定转发方式,仅在forwarders转发器列表不为空时有效,其用法为“forward first | only ; ”。forward first为默认方式,DNS服务器会将用户的域名查询请求先转发给forwarders设置的转发器,由转发器来完成域名的解析工作,若指定的转发器无法完成解析或无响应,则再由DNS服务器自身来完成域名的解析。若设置为“forward only ; ”,则DNS服务器仅将用户的域名
19、查询请求转发给转发器,若指定的转发器无法完成域名解析或无响应,DNS服务器自身也不会试着对其进行域名解析。例如,某地区的DNS服务器为和,若要将其设置为DNS服务器的转发器,则配置命令为options forwarders 61.128.192.68;61.128.128.68; forward first;认识主配置文件认识主配置文件22主配置文件位于/etc目录下,可将复制为全局配置文件中指定的主配置文件,本书中是/etc/named.zones。rootRHEL7-1 # cp p /etc/named.rfc1912.zones /etc/named.zones zone localh
20、ost.localdomain IN type master; /主要区域 file named.localhost; /指定正向查询区域配置文件 allow-update none; ;zone 1.0.0.127.in-addr.arpa IN /反向解析区域 type master; file “named.loopback”; /指定反向解析区域配置文件 allow-update none; ;231Zone区域声明(1)主域名服务器的正向解析区域声明格式为zone 区域名称 IN type master ; file 实现正向解析的区域文件名; allow-update none;(
21、2)从域名服务器的正向解析区域声明格式为zone 区域名称 IN type slave ; file 实现正向解析的区域文件名; masters 主域名服务器的IP地址;241Zone区域声明反向解析区域的声明格式与正向相同,只是file所指定的要读的文件不同,另外就是区域的名称不同。若要反向解析x.y.z网段的主机,则反向解析的区域名称应设置为z.y.x.in-addr.arpa。(反向解析区域样本文件为named.loopback)42根区域文件/var/named/namedca/var/named/named.ca是一个非常重要的文件,其包含了Internet的顶级域名服务器的名字和地
22、址。利用该文件可以让DNS服务器找到根DNS服务器,并初始化DNS的缓冲区。当DNS服务器接到客户端主机的查询请求时,如果在Cache中找不到相应的数据,就会通过根服务器进行逐级查询。/var/named/named.ca文件的主要内容如图12-3所示。42根区域文件/var/named/namedca 以“;”开始的行都是注释行。 其他每两行都和某个域名服务器有关,分别是NS和A资源记录。行“. 518400 IN NS A.ROOT-SERVERS.NET.”的含义是:“.”表示根域;518400是存活期;IN是资源记录的网络类型,表示Internet类型;NS是资源记录类型;“A.ROO
23、T-SERVERS.NET.”是主机域名。行“A.ROOT-SERVERS.NET. 3600000 IN A 198.41.0.4” 的含义是:A资源记录用于指定根域服务器的IP地址;A.ROOT-SERVERS.NET.是主机名;3600000是存活期;A是资源记录类型;最后对应的是IP地址。由于named.ca文件经常会随着根服务器的变化而发生变化,所以建议最好从国际互联网络信息中心(InterNIC)的FTP服务器下载最新的版本,文件名为named.root。611.5 配置主DNS服务器实例1.案例环境及需求 某校园网要架设一台DNS服务器负责域的域名解析工作。DNS服务器的FQDN
24、为,IP地址为。要求为以下域名实现正反向域名解析服务。 MX记录 另外,为设置别名为。72.配置过程 包括全局配置文件、主配置文件和正反向区域解析文件的配置。1编辑全局配置文件/etc/namedconf文件rootRHEL7-1 named# vim /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_stat
25、s.txt; memstatistics-file /var/named/data/named_mem_stats.txt; allow-query any; ; recursion yes;dnssec-enable yes; dnssec-validation no;dnssec-lookaside auto; include /etc/named.zones;/必须更改!必须更改!include /etc/named.root.key;配置主配置文件配置主配置文件namednamedzoneszones使用使用vim /etc/named.zonesvim /etc/named.zone
26、s编辑增加以下内容:编辑增加以下内容:rootRHEL7-1 # vim /etc/named.zones zone IN type master; file .zone; allow-update none; ;zone 10.168.192.in-addr.arpa IN type master; file 192.168.10.zone; allow-update none; ;29303修改bind的区域配置文件(1)创建正向区域文件,位于/var/named目录下rootRHEL7-1 # cd /var/namedrootRHEL7-1 named# rootRHEL7-1 nam
27、ed# 313修改bind的区域配置文件(1)创建正向区域文件,位于/var/named目录下$TTL 1D IN SOA . ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimumINNS.INMX. web INCNAME.32(2)创建反向区域文件,位于/var/named目录。$TTL 1D IN SOA . ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS . IN MX 10 .1 IN PTR .2 IN PTR .3
28、IN PTR .4 IN PTR .20 IN PTR .3334(4)在)在RHEL7-1上配置防火墙,设置主配置文件和区域文件的属组为上配置防火墙,设置主配置文件和区域文件的属组为named。rootrhel7-1 # firewall-cmd -permanent -add-service=dnsrootrhel7-1 # firewall-cmd -reloadrootrhel7-1 # chgrp named /etc/named.conf(5)重新启动DNS服务,加入开机启动rootRHEL7-1 # systemctl restart namedrootRHEL7-1 # sys
29、temctl enable named(6)测试35配置文件说明如下。(1)主配置文件的名称一定要与/etc/named.conf文件中指定的文件名一致。本书中是named.zones。(2)正反向区域文件的名称一定要与/etc/named.zones文件中zone区域声明中指定的文件名一致。(3)正反向区域文件的所有记录行都要顶头写,前面不要留有空格,否则会导致DNS服务不能正常工作。(4)第一个有效行为SOA资源记录。 IN SOA origin. contact.( 1997022700 ; serial 28800 ; refresh 14400 ; retry 3600000 ; e
30、xpiry 86400 ; minimum )36是该域的替代符)。IN表示网络类型。SOA表示资源记录类型。origin表示该域的主域名服务器的FQDN,用“.”结尾表示这是个绝对名称。contact表示该域的管理员的电子邮件地址。它是正常E-mail地址的变通,将变为“.”。例如,文件中的contact为.。serial为该文件的版本号。refresh为更新时间间隔。retry为重试时间间隔。expiry为过期时间。37(5)TTL为最小时间间隔,单位是秒。对于没有特别指定存活周期的资源记录,默认取minimum的值为1天,即86 400秒。1D表示一天。(6)行“ IN NS .”说明该
31、域的域名服务器,至少应该定义一个。(7)行“ IN MX 10 .”用于定义邮件交换器,其中10表示优先级别,数字越小,优先级别越高。(8)类似于行“”是一系列的主机资源记录,表示主机名和IP地址的对应关系。(9)行“web IN CNAME .”定义的是别名资源记录,表示web.long. com.是.的别名。(10)类似于行“2 IN PTR .”是指针资源记录,表示IP地址与主机名称的对应关系。其中,PTR使用相对域名;2表示,它表示IP地址为。 3.3.配置配置DNSDNS客户端客户端假设本地首选DNS服务器的IP地址为192.168.10.1,备用DNS服务器的IP地址为192.16
32、8.10.3,则DNS客户端的设置如下所示。1)配置Windows客户端 打开“Internet 协议(TCP/IP)”属性对话框,在图所示的对话框中输入首选和备用DNS服务器的IP地址即可。382)配置Linux客户端rootRHEL7-1 # vim /etc/resolv.conf nameserver 192.168.10.3 search 其中nameserver指明域名服务器的IP地址,可以设置多个DNS服务器,查询时按照文件中指定的顺序进行域名解析,只有当第一个DNS服务器没有响应时才向下面的DNS服务器发出域名解析请求。search用于指明域名搜索顺序,当查询没有域名后缀的主机
33、名时,将会自动附加由search指定的域名。394. 使用nslookup测试DNS BIND软件包提供了3个DNS测试工具:nslookup、dig和host。其中dig和host是命令行工具,而nslookup命令既可以使用命令行模式也可以使用交互模式。下面在客户端Client1()上进行测试,前提是必须保证与RHEL7-1服务器的通信畅通。rootClient1 # vim /etc/resolv.conf search rootclient1 # nslookup/运行nslookup命令 serverAddress: 192.168.10.1#53 /正向查询,查询域名所对应的IP地
34、址Address:192.168.10.1#5340 192.168.10.2/反向查询,查询IP地址所对应的域名Address:192.168.10.1#532.10.168.192.in-addr.arpa name = . set all/显示当前设置的所有值Address: 192.168.10.1#53Set options: novcnodebugnod2 searchrecurse timeout = 0retry = 3port = 53 querytype = A class = IN srchlist = 41/查询域的NS资源记录配置 set type=NS /此行中ty
35、pe的取值还可以为SOA、MX、CNAME、A、PTR及any等 Address:192.168.10.1#nameserver = . exitrootclient1 #4243 11.6 DNS测试BIND软件包提供了3个DNS测试工具:nslookup、dig和host。下面举例说明nslookup命令的使用方法。/运行nslookup命令rootRHEL7-1 # nslookup/正向查询,查询域名所对应的IP地址Address: 192.168.10.1#53/反向查询,查询IP地址所对应的域名Address: 192.168.10.1#53442.10.168.192.in-ad
36、dr.arpa name = ./显示当前设置的所有值 set allAddress: 192.168.10.1#53Address: 192.168.10.3#53Set options: novc nodebug nod2 search recurse timeout=0 retry=2 port=53 querytype=A class=IN srchlist=/查询域的NS资源记录配置 set type=NS /此行中type的取值还可以为SOA、MX、CNAME、A、PTR及any等 Address: 192.168.10.1#53L nameserver=.2 2digdig命令命
37、令 dig dig(domain information groperdomain information groper)是一个灵活的命令行方式的域名查询工具,常用于从)是一个灵活的命令行方式的域名查询工具,常用于从域名服务器获取特定的信息。例如,通过域名服务器获取特定的信息。例如,通过digdig命令查看域名命令查看域名的信息。的信息。453host命令host命令用来做简单的主机名的信息查询,在默认情况下,host只在主机名和IP地址之间进行转换。下面是一些常见的host命令的使用方法。/正向查询主机地址rootRHEL7-1 # host /反向查询IP地址对应的域名rootRHEL7-
38、1 # host 192.168.10.3 /查询不同类型的资源记录配置,-t参数后可以为SOA、MX、CNAME、A、PTR等rootRHEL7-1 # host -t NS 配置文件名写错。在这种情况下,运行nslookup命令不会出现命令提示符“”。 主机域名后面没有小点“.”。这是最常犯的错误。 /etc/resolv.conf文件中的域名服务器的IP地址不正确。在这种情况下,nslookup命令不出现命令提示符。 回送地址的数据库文件有问题。同样nslookup命令不出现命令提示符。 在/etc/named.conf文件中的zone区域声明中定义的文件名与/var/named/chroot/var/named目录下的区域数据库文件名不一致。其他需要说明的信息其他需要说明的信息本项目后的实训视频、其他文件请详见随书光盘。本教材电子教案、试卷等全套资源提供群: 414901724作者QQ:68433059教材教材ISBN:9787113-27064-3