配置与管理DNS服务器
课程目标:
场景介绍:
在Internet环境中,数以亿计的服务器、个人主机通过大量交换机、路由器等设备互相联接,而IP地址成为不同主机之间互相访问的基本辨识条件。通过IP地址,可以访问到网路中的各个服务器,如网站服务器linux操作系统原理,短信服务器等。但是对于大多数用户,想要把互联网中各个服务器的IP地址都记住,不太现实。于是为了使用户更容易接收和理解,Internet中大量的网站等各类服务器都使用了域名方式的地址,比如、等。比直接使用202.20.20.12、203.2.5.6的IP方式愈发让人接受。因而DNS域名解析服务由此而至。
2、项目知识打算
2.1、DNS(DomainNameService,域名服务)是Internet/Intranet中最基础也是十分重要的一项服务,主要作用就是维护一个主机域名和IP地址的对应关系数据库,在须要的时侯为顾客端网路程序提供以下两个方面的地址解析功能。
2.1.1、正向解析:将主机的名称(域名)解析为对应的IP地址。域名的正向解析是DNS服务器最常用也是最基本的功能
2.1.2、反向解析:将IP地址解析为对应的域名。
2.2、认识域名空间
在整个internet中,假如将数以亿计的域名和IP地址对应关系添加到一台DNS服务器中管理,并处理整个互联网中顾客机的域名解析恳求,即使是超算中心,查询域名的效率也会特别低。因而internet中的域名系统采用分布式的数据库方法,将不同范围的域名和IP地址对应关系交给不同的DNS服务器进行管理。这个分布式数据库采用树状结构,全世界的域名系统都具有惟一的跟(.)。域名空间结构如右图:
注意:在域名空间中,DNS树的最大深度不得超过127层,树中的每位节点最长可以储存63个字符。
2.3、域和域名:
域名一般由一个完全即将域名(FullyQualifiedDomainName,FQDN)标示。FQDN是包含主机名和其所在域名的完整地址,它能确切表示出其相对于DNS域树枝的位置,也就是节点到DNS树枝的完整叙述方法,从节点到树枝采用反向书写,并将每位节点用“.”分隔。如新浪网站服务器地址,其中www表示服务器的主机名(大多数的网站服务器都是用该名称),baidu为二级域,也可以说是com的子域。或和,news和tieba都是baidu的子域。
2.4、域名空间
Internet域名空间的结构为一棵倒置的树,对域名空间整体进行界定,由最顶楼到上层,可以分成:根域、顶级域、二级域、子域。
“.”根域服务器,是所有主机域名解析的源头,其记录着internet中的重要DNS信息(只负责记录一级域中各个DNS服务器的IP地址),由internet域名注册授权机构管理。地址中最后的”.”通常被省略。全球有13个根域服务器。DNS根域下边是顶尖域,也由Internet域名注册授权机构管理。共有3种类型的顶尖域。组织域:采用3个字符的代号,表示DNS域中所包含的组织的主要功能或活动。例如,com为商业机构组织,edu为教育机构组织,gov为政府机构组织,mil为军事机构组织,net为网路机构组织,org为非营利机构组织,int为国际机构组织。地址域:采用两个字符的国家或地区代号,如cn为中国、kr为日本、us为日本。反向域:这是个特殊域,名子为.in-addr.arpa,用于将IP地址映射到名子(反向查询)。对于顶尖域(一级域)的下级域,域名注册授权机构授权给拥有顶尖域使用权的组织或企业。当一个组织或企业获得对域名空间的授权后,该组织或企业负责命名其所分配的域及其子域,包括域中的计算机及其他设备,并管理分配的域中主机名与IP地址的映射信息。如,百度公司获得了的授权,的子域,如或,由百度公司自己定义。组成DNS系统的核心是DNS服务器,它是回答DNS查询的计算机,DNS服务器是一个保存了主机名(域名)和对应IP地址的数据库。
2.4、区(zone):
在internet中,每一台DNS服务器都只负责管理一个有限范围(一个或几个域)内的主机域名和IP地址的对应关系,这种特定的DNS域成为“zone”(区域)。按照地址解析的方向不同,DNS区域相应的也分为正向区域(域名到IP的解析)和反向区域(IP到域名的解析)。
3、DNS服务器的分类
DNS服务器分类以下四类:
3.1、主DNS服务器:
主(Master或Primary)DNS服务器负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以更改。配置主域服务器须要一整套的配置文件,主要包括主配置文件(/etc/named.conf)、区域配置文件、正向域的区文件、反向域的区文件。
3.2、辅助DNS服务器:
辅助DNS服务器(Slave或Secondary)用于分担主DNS服务器的查询负载。区文件是从主服务器中转移下来的服务器安装linux管理,并作为本地c盘文件储存在辅助服务器中。在辅助DNS服务器中有一个所有域信息的完整复制,可以有权威地回答对该域的查询恳求。当主域名服务器出现故障、关闭或负载过重时,辅助域名服务器作为主域名服务器的备份提供域名解析服务。辅助域名服务器中的区域文件中的数据是从主域名服务器中复制过来的,是不可以更改的。
3.3、转发DNS服务器:
转发DNS服务器(ForwarderNameServer)可以向其他DNS转发解析恳求。在DNS服务器收到顾客端的解析恳求后,它首先会尝试从其本地数据库中查找;若无法找到,则须要向其他指定的DNS服务器转发解析恳求;其他DNS服务器完成解析后会返回解析结果,转发DNS服务器将该解析结果缓存在自己的DNS缓存中,并向顾客端返回解析结果。在缓存期内,假若顾客端恳求解析相同的名称,则转发DNS服务器会立刻回应顾客端;否则,将会再度发生转发解析的过程。
3.4、唯高速缓存DNS服务器
供本地网路上的顾客机拿来进行域名转换。它通过查询其他DNS服务器并将获得的信息储存在它的高速缓存中,为顾客机查询信息提供服务。唯高速缓存DNS服务器(Caching-onlyDNSserver)不是权威性的服务器,由于它提供的所有信息都是间接信息。
4、DNS查询模式:
4.1、递归查询:
在收到DNS顾客端的查询恳求后,DNS服务器在自己的缓存或区域数据库中查找。假如DNS服务器本地没有储存查询的DNS信息,这么,该服务器会寻问其他服务器,并将返回的查询结果递交给顾客端。总结:只发送一次恳求,还会获得结果
4.2、迭代查询(转寄查询):
在收到DNS顾客端的查询恳求后,假如在DNS服务器中没有查到所需数据,该DNS服务器便会告诉DNS工作站另外一台DNS服务器的IP地址,之后,再由DNS顾客端自行向此DNS服务器查询,依这种推,直至查到所需数据为止。假如到最后一台DNS服务器都没有查到所需数据linux 虚拟主机,则通知DNS顾客端查询失败。“迭代”的意思就是,若在某市查不到,该地都会告诉你其他地方的地址,让你转入其他地方去查。通常在DNS服务器之间的查询恳求便属于迭代查询。总结:发送多次恳求,就能得到最终结果
5、域名解析过程
5.1、DNS域名解析的工作原理:
案例:顾客端访问域名,DNS服务器为企业内部自己搭建的,IP为192.168.10.2,域名解析过程如下:
(1)顾客端向本地DNS服务器192.168.10.2直接查询的域名。
(2)本地DNS未能解析此域名,它先向根域服务器发出恳求,查询.com的DNS地址。
(3)根域DNS管理.com、.net、.org等顶尖域名的地址解析,它收到恳求后,把解析结果返回给本地的DNS。
(4)本地DNS服务器192.168.10.2得到查询结果后,接着向管理.com域的DNS服务器发出进一步的查询恳求,要求得到的DNS地址。
(5).com域把解析结果返回给本地DNS服务器192.168.10.2。
(6)本地DNS服务器192.168.10.2得到查询结果后,接着向管理域的DNS服务器发出查询具体主机IP地址的恳求(如www),要求得到满足要求的主机IP地址。
(7)把解析结果返回给本地DNS服务器192.168.10.2。
(8)本地DNS服务器得到了最终的查询结果,它把这个结果返回给顾客端,因而使顾客端就能和远程主机通讯。
注意:DNS服务器的IP必须是静态的。
5.2、hosts文件:
hosts文件是Linux系统中一个负责IP地址和域名快速解析的文件,文件位置/etc/hosts。Hosts文件包含了IP地址和主机名/域名之间的映射,在没有域名服务器的情况下,系统上的所有网路程序都是通过查询该文件来解析对应于某个主机名/域名的IP地址,否则就须要使用DNS服务程序来解决。一般可以将常用的域名和IP地址映射加入hosts文件中,实现快速便捷的查询。hosts文件的格式如下:IP地址主机名/域名
注意:本地hosts文件优先级低于DNS。系统默认解析次序:先查找hosts文件解析,
如过解析不了,再通过DNS服务器解析。
Windows系统中hosts文件的位置:C:/windwos/system32/drivers/etc/hosts
6、DNS配置过程:
6.1、DNS服务器软件介绍:
在Linux下架设DNS服务器一般使用伯克利互联网域名(BerkeleyInternetNameDomain)程序来实现,简称BIND。BIND是一款实现DNS服务器的开放源码软件,才能运行当前大多数的操作系统上,如windowsserver、linux。在linux系统中,守护进程是named,端口为UDP53。
6.2、安装、启动DNS服务器
6.2.1、环境打算:
系统:Centos7
IP:192.168.100.3网路模式选择NAT(yum安装需联网)
注意:DNS服务器的IP必须是固定的,IP需自动配置。
6.2.2、yum安装BIND软件包(需连内网)
yuminstallbind-chroot.x86_64-y
6.2.3、启动DNS服务,并加入开机自启
systemctlstartnamed
systemctlenablenamed
6.3、认识BIND配置文件:
DNS服务器的配置文件有四个:
主配置文件:named.conf,该文件主要用于指定DNS服务器在那个插口上窃听DNS数据包,也可以指定什么顾客端可以进行DNS域名解析,以及区域配置文件的名称和路径,正向解析区域文件和反向解析区域文件的路径,还可以进行转发器的设置。
区域配置文件:区域配置文件的名称和路径由主配置文件决定,该文件主要用于指定主区域以及指定正向解析区域文件和反向解析区域文件的文件名。
正向解析区域文件:该文件主要用于记录该区域内的资源记录,也就是正向解析条目,如:
192.168.10.100
反向解析区域文件:该文件主要用于记录该区域内的资源记录,也就是反向解析条目,如:
192.168.10.100
注意:更改完配置文件需重启DNS服务。
6.4、DNS服务器配置流程实例:
DNS服务器工作流程如下:
(1)顾客端须要获得这台主机所对应的IP地址,将查询恳求发送给服务器.
(2)服务器接收到恳求后,查询主配置文件named.conf,检测是否还能管理
区域。而named.conf中记录着才能解析区域并提供区域文
件所在路径及文件名。
(3)服务器则依照named.conf文件中提供的路径和文件名找到区域所对
应的配置文件,并从中找到主机所对应的IP地址。
(4)将查询结果反馈给顾客端,完成整个查询过程。
6.5、认识主配置文件:
主配置文件named.conf坐落/etc目录下,该文件主要用于指定DNS服务器在那个插口上窃听DNS数据包,也可以指定什么顾客端可以进行DNS域名解析,以及区域配置文件的名称和路径,正向解析区域文件和反向解析区域文件的路径,还可以进行转发器的设置。
编辑主配置文件:vim/etc/named.conf
6.6、认识区域配置文件
区域配置文件坐落/etc目录下,区域配置文件的名称必须和主配置文件当中的名称相对应。该文件主要用于指定主区域以及指定正向解析区域文件和反向解析区域文件的文件名。
编辑区域配置文件:vim/etc/named.rfc1912.zones
该文件系统默认有五个样例,可在样例的基础上进行更改,不用的样例可直接删掉。如右图只保留了两个,一个正向解析,一个反向解析。
6.7、认识正、反向解析区域文件
该文件主要用于记录该区域内的资源记录,也就是正、反向解析条目。为了将名称解析
为IP地址服务器查询正反解析区域文件(又叫DNS数据库文件)。区域文件中包含组成相
关DNS域资源信息的资源记录。如个别资源记录把域名映射成IP地址。
6.7.1、资源记录(ResourceRecord)有多种类型:
A资源记录:地址(Address,A)资源记录把FQDN映射到IP地址,因而解析器能查
询FQDN对应的IP地址。注意:仅限解析IPv4
SOA资源记录:起始授权资源记录,拿来标示那个主机来管理这个域。一个区域
文件只容许存在惟一的SOA记录
NS资源记录:名称服务资源记录,拿来标示该域的本地DNS服务器。MX资源记录:电邮交换资源记录,用于标示该域的电邮服务器。CNAME资源记录:别称记录,如是的别称。PTR资源记录:表针资源记录把IP地址映射到FQDN。
6.7.2、编辑正向解析区域文件:vim/var/named/named.localhost
第1行:表示全局TTL缓存时间,1D代表三天,H代表小时,W代表周
第2行:SOA资源记录,@代表该域的名称,IN是关键字,SOA是资源记录类型,.代表由这台主机管理这个域,.代表这个域的管理员邮箱。
注意:解析区域文件中的第一条资源记录必须是SOA记录。
域名最后的根域“.”必须写上。
由于@代表本域,所以邮箱中的@要换成“.”
第8行:名称服务资源记录,表示本域的DNS服务器是.,必须定义。
第9行:电邮交换资源记录,表示本域的电邮服务器是.,其中10表示优先级,数字越小服务器安装linux管理,优先级越高。该资源记录可以不写。
第10、11、12行:A记录,将域名解析为IP地址
第13行:别称资源记录,的别称为
6.7.3、编辑反向解析区域文件vim/var/named/named.loopback
第1行:表示全局TTL缓存时间
第2行:SOA资源记录,@代表该域的名称,IN是关键字,SOA是资源记录类型,.代表由这台主机管理这个域,.代表这个域的管理员邮箱。
第8行:名称服务资源记录,表示本域的DNS服务器是.,必须定义。
第9行:电邮交换资源记录,表示本域的电邮服务器是.,其中10表示优先级,数字越小,优先级越高。该资源记录可以不写
第10行:A记录,表示将dns解析为192.168.10.3
第11、12、13行:表针资源记录,使用PTR资源记录时,第一列中只须要指明对应IP地址的“主机地址”部分即可。如“1”,“2”,“3”,系统会手动补全。第11行就表示IP为192.168.10.1的主机的域名是。
6.8、DNS转发器(forwarders):
当DNS服务器在接收到DNS顾客端的查询恳求后,它将在所管辖区域的数据库中
找寻是否有该顾客端的数据。假如该DNS服务器的区域中没有该顾客端的数据(在DNS
服务器所在管辖区域数据库中没有该DNS顾客端所查询的主机名)时,该DNS服务器需
要转向其他的DNS服务器进行查询。
DNS服务器可以解析自己区域文件中的域名,对于本服务器查询不了的域名,默认
情况下是将直接转发查询恳求到根域DNS服务器。除此之外还有一种方式,在DNS服务
器上设置转发器将恳求转发给其他DNS服务器。转发到转发器的查询通常为递归查询。
转发器的设置在主配置文件named.conf中设置:
编辑主配置文件:
7、项目案例:
7.1、拓扑结构:
7.2、需求剖析:
(1)顾客端在不设置DNS的情况下使用IP地址访问web服务器
(2)顾客端在设置外网DNS的情况下使用域名访问web服务器
(3)顾客端在设置外网DNS的情况下使用域名访问百度官网(配置转发器)
7.3、服务器和顾客端配置信息如下:
主机名
操作系统
IP地址
角色
DNS服务器:server01
Centos7
192.168.100.100(VMnet8)
Web服务器
Web服务器:server02
Centos7
192.168.100.200(VMnet8)
DNS服务器
Client顾客端:client1
Centos7
192.168.100.10(VMnet8)
顾客端
8、项目施行:
8.1、环境打算:
8.1.1、配置web服务器网路环境:
(1)网路模式设置为nat模式,依照上表自动配置网路