DNS(Domain Name System)是整个互联网的基石之一

当我们打开浏览器,输入www.google.com时,我们很少会去想,计算机是如何知道要去哪里获取信息的。我们输入的是人类可读的“名字”,而计算机网络(如互联网)通信依靠的却是数字“地址”(即IP地址,例如 172.217.14.228)。
DNS,即域名系统(Domain Name System),就是负责这个翻译工作的核心服务。它就像是整个互联网的“电话簿”,维护着域名和IP地址之间的对应关系。没有DNS,我们就必须记住一长串毫无意义的数字,互联网的易用性将不复存在。
这有点像你去图书馆找一本书,进门你找到了借阅电脑,点击借书《时间简史》,借阅电脑告诉你:他应该属于科学类书籍专区,有很多不同种类,找到了科普著作书架,最好在第3排第16列找到这本书。之后你拿着书走出图书馆,开始阅读。
这个跟dns解析很像!!
递归解析:我用的是akuai路由器,自建ADguard,他就是私有dns服务器,可以缓存一些dns地址,防止dns污染,尤其是运营商污染,我会强制DOT SSl询问,访问谷歌和Cloudflear以及阿里等。
跟域名:new.baidu.com 。new为二级域名,baidu为一级域名,com为顶级域名。
new隶属于baidu.com。baidu.com隶属于com.(我们一般买的都是一级域名)
所有二级域名均为一级域名所有
本地缓存:浏览器,系统,路由器,为了缓解域名解析压力,提高访问速度,防止反复请求,生成的在一段时间内,你在请求相同域名时候不去询问,而是在使用原来解析过的域名(如果没有过期的话,缓存有时间限制)
想象一下,您(您的电脑)想找一个叫 www.example.com 的朋友的地址(IP)。您会求助于您的“私人助理”(本地DNS/递归解析器)。这个助理会开始一场寻访之旅:
1. 第一站:本地缓存(Cache)
• 您的电脑会先查看自己的“记忆”(浏览器缓存、操作系统缓存),看最近是否访问过这个网站。如果访问过且记录未过期,它会直接使用本地的IP地址,解析过程结束。
2. 第二站:本地DNS(递归解析器)
• 如果本地没有缓存,电脑会询问您在网络设置中配置的“本地DNS服务器”(通常由您的ISP运营商如电信、移动提供,或您自己设置的公共DNS如 8.8.8.8)。这个服务器被称为递归解析器 (Recursive Resolver)。
• 递归解析器也会先查自己的缓存,如果有,就直接返回IP。
3. 第三站:根服务器(Root Server)
• 如果递归解析器也不知道,它会向全球13组根服务器(Root Server)之一发出请求:“你好,我该去哪里找 .com 域名的信息?”
• 根服务器不认识 www.example.com,但它知道谁管理 .com。它会回复:“我不知道,但你可以去问 .com 的顶级域服务器(TLD Server),它们的地址是 XXX。”
4. 第四站:顶级域(TLD)服务器
• 递归解析器转向 .com 的顶级域服务器(TLD Server):“你好,我该去哪里找 example.com 的信息?”
• TLD服务器也不认识 www.example.com,但它知道 example.com 这个域名“注册”时,指定的权威服务器是谁。它会回复:“我不知道,但你可以去问 example.com 的权威服务器,它们的地址是 ns1.example.com。”
5. 第五站:权威服务器(Authoritative Server)
• 递归解析器最终找到了““真正知道答案”的服务器。它向 example.com 的权威服务器(Authoritative Server)提问:“你好,请问 www.example.com 的IP地址是什么?”
• 权威服务器掌管着 example.com 域下所有的记录。它查询自己的记录,找到 www 这条A记录,然后给出一个最终答案:“www.example.com 的IP地址是 93.184.216.34。”
6. 返回与缓存
• 递归解析器拿到了IP地址,它会:
1. 将这个答案返回给您的电脑。
2. 将这个答案(www.example.com = 93.184.216.34)缓存一段时间(由权威服务器设置的TTL值决定),以便下次有人再问时,它可以跳过3-5步,直接回答。
7. 连接
• 您的电脑最终拿到了 93.184.216.34 这个IP地址,然后浏览器向这个IP地址发起HTTP/HTTPS请求,网站页面开始加载。
为了解决明文传输的风险,诞生了多种加密DNS技术。它们就像是把您的“明信片”放进了一个无法被窥视的、上锁的保险箱里。
最主流的两种是 DoT 和 DoH:
2. DoT (DNS over TLS)
• 全称: DNS over TLS (基于TLS的DNS)。
• 工作方式: 它创建了一个专用的、加密的通道,专门用于传输DNS数据。
• 使用端口: 853 端口。
• 比喻: 就像一个专用的、加锁的银行气动传输管道。
• 优点: 非常安全。
• 缺点(或特点): 由于它使用一个独特的端口(853),网络管理员(如公司防火墙)可以轻易地识别出“这是DoT流量”,并选择(出于安全策略)阻止它。(有点恶心人)
3. DoH (DNS over HTTPS)
• 全称: DNS over HTTPS (基于HTTPS的DNS)。
• 工作方式: 这是目前最主流的加密方式。它非常“聪明”地将DNS查询“伪装”成普通的网页访问(HTTPS)流量。
• 使用端口: 443 端口(与所有HTTPS网站相同的端口)。
• 比喻: 就像把您的“信件”放进了一个**与其他数千个公文包一模一样的、上了锁的公文包(HTTPS)**里,一起传输。
• 优点:
1. 极高的隐私性: 网络管理员几乎无法区分DoH的DNS查询和普通的网页浏览。这使得DNS查询很难被监控或(在某些网络环境中)被审查。
2. 安全性: 与DoT一样,内容是完全加密的,无法被篡改。
• 缺点(争议点): 对于企业网络安全来说,DoH可能是个噩梦。安全团队通常依赖监控DNS流量来发现和阻止恶意软件(如僵尸网络)的通信。DoH使得这种传统的监控方法失效了。(我喜欢DoH大部分的递归解析服务器都支持此协议)(vpn也可以用这个加密解析)
为了防止被劫持,使用加密DNS是有必要的,但更重要的是选择一个被信任的递归解析服务器,我们是没有权限直接访问跟域名服务器的,跟域名服务器只有13个(A-M)虽然有很多的镜像站点,但是由于本人所在地域问题,收到运营商递归服务器的欺骗,我们可能得不到准确的IP。相比于加密其实递归解析设备的信任度更为重要。(不建议用运营商的)
https://sm2.doh.pub/dns-query
https://doh.skydns.ru/dns-query
https://doh.pub/dns-query
https://dns.alidns.com/dns-query #阿里
https://doh.pub/dns-query
tls://1.1.1.1
tls://dns.alidns.com #阿里
1.1.1.1
8.8.8.8
8.8.4.4
9.9.9.9
149.112.112.112
223.5.5.5 #阿里
119.29.29.29 #腾讯
-------------------------------------
#94.140.14.140, 2a10:50c0::1:ff: 常规 DNS(基于 UDP);
#94.140.14.140:53, [2a10:50c0::1:ff]:53: 常规 DNS(通过 UDP,带端口);
#udp://unfiltered.adguard-dns.com: 常规 DNS(通过 UDP、主机名);
#tcp://94.140.14.140, tcp://[2a10:50c0::1:ff]: 常规 DNS(基于 TCP );
#tcp://94.140.14.140:53, tcp://[2a10:50c0::1:ff]:53: 常规 DNS(通过 TCP,带端口);
#tcp://unfiltered.adguard-dns.com: 常规 DNS(通过 TCP、主机名);
#tls://unfiltered.adguard-dns.com: 加密 DNS-over-TLS;
#https://unfiltered.adguard-dns.com/dns-query: 加密 DNS-over-HTTPS;
#h3://unfiltered.adguard-dns.com/dns-query: 带有强制 HTTP/3 的加密 DNS-over-HTTPS,不会回退到 HTTP/2 或更低版本;
#quic://unfiltered.adguard-dns.com: 加密 DNS-over-QUIC
#sdns://...: DNSCrypt 的 DNS Stamps 或者 DNS-over-HTTPS 解析器;
#[/example.local/]94.140.14.140: 指定为特定域名的上游服务器;
#[/example.local/]94.140.14.140 2a10:50c0::1:ff: 特定域名的多个上游服务器;祝您上网愉快!!!
为了缓解压力,你知道我们一天要进行多少次请求吗,有多少的手机,多少的广告,多少的二级三级域名。
虽然我们有很多的镜像服务器,但是与跟域名服务器同步也是需要时间的。
所以会非常慢。我们可以做本地dns缓存服务器,用它来规避一些广告即可。没必要直接请求跟域名。
国家跟域名服务器是有保护的。
下次再见!(地下城配音)