DNS(Domain Name Server)域名解析服务

文章
林里克斯

DNS域名解析服务的详细流程介绍

排错能力



一、DNS解析流程


  • 第一步:客服端用户在浏览器li里输入www.kjarbo.com网站地址后并回车,系统首先会查找本地的DNS缓存及hosts文件信息,确定是否存在www.kjarbo.com域名对应的IP解析记录,如果有就直接获取到IP地址,然后去访问这个IP地址对应的www.kjarbo.com域名的服务器。一般第一次请求时,DNS缓存是没有解析记录的,而hosts多为内部临时测试使用

  • 第二步:如果客服端本地DNS缓存及本地hosts文件没有www.kjarbo.com域名对应的解析记录,那么系统会把浏览器的解析请求发送给在客户端本地设置的DNS服务器地址(通常称此DNS为LDNS,即Local
    DNS)解析,如果LDNS服务器的本地缓存有对应的解析记录就会直接返回IP地址给客服端;如果没有,则LDNS会负责继续请求其他的DNS服务器

  • 第三步:LDNS从DNS系统的(".")根开始请求对www.kjarbo.com域名的解析,根DNS服务器在全球一共有13台,根服务器下面是没有www.kjarbo.com域名解析记录的,但是根下面有www.kjarbo.com对应的顶级域.com的解析记录,因此,根会把.com对应的DNS服务器地址返回给LDNS

  • 第四步:LDNS获取到.com对应的DNS服务器地址后,就会去.com服务器请求www.kjarbo.com域名解析,而.com服务器下面也没有www.kjarbo.com域名对应的解析记录,但是有kjarbo.com域名的解析记录,因此,.com服务器会把kjarbo.com对应的DNS服务器地址返回给LDNS

  • 第五步:同理,LDNS获取到kjarbo.com对应的DNS服务器地址后,就会去kjarbo.com服务器请求对www.kjarbo.com域名的解析,kjarbo.com域名对应的DNS服务器是该域名的授权DNS服务器,这个DNS服务器正是企业购买域名时用于管理解析的服务器(也可能是自建的授权DNS服务器),这个服务器会有为www.kjarbo.com对应的IP解析记录,如果此时没有,叫表示企业的域名人员没有为www.kjarbo.com域名做解析,即网站还没假设好。

  • 第六步:kjarbo.com域名DNS服务器会把www.kjarbo.com对应的IP解析记录发给LDNS

  • 第七步:LDNS把来自授权DNS服务器与www.kjarbo.com对应的IP解析记录发送给客服端浏览器,并且LDNS会在本地把域名和IP的对应解析记录缓存起来,以便下一次更快的返回相同解析请求的记录。至此,整个DNS的解析流程就完成了


二、记录类型


A记录(Address Record):解析ipv4;
AAAA记录:解析ipv6
NS记录:解析子域名,将子域名指定某个域名服务器来解析
MS记录:邮件交换记录,搭建邮件服务时使用
SRV记录:记录那台计算机提供了那个服务。格式:服务的名字.协议类型(example-sever.tcp)
TXT记录:TXT记录一般指为某个主机或某个域名设置的说明
PTR记录:反向解析,即把IP地址解析为对应的域名

三、相关命令


Windows

>ipconfig /displaydns
#查看DNS本地缓存
>ipconfig /flushdns
#清楚本地缓存的DNS

Linux

$ yum -y install bind-utils

$ dig www.baidu.com

; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.1 <<>>
;; global options: +cmd
#显示 dig 命令的版本和输入的参数
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61961
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 4
#显示服务返回的一些技术详情,比较重要的是 status。如果 status 的值为 NOERROR 则说明本次查询成功结束

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;www.baidu.com.                 IN      A
#"QUESTION SECTION" 显示我们要查询的域名

;; ANSWER SECTION:
www.baidu.com.          422     IN      CNAME   www.a.shifen.com.
www.a.shifen.com.       11      IN      A       180.97.33.107
www.a.shifen.com.       11      IN      A       180.97.33.108
#"ANSWER SECTION" 是查询到的结果

;; Query time: 1 msec
;; SERVER: 103.45.97.16#53(103.45.97.16)
;; WHEN: Wed Jun 19 10:43:22 CST 2019
;; MSG SIZE  rcvd: 101
#本次查询的一些统计信息,比如用了多长时间,查询了哪个 DNS 服务器,在什么时间进行的查询等等
#默认情况下 dig 命令查询 A 记录

查CNAME

$ dig www.baidu.com CNAME

; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.1 <<>> www.baidu.com CNAME
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16732
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;www.baidu.com.                 IN      CNAME

;; ANSWER SECTION:
www.baidu.com.          5       IN      CNAME   www.a.shifen.com.

;; Query time: 1 msec
;; SERVER: 103.45.97.16#53(103.45.97.16)
;; WHEN: Wed Jun 19 10:50:19 CST 2019
;; MSG SIZE  rcvd: 69

指定DNS服务器查询

$ dig @8.8.8.8 www.baidu.com                                                                                    
; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.1 <<>> @8.8.8.8 www.baidu.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35079
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.baidu.com.                 IN      A

;; ANSWER SECTION:
www.baidu.com.          648     IN      CNAME   www.a.shifen.com.
www.a.shifen.com.       102     IN      CNAME   www.wshifen.com.
www.wshifen.com.        216     IN      A       103.235.46.39

;; Query time: 119 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Wed Jun 19 10:55:04 CST 2019
;; MSG SIZE  rcvd: 111
#如果不指定 DNS 服务器,dig 会依次使用 /etc/resolv.conf 里的地址作为 DNS 服务器

反向查询

$ dig -x 8.8.8.8 +short
google-public-dns-a.google.com
#+short显示简短信息,不用全输出
#+trace跟踪查询结果

Over~

版权协议须知!

本篇文章来源于 Uambiguous ,如本文章侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意

695 0 2019-06-19


分享:
icon_mrgreen.gificon_neutral.gificon_twisted.gificon_arrow.gificon_eek.gificon_smile.gificon_confused.gificon_cool.gificon_evil.gificon_biggrin.gificon_idea.gificon_redface.gificon_razz.gificon_rolleyes.gificon_wink.gificon_cry.gificon_surprised.gificon_lol.gificon_mad.gificon_sad.gificon_exclaim.gificon_question.gif
博主卡片
林里克斯 博主大人
一个致力于Linux的运维平台
运维时间
搭建这个平台,只为分享及记载自己所遇之事和难题。

现在时间 2024-04-25

今日天气
站点统计
  • 文章总数:240篇
  • 分类总数:29个
  • 评论总数:10条
  • 本站总访问量 215419 次

@奥奥

@Wong arrhenius 牛比

@MakerFace 厉害了!