目录
DNS域名系统概述
域名系统(DNS)是建立在分布式数据库上的分层命名系统,它是由解析器和域名服务器组成的,它具有将域名转换为ip地址的功能,域名系统采用类似目录树的等级结构,域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式,主服务器和转发服务器,将域名映射为IP地址的过程就称为域名解析。使用域名解析服务虽然便于我们记忆,但是机器与机器之间只能相互认识ip地址,因为ip地址的长度是固定的,而域名的长度并不是固定的,机器很难去处。域名解析也要使用专业的域名解析服务器,dns就是进行域名解析的服务器。域名解析在生活中可谓是随处可见,相对的也十分重要,在早期人们只能使用ip地址访问,成千上万的ip地址,没有任何区别也没有任何特点,只能通过死记硬背,人们为了解决这一问题,发明了dns域名解析,让人们在生活中访问网站更加方便,举个例子,www.baidu.com这个域名具有独特性,唯一性,谁都认识这串域名,十分方便记忆,没人会记得与这串域名相对应的ip地址。
域名结构
首先是根域 (.)
在DNS系统中最上方一定是.(根域)这个服务器被称为ROOT,也被称为根域,主要用来管理互联网的主目录。全球有十三个根域,1个为主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个位于日本。
一级域名(有特殊作用或者是顶级域名)分别是com(企业单位) gov(美国的政府部门) org(非盈利性组织) cn uk us ru ja ko总数达296个。
二级域名很常见列如163.com,baidu.com,youth.cn等,在国家顶级域名(cn)下注册的二级域名都由该国家自行决定,例如edu(教育),com(企业单位)等。
三级域名通常被称为主机名,例如bbs.baidu.com,blog.baidu.com,可以当作二级域名的子域名。
从语法上来讲,每个域名都有标号序列组成,而个标号之间用点隔开。DNS规定,域名中的标号都是由英文字母和数字组成,每一个编号不超过63个字符,为了便于记忆,最好不超过12个字符,不区分大小写,其总长度不超过255个字符。
例如:waxx.lnjnb.jlkj.com
DNS服务器类别
本地域名服务器
当一台主机发出DNS查询请求时,这个查询请求报文会通过UDP传输协议发送给本地域名服务器,每一个互联网服务提供者ISP或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器,这种域名服务器有时也被称为默认域名服务器,在互联网中仅有小部分的解析需要在互联网上通信,大多数域名都在本地域名服务器进行解析,因此DNS系统的效率很高。实际上我们指向的8.8.8.8或者114.114.114.114就是本地域名服务器
权限域名服务器
一个服务器所管辖的范围叫做区。各单位根据具体情况来划分自己管辖区域,但在一个区中的所有结点都必须是能够连通。每个区域设置相应的权限域名服务器
根域名服务器
根域名服务器是最高层次的域名服务器,也是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和ip地址,任何一个本地服务器域名服务器需要对互联网上的任何一个域名进行解析,只要自己无法解析,就须要首先求助根域名服务器,如果所有的根域名服务器都瘫痪了,那么整个互联网中的DNS系统就无法工作。到目前为止共在588个地点安装了根域名服务器,但是只使用13个域名,在互联网中使用了13套装置,每一套装置在很多地方安装根域名服务器但都是用同一个域名。
顶级域名服务器
这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名,收到DNS查询后就给出相应的回答。
两种查询方式
递归查询
客户端和本地服务器之间,一去一回得到域名结果的过程。如果主机所询问的本地域名服务器不知道被查询域名的ip地址,那么本地域名服务器就以DNS客户身份,向其他根域名服务器继续发出查询请求报文即替本地域名服务器进行后续的查询,依次往下,直到得到结果。因此递归查询返回的查询结果要么是结果要么报错即为无法查询得到所需的ip地址
迭代查询
本地服务器,一步步,经过多个步骤得到域名结果的过程。
第一步:用户向本地域名服务器发送域名解析请求。
第二步:当本地域名解析服务器接收到请求后,先查询本地缓存,若在本地缓存中有此项记录,则本地服务器直接将查询结果返回给用户。
第三步:若在本地域名解析服务器中查询不到记录,那么本地域名解析服务器将该请求发送给根域名解析服务器,然后根域名解析服务器返回给本地域名解析服务器一个根域名解析服务器查询的主域名服务器的地址。
第四步:本地域名解析服务器再向第三步中根域名解析服务器所提供的主域名服务器发送请求,主域名服务器收到请求后查询本地缓存,如果有相匹配的记录则返回给本地域名解析服务器一个和此记录这时,本地域名解析服务器将收到的记录保存到本地缓存并发送给用户,如果查询不到相匹配的记录则返回给本地服务器一个相对应的下级域名解析服务器地址。
第五步:重复第四步,直到找到相对应的记录为止。
第六步:本地域名解析服务器将返回的记录保存到本地缓存中以便日后使用,并且将结果返回给用户。
域名解析过程
此时这台客户机需要访问www.itcst.com,机器与机器之间只能通过ip地址来相互认识,但是我这里不直到这个域名直到是什么ip地址,这时向dns服务器求救,dns服务器先会查看自己本地缓存如果没有,将会把这个域名问向根域,在DNS系统中最上方一定是根域,它囊括了所有的域名解析记录,这里根域看到了这个域名表示我知道.cn这个服务器有哪些,这时候根域返回给客户端这个信息,这样本地服务器就知道了有哪些服务器在管理.cn,它会选择一个服务器再次询问,负责.cn的服务器表示我知道管理itcast.cn的服务器有那些,这时候本地服务器知道了到底是谁在管理itcast.cn这个域名,在往itcast.cn服务器发送询问,这时候就会问,www.itcast.cn的IP地址是什么,因为这个itcast.cn这个服务器是权威服务器,通俗易懂就是在自己的配置文件中直接写名了域名与主机对应关系并被授权管理该域,这时候,itcast.cn这台服务器告诉本地服务器,www.itcast.cnip地址是121.29.3.171,这样本地dns服务器将这个信息告诉客户机,这时候就知道了www.itcast.cn对应的地址是121.29.3.171.在这个过程中,本地dns服务器会将此记录记录到缓存中,待下次再次访问的时候就不用这么多的步骤了,提高效率
常用的解析记录
正向解析
A记录,这是域名解析的正向解析,域名到ip地址,将主机域名转换为ip地址,它的作用是能通过主机域名访问相对应的ip地址的主机。在修改配置文件前需要添加一个zone文件。
反向解析记录
PTR记录,这是域名解析的反向解析,ip地址到域名,将ip地址转换为相对应的域名,它的作用是能通过查询ip地址来得知相对应的域名
在配置的时候若需要用到反向记录同样需要增加一个zone文件,添加zone文件后在对所添加的zone文件进行修改。
别名CNAME记录
CNAME记录,这是域名解析中的别名,列如设置一个别名:test.ningjie.com,用设置的别名记录来代替域名www.ningjie.com,则可以直接访问test.ningjie.com,别名是直接指向域名的。A记录是优先于CNAME记录的,在配置CNAME记录时是不能用主机ip的只能使用主机名,这是为了区分A记录和CNAME记录
多域搭建
一台计算机的ip地址是唯一的,但是一个ip地址可以拥有多个域名,可以根据计算机提供的不同的功能来取名,同样域名在全球也是唯一的,不能重复。
搭建一个DNS服务器,可以同时解析多个域名。
主从dns原理
首先要求系统版本,软件版本保持一致并且master和slave的系统时间保持一致这样可以实时进行备份其核心是slave同步master上的区域文件即master工作正常时,slave仅做备份,做备份的同时为主服务器down掉后为用户提供服务做准备,当主服务器dowm掉后,从服务器及时顶上,这样可以保证DNS的查询工作不会中断
生活中两种DNS类型
公网DNS:其作用是让外界用户可以通过输入域名访问企业在公网注册的域名对应的网站。
内网dns:使用外网DNS服务器固然可以解析全球的域名,但是有一个前提:在公网内的域名需要向相应的机构注册,在大型企业内部,并不是所有的域名都需要 外部人员访问的。企业自己所在的域名只有企业内部人员可以访问,这些域名不需要向相关机构注册,外部人员使用因特网是解析不出来的,对于非内网的域名,例如www.taobao.com,内网dns解析不出来的的域名会寻求互联网上的根dns服务器,而后就是标准的dns递归查询或者迭代查询了,如果企业内部不使用内网dns服务,所有内部计算机全部使用公网dns,例如www.baidu.com,这样所有计算机都需要缓存一份去百度的解析记录,那无疑是浪费资源的,那么多台机器,每个人都有自己的域名解析需求,这必然会消耗企业到intenet之间宝贵的带宽。这时候企业内部使用一台dns服务器,所有机器上的dns地址都指向这台dns服务器对于外网的域名只需要内网dns服务器的缓存一此即可。
DNS配置
域名解析顺序
- 本地缓存
- /etc/hosts文件
- /etc/resolv.conf文件
- 网卡
DNS的配置文件有三种分别为
- 全局配置文件——》全局生效的配置/etc/named.conf
- 区域配置文件定义映射关系/etc/named.rfc191zones
- 区域数据配置文件
在配置文件前将防火墙与核心防护关闭
正向解析配置
- 配置全局配置文件
Vim /etc/named.conf
- 修改区域配置文件
Vim /etc/named.rfc1912.zones
复制上述五行对其进行修改
- 修改区域数据配置文件
Cd /var/named/
cp -p named.localhost lnj.com.zone
vim lnj.com.zone
在下面添加
www A 192.168.239.128
这里www是主机名,A是正向解析记录,192.168.239.128是相对应的网站地址
进行测试:
Nslookup
反向dns配置
- 修改区域配置文件
vim /etc/named.rfc1912.zones
- 修改区域数据配置文件
cp -p named.localhost 192.168.239.zone
vim 192.168.239.zone
原文链接:https://blog.csdn.net/a_b_e_l_/article/details/125875881