VPC 内 DNS 解析机制是什么
创建实例时,VPC 会通过 DHCP 选项把内网 DNS 地址自动写入实例的 /etc/resolv.conf(阿里云通常是 100.100.2.136 与 100.100.2.138)。这套 DNS 同时负责解析内网域名(云产品内网 Endpoint、私有解析记录)和递归解析公网域名。要自定义 DNS,正确做法是修改 DHCP 选项集或使用厂商提供的私有解析服务;手工改 resolv.conf 可能被实例重启或网络重配覆盖回去。
基本信息
| 阿里云内网 DNS | 100.100.2.136、100.100.2.138 |
|---|---|
| 下发方式 | DHCP 选项自动写入 /etc/resolv.conf,可配置多个地址 |
| 解析范围 | 内网域名(云产品 Endpoint、私有解析)+ 公网域名递归 |
| 自定义方式 | 修改 DHCP 选项集,或使用私有解析服务管理内网记录 |
| 容灾要求 | 自建 DNS 至少双节点,避免解析单点导致大面积故障 |
典型使用场景
- 实例内解析云产品内网 Endpoint,让流量走内网以获得低延迟与免流量费
- 内网域名统一管理:数据库、中间件用域名连接,变更地址不用改应用配置
- 测试环境用私有解析覆盖指定域名,做灰度切流或故障注入
- 跨 VPC 共享域名解析,避免在每台机器维护 hosts
- 排查解析变慢与解析失败,判断是本机配置还是上游 DNS 的问题
查看与验证 DNS 配置
查看与验证 DNS 配置
cat /etc/resolv.conf # 查看当前生效的 DNS 地址与 search 域
dig @100.100.2.136 example.com A +short # 指定内网 DNS 验证解析结果
nslookup internal.db.example.com # 验证内网域名解析是否正常
dig +trace example.com # 逐级追查解析链路,判断问题在本地还是上游
# 解析超时先确认 DHCP 选项集是否被改动,再检查安全组是否放行 53 端口常见现象与原因
| 现象 | 可能原因 | 处理方向 |
|---|---|---|
| 解析偶发超时 | 只配了单个 DNS 或上游不稳定 | 配置多个 DNS 地址 |
| 重启后配置被还原 | 手工改的 resolv.conf 被 DHCP 覆盖 | 改 DHCP 选项集而不是改文件 |
| 内网域名解析失败 | 私有解析未关联 VPC 或记录缺失 | 补记录并确认关联关系 |
| 内网域名解析到公网地址 | 同名记录冲突,走了公网递归 | 用私有解析显式覆盖同名记录 |
把 resolv.conf 换成自建 DNS 却不做容灾:DNS 一挂,全机域名解析失败,业务面比单台机器故障大得多;自建解析至少双节点,并保留内网 DNS 作为兜底。
修改 DHCP 选项集会影响该 VPC 或交换机下所有实例,变更前确认影响范围,变更后在业务低谷重启网络或实例使其生效,并准备好回退配置。