域名解析配置两个ip:轮询和故障切换的实际差别
- 2026年11月8日
- 22 次
上周三晚上十点多,我在域名解析配置两个ip 的时候图省事,直接给一个域名挂了两条 A 记录,想着流量就能摊开了。结果第二天同事说有人打得开、有人打不开,我赶紧翻记录,才发现自己把轮询和故障切换当成了一回事。这篇就写我踩过的坑,顺手把验证的命令留给你。
两条 A 记录怎么轮询
同一个主机记录下挂两条 A 记录,权威服务器收到查询时会把两条都塞进应答里,顺序会转。你连着 dig 几次,看到的先后顺序可能不一样,这就是大家嘴里的轮询。

老实说,它离真正的负载均衡还差得远。解析器只负责把答案递给你,哪个 IP 真能用它不管,客户端往往直接拿排在最前面的那条去连。
我当时以为挂两条就自动分流了,结果发现命中哪条全看 TTL 和各递归服务器的缓存,有些地方一直只回第一条。
回头看,配两条记录最容易忽略的就是 TTL 那一栏。它决定各地缓存多久,也决定你改错了要干等多久才能纠正回来。
另一个坑是记录类型,两条都得是 A。混一条 AAAA 进来是另一回事,IPv6 的走法和这里不是一套。
想让两条按比例分,得看服务商有没有加权记录这类能力,权重怎么算以官方文档为准,别照搬别人文章里的截图。
我在后台填两条 A 记录的过程
回到域名解析配置两个ip 这件事本身,后台其实就三个动作,顺序别乱。
第一步,进域名管理,找到主机记录,新增一条 A 记录,记录值填第一台机器的公网 IP,TTL 先按服务商允许的最小值来。
第二步,同一条主机记录再新增一条 A 记录,记录值换成第二台的公网 IP。两条的记录值不一样,主机记录必须一模一样。

第三步,等 TTL 过去,用 dig 分别从本机和公共 DNS 查一次,确认两条都在应答里。
这一步很容易漏,我吃过亏:主机记录一条写成 www,另一条写成 www.example.com,后台列表看着挺正常,实际只生效一条。
顺带说一句,两条 A 记录别指向同一台机器的两个网卡,那等于没有冗余,机器一挂两条一起失效。
怎么验证轮询真的生效
域名解析配置两个ip 之后最容易跳过的一步就是验证,光看后台列表不算数。下面这条只打印应答段,省得你在一堆头部信息里翻。
dig +noall +answer A www.example.com
输出大概两行,每行开头是域名,中间是 TTL 秒数,最后是 IP,重点看最后那一列是不是两条不同的地址。
再换个出口查一次,把公共 DNS 写进 @ 后面就行,顺序和内容一起看:
dig @8.8.8.8 +noall +answer A www.example.com
本机缓存也得清,不然你看到的是旧结果。Windows 下是 ipconfig /flushdns;macOS 从 10.10.4 起要两条一起跑,sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder,只跑前一条基本清不干净,你会拿旧结果误判轮询没生效;Linux 上跑 systemd-resolved 的话用 sudo resolvectl flush-caches,版本差异以官方文档为准。
我在三个不同网络下查过同一组记录,返回顺序确实不一样,说明轮询在服务端那头是生效的,只是客户端感受不到。
补一句,域名解析配置两个ip 之后如果只有一条在返回,先去查主机记录是不是写串了,多半就是这个原因。
故障切换要等多久生效
域名解析配置两个ip 里,轮询和故障切换是两套逻辑,后者更容易翻车。轮询只管把答案发出去,故障切换得有人判断某条记录挂没挂,再把它摘掉。
判断靠健康检查,服务商按固定间隔去探你的 IP,连续几次失败才判定异常,间隔和失败次数都是服务商定的,不是你能随手改的。
所以别问我几分钟能切完,这个数取决于探活策略和你设的 TTL,我只能说 TTL 越短越接近实时。

我早期是人盯着,机器挂了手动去删记录,那种做法基本靠运气,半夜出事就只能干等。
用户真正感知到切换的时间,大致是健康检查判定时间加上 TTL 的缓存时间,再叠上各地递归服务器自己的缓存策略。
TTL 填多少,直接决定切换的体感。我见过有人把 TTL 设成一天,机器挂了十分钟解析还没变,白跑一趟机房。
想切得快,TTL 就得短,代价是查询量跟着上来。有些公共 DNS 也不会严格按你设的 TTL 走,这点得有心理准备。
我现在配这类记录的做法
我现在做域名解析配置两个ip,会先问自己一句:你要的是分摊,还是兜底。答案不一样,配法完全不一样。
两条 A 记录做轮询,适合两台机器都能对外服务、你只想把请求大致摊开的场景。要求秒级切换的,老实说别指望它。
要做故障切换,我会先确认服务商支持健康检查和故障转移记录,再定 TTL 填多少,别自己写脚本轮询去模拟,太折腾还容易误判。
改完别急着关后台,隔十几分钟换几个出口的 DNS 各查一次,看两条记录是不是按预期返回,顺手把结果存下来。
还有个细节,域名解析配置两个ip 时两条记录最好别放同一个机房、同一个网段,不然交换机一抖,两条一起没。
域名解析配置两个ip 本身不复杂,难的是先想清楚你要分摊还是兜底。这个坑我踩过一次,你遇到照着查就行。
若非作者标注皆为李涛自留地原创文章,转载或复制请以超链接形式并注明出处。
- Vscode编辑器如何打开md文件预览功能? 2022-12-14
- VPS云服务器是什么?VPS云服务器和虚拟主机有什么不同? 2022-09-02
- 备案关站对于网站有影响么?如何实现不关站对网站域名进行备案? 2023-02-10
- Xz域名如何转移到腾讯云?Xz域名平台将域名转移到腾讯云步骤 2023-02-09
- PHP in_array()、array_search()、array_key_exists() 查找函数对比 2026-07-02
- 无法访问此网站,连接已重置解决办法 2021-06-30
