Linux中DNS服务原理

一.DNS系统

DNS系统简介

       DNS(域名系统)是互联网的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS 使用 TCP 和 UDP 协议,默认端口号为 53,其中 TCP 是用来做区域传送的,多用于主从同步;UDP 主要是用来做 DNS 解析的。当前,对于每一级域名长度的限制是 63 个字符,域名总长度则不能超过 253 个字符。
Internet 发展至今,在网的服务器和个人主机数量庞大,每个用户通过记忆 IP 地址访问网络资源并不现实了。
  目前大家访问互联网进行上网浏览信息时,正常是通过域名进行访问(例如:www.baidu.com),而实际上网络中的计算机之间只能基于 IP 地址来识别对方的身份,而且想要在互联网中传输数据,必须基于外网的 IP 地址来完成。这时就出现了 DNS 域名解析技术来帮我们简化此过程,以此来降低用户访问网络资源的门槛。为什么呢?因为相对于 IP 地址,域名更容易被理解并记忆,这样大家便可以通过域名来访问互联网中各项服务了。
  简单来说,就是接受用户输入的域名或 IP 地址,然后自动查找与之匹配的 IP 地址或域名,即将域名解析为 IP 地址(正向解析),或将 IP 地址解析为域名(反向解析)。这样我们只需要在浏览器中输入域名就能打开想要访问的网站了。目前,DNS 域名解析技术的正向解析也是我们最常使用的一种工作模式。

全球 DNS 根服务器分布:

美国 VeriSign 公司 2台
网络管理组织 IANA(Internet Assigned Number Authority) 1台
欧洲网络管理组织 RIPE-NCC(Resource IP Europeens Network Coordination Centre) 1台
美国 PSINet 公司 1台
美国 ISI(Information Sciences Institute) 1台
美国 ISC(Internet Software Consortium) 1台
美国马里兰大学 (University of Maryland) 1台
美国太空总署 (NASA) 1台
美国国防部 1台
美国陆军研究所 1台
挪威 NORDUnet 1台
日本 WIDE(Widely Integrated Distributed Environments)研究计划 1台

DNS系统作用

       正向解析:根据域名查找对应的IP地址
       反向解析:根据IP地址查找对应的域名
DNS系统的分布式数据结构
在这里插入图片描述


根域:


用 " . " 来表示,例如 www.baidu.com.cn. 最后的点就是根域。

顶级域名:

也叫一级域名,例如: 
.com 代表商业组织
.org 代表各类组织机构(包括非盈利团体)
.net 代表网络服务提供商
.edu 代表教育机构
.gov 代表政府机关
.cn  代表中国
.uk  代表英国
.us  代表美国

二级域名

.com.cn	中国的商业组织
.edu.cn 中国的教育机构
.net.cn 中国的网络运营商

三级域名

三级域名是二级域名的子域名,例如:
.baidu.com.cn 
.sina.com.cn
.zol.com.cn

四级域名

四级域名是三级域名的子域名,也叫主机域名,例如:
www.sina.com.cn
mail.sina.com.cn
www.tsinghua.edu.cn

国内和国际常用的 DNS

  • 国内常用 DNS 地址:
    114.114.114.114 | 114.114.115.115 #移动,电信,联通通用 DNS
    223.5.5.5 | 223.6.6.6 #阿里
    180.76.76.76 #百度
    218.2.135.1 | 61.147.37.1 #南京电信

  • 国外常用 DNS 地址:
    8.8.8.8 | 8.8.4.4 #谷歌
    208.67.220.220 | 208.67.222.222 # OpenDNS

DNS服务器种类

       当某些域太大而不方便管理时,为了减轻管理者的负担,DNS 把互联网分成几个域,每台主机都从某个域上连入。每个域都有一个域名服务器,负责维护本域内所有主机的域名数据库并处理主机名到 IP 地址转换的请求。

  • 主域服务器
      负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。

  • 从域名服务器
      当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务器提供域名解析服务。从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。

  • 缓存域名服务器
      只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但没有域名数据库。它从某个远程服务器取得每次域名服务器查询的结果,并将它放在高速缓存中,以后查询相同的信息时用它予以响应。缓存域名服务器不是权威性服务器,因为提供的所有信息都是间接信息。构建缓存域名服务器时,必须设置根域或指定其他 DNS 服务器作为解析来源。

  • 转发域名服务器
      负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果。

二.DNS 查询方式及原理

  • DNS 查询方式
           递归查询
      在该模式下 DNS 服务器接收到客户机请求,必须使用一个准确的查询结果回复客户机。如果 DNS 服务器本地没有存储查询 DNS 信息,那么该服务器会询问其他服务器,并将返回的查询结果提交给客户机。
      客户机发送请求后自己只用等待结果即可,中间具体过程交给服务器实现。

       迭代查询
  当客户机发送查询请求时,DNS 服务器并不直接回复查询结果,而是告诉客户机另一台 DNS 服务器地址,客户机再向这台 DNS 服务器提交请求,依次循环直到返回查询的结果为止。
  客户机的请求需要自己挨个去查询才能得到结果,服务器没有结果时只会给你提供其它服务器的地址,而不会帮你去请求查询,这与递归截然相反。

  • DNS 查询原理

1.先查本机的缓存记录

2.查询hosts文件

3.查询dns域名服务器,交给dns域名服务器处理以上过程成为递归查询:我要一个答案你直接会给我结果

4.这个dns服务器可能是本地域名服务器,也有个缓存,如果有直接返回结果,如果没有则进行下一步

5.求助根域服务器,根域服务器返回可能会知道结果的顶级域服务器让他去找顶级域服务器

6.求助顶级域服务器,顶级域服务器返回可能会知道结果的二级域服务器然他去找二级域服务器

7.求助二级域服务器,二级域服务器查询发现是我的主机,把查询到的ip地址返回给本地域名服务器

8.本地域名服务器将结果记录到缓存,然后把域名和ip的对应关系返回给客户端

三.资源记录

  • 1 SOA记录

name: 当前区域的名字,例如"baidu.com."
SOA名叫起始授权机构记录,SOA记录说明了在众多NS记录里那一台才是主要的服务器

value: 有多部分组成

注意:

当前区域的主DNS服务器的正向解析,也可以使用当前区域的名字

当前区域管理员的邮箱地址;但地址中不能使用@符号,一般用"."替换

  • 2 NS记录

name: 当前区域的名字

value: 当前区域的某DNS服务器的名字,例如: ns.kgc.org.

注意:

相邻的两个资源记录的name相同时,后续的可省略

对NS记录而言,任何一个ns记录后面的服务器名字,都应该在后续有一个A记录

一个区域可以有多个NS记录

  • 3 MX记录

name: 全称是邮件交换记录

value: 当前区域的某邮件服务器(smtp服务器)的主机名

注意:

一个区域内,MX记录可有多个;但每个记录的value之前应该有一个数字(0-99),表示此服务器的
优先级;数字越小优先级越高

对MX记录而言,任何一个MX记录后面的服务器名字,都应该在后续有一个A记录

  • 4 A记录

name: 某主机的域名解析,例如:www.baidu.com

value:主机名对应主机的IP地址

避免用户写错名称时给错误答案,可通过泛域名解析进行解析至某特定地址

  • 5 PTR记录

反向解析
name: IP,有特定格式,把IP地址反过来写,1.2.3.4,要写作4.3.2.1;而有特定后缀:in-addr.arpa.,所以完整写法为:4.3.2.1.in-addr.arpa.

  • 6 CNAME别名记录

name: 别名的FQDN value: 真正名字的FQDN

ftp.baidu.com. IN CNAME www.baidu.com

四.DNS正向解析

待续

正向解析

       

反向解析

       

主从复制

       

分离解析

       

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值