彻底搞清 DNS 基本概念

作者 Marlous 日期 2019-01-10
彻底搞清 DNS 基本概念

参考:
1、 DNS安全浅议、域名A记录(ANAME),MX记录,CNAME记录
2、 A、MX、CNAME、URL、NS、AAAA解析类型的区别
3、 本地DNS—–A、CNAME、MX和NS记录
4、 A记录和CNAME记录的区别
5、 网站域名CNAME别名解析方法(阿里云)
6、 DNS记录类型

一 域名系统

  • 概念:
    任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。

  • 域名组成:
    域名组成

  • 因特网的域名空间:
    因特网的域名空间

  • 域名与域名服务器:
    域名与域名服务器

  • 区、域:
    如果每一个节点都采用一个域名服务器,这样会使得域名服务器的数量太多,使域名服务器系统的运行效率降低。所以在 DNS 中,采用划分区的方法来解决。
    总之,DNS 服务器的管辖范围不是以“域”为单位,而是以“区”为单位。区是 DNS 服务器实际管辖的范围。区是域的子集。
    左图表示 abc 公司只设一个区 abc.com,这里区 abc.com 和域 abc.com 指的是同一件事。
    但右图表示 abc 公司划分为两个区,abc.com 和 y.abc.com。这两个区都隶属于域 abc.com,都各设置了相应的权限域名服务器。
    区、域

二 DNS 解析过程

  • 浏览器缓存:
    当用户通过浏览器访问某域名时,浏览器首先会在自己的缓存中查找是否有该域名对应的 IP 地址(若曾经访问过该域名且没有清空缓存便存在)。

  • 系统缓存:
    当浏览器缓存中无域名对应 IP 则会自动检查用户计算机系统 Hosts 文件 DNS 缓存是否有该域名对应 IP。

  • 路由器缓存:
    当浏览器及系统缓存中均无域名对应 IP 则进入路由器缓存中检查,以上三步均为客服端的 DNS 缓存。

  • ISP(本地域名服务器)DNS 缓存:
    当在用户客服端查找不到域名对应 IP 地址,则将进入 ISP DNS 缓存中进行查询。比如你用的是电信的网络,则会进入电信的 DNS 缓存服务器中进行查找。

  • 根域名服务器:
    当以上均未完成,则进入根服务器进行查询。全球仅有 13 台根域名服务器,1 个主根域名服务器,其余 12 为辅根域名服务器。根域名收到请求后会查看区域文件记录,若无则将其管辖范围内顶级域名(如.com)服务器 IP 告诉本地 DNS 服务器。

  • 顶级域名服务器:
    顶级域名服务器收到请求后查看区域文件记录,若无则将其管辖范围内主域名服务器的 IP 地址告诉本地 DNS 服务器。

  • 权限域名(主域名)服务器:
    主域名服务器接受到请求后查询自己的缓存,如果没有则进入下一级域名服务器进行查找,并重复该步骤直至找到正确纪录。

  • 保存结果至缓存:
    本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时将该结果反馈给客户端,客户端通过这个 IP 地址与 web 服务器建立链接。

三 DNS 查询两种方式

  • 递归查询、迭代查询。

  • 图解:
    图解递归查询、迭代查询

四 资源记录类型详解

  • SOA 记录:
    SOA 记录表明了 DNS 服务器之间的关系。SOA 记录表明了谁是这个区域的所有者。

  • A、AAAA 记录:
    A 记录用来指定主机名(或域名)对应的IP地址记录。/
    AAAA 记录用来将域名解析到 IPv6 地址的 DNS 记录。用户可以将一个域名解析到 IPv6 地址上,也可以将子域名解析到 IPv6 地址上。

  • CNAME 记录:
    别名记录,这种记录允许将多个名字映射到另外一个域名,将某个别名指向到某个 A 记录上,这样就不需要再为某个新名字另外创建一条新的 A 记录。例如,有一台计算机名为“host.mydomain.com”(A记录)。它同时提供 WWW 和 MAIL 服务,为了便于用户访问服务。可以为该计算机设置两个别名(CNAME):WWW 和 MAIL。“www.mydomain.com” 和 “mail.mydomain.com”。实际上他们都指向 “host.mydomain.com”。/
    首先建立一个 A 记录,这个是创建 CNAME 记录的基础。/
    A 记录就是把一个域名解析到一个 IP 地址,而 CNAME 记录就是把域名解析到另外一个域名。CNAME 将几个主机名指向一个别名,其实跟指向 IP 地址是一样的,因为这个别名也要做一个 A 记录的。但是使用 CNAME 记录可以很方便地变更 IP 地址。如果一台服务器有 100 个网站,他们都做了别名,该台服务器变更 IP 时,只需要变更别名的 A 记录就可以了。/
    A 记录也有一些好处,例如可以在输入域名时不用输入 WWW. 来访问网站。

  • MX 记录:
    即邮件路由记录,用户可以将该域名下的邮件服务器指向到自己的 mail server 上,然后即可自行操控所有的邮箱设置。您只需在线填写您服务器的 IP 地址,即可将您域名下的邮件全部转到您自己设定相应的邮件服务器上。

  • NS 记录:
    域名服务器记录,用来指定该域名由哪个 DNS 服务器来进行解析。 大多数域名商默认用自己的 NS 服务器来解析用户的 DNS 记录。

  • PTR 记录:
    指针记录,是电子邮件系统中的一种数据类型,被互联网标准文件 RFC1035 所定义。与其相对应的是 A 记录、地址记录。二者组成邮件交换记录。A 记录解析名字到地址,而 PTR 记录解析地址到名字,PTR 记录常被用于反向地址解析。地址是指一个客户端的 IP 地址,名字是指一个客户的完全合格域名。

  • SRV 记录:
    RFC 2782 定义,用于定义提供特定服务的服务器的位置,如主机(hostname),端口(port number)等。

五 资源记录类型小结

  1. 小结:
  • A 地址记录(Ipv4)
  • AAAA 地址记录(Ipv6)
  • CNAME 别名记录
  • HINFO 硬件配置记录,包括 CPU、操作系统信息
  • ISDN 域名对应的 ISDN 号码
  • MB 存放指定邮箱的服务器
  • MG 邮件组记录
  • MINFO 邮件组和邮箱的信息记录
  • MR 改名的邮箱记录
  • MX 邮件服务器记录
  • NS 名字服务器记录
  • PTR 反向记录
  • RP 负责人记录
  • SRV TCP服务器信息记录
  • TXT 域名对应的文本信息
  1. 查询方式:
    http://tool.chinaz.com/nslookup/
    1
    2
    3
    4
    5
    6
    7
    比如你要查询 http://tool.chinaz.com/ 的 A 记录,那在命令符提示窗口输入:nslookup -qt=a tool.chinaz.com 则可以查到相应的记录

    如何使用指定 DNS 服务器查询?

    语法为 nslookup -qt=类型 目标域名 指定的 DNS 服务器 IP 或域名

    例子:nslookup -qt=A tool.chinaz.com 8.8.8.8