DNS是咋搞的

By Gavin     @2019-12-16     1451 views

DNS (Domain Name System) 域名系统,它作为将域名和IP地址相互映射的一个分布式数据库。共13组根域名服务器 [a-m].root-servers.net,通过Anycast创建镜像服务器(用于降低延迟),根域名服务器返回顶级域名权威服务器(包括通用顶级域和国家顶级域),DNS使用TCP和UDP端口53

顶级域名 二级域名 三级域名
.com chenpy.com s.chenpy.com

什么是Anycast

Anycast,任播,在任播中,在网络地址和网络节点之间存在一对多的关系:每一个地址对应一群接收节点,但在任何给定时间,只有其中之一可以接收到发送端来的信息

在互联网中,通常使用边界网关协议(BGP)来实现任播,常用于实现高可用和负载均衡,抵抗DDoS攻击

img

DNS类型

常用的DNS有以下类型

类型 含义 备注
A 一个或多个IPv4地址 一般常用的直接解析到某个IP
AAAA 一个或多个IPv6地址
CNAME 别名,指向另外一个域名 一般CDN使用,或多域名解析同一结果使用
NS 域名权威服务器列表
SOA 主权威服务器,管理员邮箱,序列号,刷新时间等
MX 邮件交换记录
TXT 文本记录,通常用作所有权判断,如SPF和申请证书认证
# 查询NS解析,同理可以替换后面的参数查别的类型
dig chenpy.com ns

SPF: Sender Policy Framework,是一套电子邮件认证机制

新注册配置域名解析流程

如何注册一个域名,并且设置相应的解析呢?可以参考以下流程 img > 名词解释 > ICANN: Internet Corporation for Assigned Names and Numbers,管理顶级域名 > 顶级域名托管商: ICANN不自己管理域名,每个顶级域名都找一个托管商。.cn域名的托管商就是中国互联网络信息中心(CNNIC) > 域名注册商: 提供域名注册服务,如万网(阿里云),GoDaddy等 > 权威DNS服务商: 提供权威DNS服务,就是域名解析服务,如阿里云,AWS和GoDaddy等 > WHOIS: 是用来查询域名的IP以及所有者等信息的传输协议

DNS如何工作

DNS查询流程如下图所示: - 客户端和本地DNS服务器之间是递归的 - 本地DNS服务器的查询过程是迭代的 - Q4阶段权威DNS服务可以获取到本地DNS服务的IP - 根据来源IP可以判断地区和运营商线路 - 权威DNS服务器根据来源IP不同返回不同的结果 img

以查询 chenpy.com 为例可以看到: img

如何防止DNS劫持

因为DNS查询过程都是明文的,所以中间的任意一个环节都有可能篡改或伪造DNS结果,中国的防火墙就会对一些域名进行DNS投毒使其无法访问 可以使用 DNS over TLS 或者 DNS over HTTPS 来防止中间节点的DNS劫持

Gavin's Daily

© 2019-2020 Gavin's GoBlog