关于DNS
DNS(域名系统)详解
1. DNS 基本概念
DNS(Domain Name System,域名系统)是互联网的一项核心服务,它作为将域名和IP地址相互映射的分布式数据库,能够使人更方便地访问互联网。
核心功能:
域名解析:把人类易记的域名(如www.example.com)转换为机器可读的IP地址(如93.184.216.34)
反向解析:将IP地址转换回域名
邮件路由:通过MX记录确定邮件服务器位置
服务发现:通过SRV记录查找特定服务(如VoIP、即时通讯等)
2. DNS 工作原理
分层解析过程:
(1)本地解析:
检查浏览器缓存 → 操作系统缓存(如/etc/hosts) → 本地DNS缓存
在你提供的resolv.conf中,会先查询127.0.0.53(systemd-resolved服务)
(2)递归查询:
本地DNS服务器(如ISP提供的服务器)向根域名服务器发起查询
(3)迭代查询:
bash 根服务器 → .com服务器 → example.com服务器 → 返回www.example.com的IP
典型DNS查询流程:
- 用户输入www.example.com
- 系统查询本地DNS解析器(如systemd-resolved)
- 解析器依次查询:
根域名服务器(知道.com的位置)
.com顶级域名服务器(知道example.com的位置)
example.com权威服务器(返回最终IP)
3. DNS 记录类型
| 记录类型 | 描述 | 示例 |
|---|---|---|
| A | IPv4地址记录 | example.com. A 93.184.216.34 |
| AAAA | IPv6地址记录 | example.com. AAAA 2606:2800:220:1:248:1893:25c8:1946 |
| CNAME | 别名记录 | www.example.com. CNAME example.com. |
| MX | 邮件交换记录 | example.com. MX 10 mail.example.com. |
| NS | 域名服务器记录 | example.com. NS ns1.example.com. |
| TXT | 文本记录(常用于验证、SPF等) | example.com. TXT "v=spf1 include:_spf.example.com ~all" |
| SOA | 起始授权记录(包含区域文件的基本信息) | 包含主DNS服务器、管理员邮箱等 |
4. DNS 架构组件
主要组件:
递归解析器(如127.0.0.53):为客户端执行完整解析过程的中间件
根域名服务器:全球13组服务器(实际有数百台镜像),存储顶级域信息
TLD服务器:管理.com、.org等顶级域
权威域名服务器:存储特定域名的实际记录
系统实现:
Linux中常用:systemd-resolved(如您提供的配置)、dnsmasq、bind9
Windows中:DNS Client服务
公共DNS:Google DNS(8.8.8.8)、Cloudflare(1.1.1.1)等
5. 高级DNS特性
EDNS(Extension Mechanisms for DNS)
允许更大的DNS数据包(传统限制512字节)
支持DNSSEC等扩展功能
在您的配置中通过options edns0启用
DNSSEC(DNS Security Extensions)
提供DNS数据的来源验证和数据完整性
使用数字签名防止缓存投毒
您的trust-ad选项表示信任DNSSEC验证过的数据
6. 现代DNS发展
DoH(DNS over HTTPS):通过HTTPS加密DNS查询
DoT(DNS over TLS):通过TLS加密DNS通信
QUIC in DNS:使用QUIC协议提高性能
ODoH(Oblivious DoH):增强隐私保护的DNS
7. 诊断工具
# 查看当前DNS配置(systemd系统)
resolvectl status
# 常用DNS查询工具
dig example.com # 详细DNS查询
nslookup example.com # 交互式查询
host example.com # 简单查询
ping example.com # 测试连通性(会先解析DNS)
# 查看DNS缓存(Linux)
systemd-resolve --statistics
1、114公共DNS服务器
1) 老牌的114DNS,全国三网通用高速,纯净无劫持无需再忍受被强扭去看广告或粗俗网站之痛苦
DNS地址为:114.114.114.114 和 114.114.115.115
2)拦截 钓鱼病毒木马网站 增强网银、证券、购物、游戏、隐私信息安全
DNS地址为:114.114.114.119 和 114.114.115.119
3)学校或家长可选拦截 色情网站 保护少年儿童免受网络色情内容的毒害
DNS地址为:114.114.114.110 和 114.114.115.110
如果有上述需求的,可以考虑下,效果还可以,延迟基本上在10ms以下,速度很好。
2、阿里DNS: 223.5.5.5 223.6.6.6
延迟在25ms左右,基本不掉包,速度可以保证,对阿里没有偏见的同学是可以考虑的,毕竟是国内的,访问速度可以保证的。
3、腾讯和百度的DNS
腾讯和百度的DNS跟阿里的DNS类似,3巨头的一贯作风。
腾讯DNS: 119.29.29.29 和 182.254.116.116
百度DNS: 180.76.76.76
目前看起来是百度速度最快。
4、V2EX DNS:199.91.73.222 178.79.131.110
延迟有点高,两个都在250ms以上,偶尔掉包,但这个用起来还是可以的。
5、Google DNS: 8.8.8.8 8.8.4.4
几乎从知道这个DNS之后就一直在用,延迟在50ms左右,速度还可以,就是由于众所周知的原因,掉包比较严重,我在使用的时候也会有相应的感觉,但我是可以接受的。
6、OpenDNS:208.67.222.222 208.67.220.220
知道这个比Google还早,也是非常知名的,但延迟有点高,在180ms左右,偶尔掉包,除了延迟大点,没有什么不能接受的。
7、OneDNS:112.124.47.27 114.215.126.16
官方说是可以屏蔽广告,加速Google等网站的访问等,我大概试了一下,效果还是有的,速度也不慢,是一个比较新的DNS,只有单节点,不过看官方应该在努力建设中,在我这里的延迟大概在30ms左右。
8、OpenNIC DNS DNS:(打开官网后有推荐) 官网:http://www.opennicproject.org/
OpenNic是一个社区化的非营利组织,主张DNS中立、免费服务、用户决议、自由开放、保护隐私、拒绝劫持。访问官网,会自动向你推荐最适合你所在区域的DNS。
9、Norton(诺顿) DNS 198.153.192.50 198.153.194.50
资深安全厂商,安全性和稳定性有保障。
10、Comodo Secure DNS(科莫多提供) 8.26.56.26 8.20.247.20
资深安全厂商,安全性和稳定性有保障。
这些 DNS 服务器都可以免费使用,并且在很多情况下都比 ISP 提供的 DNS 服务器更快和更稳定。需要注意的是,不同地区的 DNS 解析速度可能会有所不同,建议选择距离自己较近的 DNS 服务器以获得更好的解析速度。
最后,说一下最好的选择吧,如果是国内用户,没有洁癖的,可以考虑114DNS和阿里DNS,如果有洁癖,国内可以选择V2EX DNS和openerDNS,国外的可以选择很多,优选Google的,虽然延迟,但能接受,其他的看自己的网络情况了。
原文链接:https://blog.csdn.net/Myx74270512/article/details/130503691
浙公网安备 33010602011771号