关于DNS

Posted CloserZD

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于DNS相关的知识,希望对你有一定的参考价值。

【域名】

流量入口:包括A记录、AAAA记录、CNAME记录、MX记录等多种类型。

在权威处,可以设置分线路解析,以及不同的记录。

【权威DNS】

如 DNSPod、万网、阿里权威、AWS等(负责存储域名的解析记录)


【递归DNS  LocalDNS】

国内公共DNS:119.29.29.29 / 114.114.114.114 / 223.5.5.5 等

海外公共DNS:1.1.1.1 /8.8.8.8 等

还有各运营商DNS。

负责DNS查询,并缓存解析记录。解析记录最终是从权威DNS获取。

【DNS解析流程图】

关于DNS_ip地址


也可以通过 dig +trace 命令,查看到完整的解析流程,如:dig +trace 51cto.com

关于DNS_ip地址_02

【DNS返回码】:

0 NoError  : 无错误条件1 Format error  :格式错误-名称服务器无法解释查询。1 Format error  :格式错误-名称服务器无法解释查询。

3 Name Error  :仅对来自权威名称服务器的响应有意义,此代码表示查询中引用的域名不存在。

4 Not Implemented
:未实现-名称服务器不支持所请求的查询类型。

5 Refused  :拒绝-名称服务器由于策略原因拒绝执行指定的操作。


【Edns-Client-Subnet】:

是由 Google 提交的一份 DNS 扩展协议,主要作用是允许 DNS resolver 传递用户的 IP 地址给权威 DNS 服务器。

【常见DNS解析类型】

代码

号码

定义的 RFC

描述

功能

A

1

RFC 1035

IPv4地址记录

传回一个32位的IPv4地址,最常用于映射主机名称到IP地址,但也用于DNSBL(RFC 1101)等。

AAAA

28

RFC 3596

IPv6地址记录

传回一个128位的IPv6地址,最常用于映射主机名称到IP地址。

AFSDB

18

RFC 1183

AFS文件系统

(Andrew File System)数据库核心的位置,于域名以外的 AFS 客户端常用来联系 AFS 核心。这个记录的子类型是被过时的的 DCE/DFS(DCE Distributed File System)所使用。

APL

42

RFC 3123

地址前缀列表

指定地址栏表的范围,例如:CIDR

格式为各个类型的地址(试验性)。

CAA

257

RFC 6844

权威认证授权

DNS认证机构授权,限制主机/域的可接受的CA

CDNSKEY

60

RFC 7344

子关键记录

关键记录记录的子版本,用于转移到父级

CDS

59

RFC 7344

子委托签发者

委托签发者记录的子版本,用于转移到父级

CERT

37

RFC 4398

证书记录

存储 PKIX、SPKI、PGP等。

CNAME

5

RFC 1035

规范名称记录

一个主机名字的别名:域名系统将会继续尝试查找新的名字。

DHCID

49

RFC 4701

DHCP(动态主机设置协议)标识符

用于将 FQDN 选项结合至 DHCP。

引用:​​https://zh.wikipedia.org/wiki/DNS%E8%AE%B0%E5%BD%95%E7%B1%BB%E5%9E%8B%E5%88%97%E8%A1%A8​

【常见问题】

一、相同客户端,使用不同DNS,解析同一个域名,得到的解析结果却不一样。

原因:

1、一般情况下,各个DNS VIP后端还分布了多台RS,可能存在于不同线路。导致递归至权威请求时,权威拿到的客户端IP不尽相同。在匹配域名分线路结果时,也不一定一致。

2、如果LocalDNS 支持 ECS 协议,会传递用户的IP地址给权威DNS,且在本地缓存规则。如果LocalDNS本地的 IP库,与权威地址库不一致,则可能导致解析调度的跨网、跨地域等现象。

以上是关于关于DNS的主要内容,如果未能解决你的问题,请参考以下文章

第二次试验报告:使用Packet Tracer分析应用层协议

搭建DNS服务

Java线程安全 关于原子性与volatile的试验

关于%*的试验

关于%*的试验

谷歌DNS Over HTTPS服务GA