域名系统(DNS)本质上就是互联网的“电话簿”,它把人类好记的域名翻译成机器认得的IP地址;解析过程走的是“本地缓存→递归解析器→根→顶级域→权威服务器”这条链路,最终拿到目标IP并缓存起来。搞懂这条链路,你排查网站打不开、解析不生效、换服务器后访问异常这些问题,基本就有章法了。
域名系统定义是什么?先把它的角色说清楚
很多人把DNS当成一个“设置项”,其实它是一套分布式的命名系统,你能在浏览器里敲 www.example.com 就打开网页,靠的不是这个字符串本身,而是它背后对应的IP地址。
DNS到底在解决什么问题
- 人脑记不住
2400:3200::1这种地址,但记得住taobao.com。 - 网络设备只认IP,不认字母,所以中间必须有一层翻译。
- 域名还能解耦:服务器换机房、换IP,用户不用改书签,只改一条解析记录就行。
行业共识认为,DNS是互联网最基础的服务之一,它出问题,影响面往往比单台服务器宕机大得多。
域名是有层级的,别把它当成一个整体
一个完整域名从右往左读,层级越来越具体:
- 根域:全球共13组逻辑根服务器节点,通过任播(Anycast)部署在全球多地。
- 顶级域(TLD):
.com、.cn、.net这些,由注册管理机构运营。 - 二级域:你花钱买的那部分,
example。 - 子域:
www、api、blog,由你自己在解析后台加。
理解层级很关键,因为解析查询就是沿着这个层级一层层问下去的。
域名和IP地址到底有什么区别?别再把两个概念混着用
这是新手最容易绕晕的地方,域名是给人看的名字,IP是给机器用的门牌号,两者的关系像“公司名”和“营业执照编号”,可以一对多,也可以多对一。
| 对比项 | 域名 | IP地址 |
|---|---|---|
| 使用者 | 人 | 设备、程序 |
| 可读性 | 强,有语义 | 弱,纯数字/十六进制 |
| 是否可变 | 可随时改解析 | 由网络环境决定 |
| 归属管理 | 注册商+解析服务商 | 运营商/云厂商分配 |
| 常见格式 | www.example.com |
0.2.10、2001:db8::1 |
一个域名可以同时挂A记录指向IPv4、AAAA记录指向IPv6;一个IP也能被多个域名共用,这就是共享虚拟主机能跑几百个站的原因。
域名解析到IP地址的过程是怎样的?拆成四步就明白了
用户敲下回车到页面出来,DNS查询通常在几十毫秒内完成,但内部走的步骤一点不少。
第一步:先翻自己的“小本子”
操作系统、浏览器、路由器都会缓存DNS结果,Windows上可以用 ipconfig /displaydns 查看本机缓存,命中缓存就直接返回,压根不会发出网络请求。
第二步:问递归解析器
本机没缓存,就去问配置的DNS服务器,通常是运营商DNS或公共DNS,这个服务器叫递归解析器,它的任务是“替你把答案问到底”。
第三步:从根往下逐级问
递归解析器如果也没缓存,会按顺序查询:
- 问根服务器:
.com归谁管? - 问
.com顶级域服务器:example.com的权威服务器是哪台? - 问权威服务器:
www.example.com的A记录是什么?
拿到IP后,递归解析器把结果返回给你,同时按TTL缓存一份。
第四步:建立连接
浏览器拿到IP,发起TCP握手、TLS握手,然后才是HTTP请求,所以DNS慢,整个页面都慢,这是很多人忽略的性能瓶颈。
实操:三条命令验证解析是否正常
nslookup www.example.comWindows/macOS 通用,最简单。dig www.example.com +traceLinux/macOS 上能看到逐级查询过程,排查问题神器。ping www.example.com能顺带看到解析出的IP,但不是专业解析工具。
常见的DNS记录类型有哪些?改解析前必须搞懂
- A记录:域名指向IPv4地址,最常用。
- AAAA记录:指向IPv6地址。
- CNAME记录:别名,指向另一个域名,常用于CDN接入。
- MX记录:邮件服务器地址,配错了企业邮箱就收不到信。
- TXT记录:常用于域名所有权验证、SPF反垃圾邮件。
- NS记录:指定这个域由哪台DNS服务器负责解析。
改解析时有个坑:CNAME记录不能和A记录在同一主机记录上共存,很多新手在这里卡住。
网站域名解析失败怎么解决?按这个顺序排查最省时间
遇到“无法访问此网站”,先别急着重装系统,DNS问题占的比例相当一部分。
排查顺序(从近到远)
- 确认解析是否生效:用
nslookup换个公共DNS查,nslookup www.example.com 223.5.5.5。 - 清本机缓存:Windows执行
ipconfig /flushdns;macOS执行sudo dscacheutil -flushcache。 - 检查记录配置:主机记录写的是
www还是 ,值有没有多打空格,TTL是否过大。 - 看NS是否指向正确:域名注册商处的NS和解析商处的NS必须一致,不一致等于解析白做。
- 确认服务器安全组/防火墙:解析对了但端口不通,表现和解析失败几乎一样。
TTL和生效时间的关系
TTL是缓存存活时间,把TTL设成3600秒,改了记录后最长可能要等1小时才全网生效,所以业内常见做法是:迁移前先把TTL调小到300秒,切换完再调回去。
企业域名解析服务多少钱?免费DNS和付费DNS怎么选
这个问题没有统一答案,但可以按场景分。
- 个人博客、小站:用域名注册商自带的免费解析完全够用,成本为零。
- 中型业务:付费解析一般按套餐或按量计费,年费从几十元到几百元不等,主要买的是SLA保障、防护能力和多线路智能解析。
- 高并发、强合规业务:会考虑独立DNS集群或云厂商的企业级解析,价格随查询量和防护等级浮动。
业内专家指出,选DNS服务别只看价格,要看解析生效速度、DDoS防护能力和故障切换机制,这三项在出问题时才显出价值。
国内域名解析DNS服务器哪家快?
速度取决于你用户所在的地域和运营商,对国内用户,常见的公共DNS有:
- 阿里DNS:
5.5.5、6.6.6 - 腾讯DNS:
29.29.29 - 114DNS:
114.114.114
国际常用的还有 8.8.8、1.1.1,但在国内访问延迟通常不占优势,实际选哪个,建议用自己的网络环境实测,别照抄别人的结论。
Q&A:关于域名系统与域名解析的常见疑问
域名解析生效后为什么部分地区还是打不开?
最常见原因是各地递归DNS缓存还没过期,尤其是TTL设置较大的情况,其次是智能解析线路配置不完整,某些运营商线路没有对应记录,可以指定不同地域的公共DNS分别查询,确认返回结果是否一致。
换服务器只改A记录就够了吗?
如果网站直接绑IP,改A记录即可,但如果前面套了CDN,要改的是CDN回源地址,而不是域名A记录;如果用了CNAME接入,A记录根本不归你管,另外别忘了检查证书、防火墙和程序配置里的旧IP残留。
域名系统被攻击会有什么后果,普通站长需要防吗?
DNS劫持和DNS放大攻击都会导致用户被导向错误站点或解析完全不可用,普通站长的最低防护动作是:开启域名锁、启用DNSSEC(服务商支持的话)、给解析账户开双因素认证,并定期检查NS记录有没有被改动。