← 返回题目列表

什么是 Split-horizon DNS?内外网解析为什么可能不一样?

高频 中等 第 7 / 27 题 更新于 2026/07/31
DNS内外网解析Split-horizon智能解析

简化版

Split-horizon DNS 指同一个域名根据查询来源返回不同结果,例如内网用户解析到内网 IP,公网用户解析到公网 IP。它常用于企业内外网隔离、混合云、灰度和就近访问,但会增加排障复杂度。

详细版

同一个域名不一定全球返回同一个 IP。DNS 可以根据来源网络、地域、运营商、环境返回不同记录。

常见场景:

  1. 企业内网:api.example.com 内网解析到 10.x.x.x,公网解析到公网 LB。
  2. 混合云:云内 VPC 解析私网地址,云外解析公网地址。
  3. CDN/智能 DNS:按地区和运营商返回近的节点。
  4. 灰度:部分用户解析到新集群。
  5. 容灾:故障时切换到备用地址。

排查时不要只看一个 DNS 结果,要用不同解析器、不同网络来源对比。

完整版教学

一、为什么同一域名会解析出不同 IP

DNS 解析不是绝对静态映射。权威 DNS 或递归 DNS 可以根据请求来源和策略返回不同结果。Split-horizon 更强调“内外视图不同”。

api.example.com
  内网客户端 -> 10.0.1.20
  公网客户端 -> 203.0.113.20

这样内网访问不绕公网,安全策略也更清晰;公网用户则只能访问暴露在外的入口。

记忆钩子:Split-horizon DNS 就像同一个门牌,在公司内网和公网地图上指向不同入口。

二、企业内外网解析的典型结构

企业常有内部 DNS 和公共权威 DNS。内部 DNS 保存私有记录,公共 DNS 保存对外记录。员工在公司网络里使用内部 DNS,外部用户使用公共解析。

公司内网:
  resolver = 10.0.0.53
  db.example.com -> 10.0.2.15

公网:
  public resolver
  db.example.com -> NXDOMAIN 或公网入口

数据库、内部管理后台、微服务域名通常只在内网解析,避免把私有地址或服务入口暴露到公网。

三、云上 Private DNS 也是一种常见实现

云厂商 VPC 内常有 Private Hosted Zone。相同域名在 VPC 内解析成私网 IP,在公网解析成公网 IP 或不存在。

来源解析器返回
VPC 内 ECS云内 DNS私网地址
办公网 VPN企业内 DNS内网地址
公网用户公共 DNS公网地址
未授权网络公共 DNSNXDOMAIN

混合云场景还会把企业 DNS 和云 DNS 做转发,配置不当会导致某些网段解析错视图。

四、它和 CDN 智能解析有什么关系

Split-horizon 更偏内外网视图,智能 DNS 更偏地域、运营商和性能调度。二者都体现“同域名多答案”。

cdn.example.com
  北京联通 -> 节点 A
  上海电信 -> 节点 B
  海外用户 -> 节点 C

所以排查 CDN 或 DNS 问题时,不能只在本机 nslookup 一次就下结论。不同地区、不同运营商、不同递归解析器可能得到不同答案。

五、排障为什么会变复杂

Split-horizon 最常见问题是“我这里能访问,你那里不行”。原因可能不是服务坏了,而是两边解析到了不同 IP。

dig api.example.com
dig @8.8.8.8 api.example.com
dig @10.0.0.53 api.example.com

如果三个结果不同,要先判断这是否符合预期。再结合来源网络、DNS 转发规则、缓存 TTL、hosts 文件和 VPN DNS 配置排查。

六、设计时要注意什么

Split-horizon 要有清晰的命名和变更流程。内部域名最好避免和公共域名混乱;必须同名时,要明确内外视图的记录、TTL、负责人和监控。

风险例子建议
内外记录不一致内网新地址已切,公网没切变更联动
缓存残留TTL 太长导致旧 IP控制 TTL
VPN DNS 错误连 VPN 后仍查公网下发 DNS 策略
私网地址泄露公网返回 10.x权威区隔离

七、常见误区与追问

  • 误区:同一个域名解析结果一定相同。 DNS 可以按来源、地域、网络视图返回不同结果。
  • 误区:本机解析正常就说明全网正常。 只能说明当前网络和解析器视角正常。
  • 误区:公网查不到就是域名没配置。 可能是内部域名只在内网 DNS 视图存在。
  • 追问:为什么连 VPN 后解析变化? VPN 可能下发内部 DNS 或搜索域,让域名走内网视图。
  • 追问:如何排查内外网解析不一致? 比较不同解析器、来源网络、权威 DNS 和缓存 TTL。
  • 追问:Split-horizon 有什么风险? 视图复杂、缓存不一致、私网记录泄露和故障定位困难。

八、加强记忆

Split-horizon DNS 记成“同名不同视图”:内网查内网 IP,公网查公网 IP,云内查私网入口。排查时必须带上“从哪里查、问哪个 DNS、TTL 多少”三个条件。