首页/云/云网络与负载均衡速查/DHCP 选项集与自定义 DNS

DHCP 选项集与自定义 DNS

默认情况下实例通过 DHCP 获得平台内网 DNS 地址。若要使用自建 DNS(如 AD 域控、内网权威 DNS),可以创建 DHCP 选项集并绑定 VPC,把下发给实例的 DNS 地址替换为自定义地址。

DHCP 选项集是什么

VPC 内的实例默认通过 DHCP 从平台拿到内网 DNS 地址,因此内网域名解析天然可用。如果业务要用自建 DNS(AD 域控、内部权威服务器、自建递归解析),就需要创建 DHCP 选项集并绑定 VPC:把下发给实例的 DNS 地址替换成自定义地址,实例续租后统一生效。它的价值在于「集中下发」——不用逐台改 /etc/resolv.conf,也不用担心重装系统后配置丢失。

基本信息

作用把实例通过 DHCP 获得的 DNS 地址替换为自建 DNS 地址
绑定层级选项集绑定到 VPC,对 VPC 内启用 DHCP 的实例生效
生效方式实例续租 DHCP,或重启网络/实例后生效
前提条件自建 DNS 与实例内网互通,并放行 53/UDP 与 53/TCP
不生效的情况实例里手工静态写死的 DNS 不会被覆盖
支持范围通常一个 VPC 关联一个选项集,按产品支持情况确定

典型使用场景

  • 接入 AD 域控:域内主机需要把域名查询交给域控完成
  • 统一使用自建递归 DNS,便于集中日志审计与流量分析
  • 迁移期灰度:部分 VPC 先切换到自建 DNS,验证后再推广
  • 多 VPC 统一解析策略,避免各环境 DNS 配置漂移
  • 内网域名与公网域名混合解析,借助自建 DNS 做分流

生效与排查

检查项正常表现异常表现
选项集绑定VPC 已关联选项集未绑定,实例仍拿平台 DNS
实际解析配置实例内看到的 DNS 为自定义地址仍是平台内网 DNS,说明未续租或未生效
网络连通到自建 DNS 的 53 端口可通解析超时,应用启动慢
解析结果内网域名解析正确解析到公网地址或返回失败
重装验证新实例自动获得自定义 DNS重装后回退到默认 DNS,说明只做了本地改动

验证是否生效

验证是否生效
cat /etc/resolv.conf                       # 应看到自定义 DNS 地址
sudo dhclient -r eth0 && sudo dhclient eth0  # 手动续租(可选)
dig @10.0.0.53 internal.example.com +short   # 直连自建 DNS 解析内网域名
nc -vzu 10.0.0.53 53                         # UDP 53 连通性
nc -vz 10.0.0.53 53                          # TCP 53 连通性
# Windows 侧:ipconfig /all 看 DNS 服务器,ipconfig /renew 重新获取
切换 DNS 前先确认自建 DNS 能完整转发公网域名,否则会引发大范围解析失败:内网域名通了,公网域名却全挂,业务影响面比预期大得多。
排查「为什么改了没生效」时先看两件事:实例是否重新获取过 DHCP 租约,以及实例内的 DNS 是不是被手工固定过(部分镜像或编排模板会写死)。只改实例不配选项集,重建实例后配置就会丢失。

易错点

  • 自建 DNS 单点故障会影响整个 VPC 的解析,建议部署两台并做健康检查
  • 只在实例里改 resolv.conf 而不配置 DHCP 选项集,重建实例后配置即丢失
  • 只放行 UDP 53 未放行 TCP 53,大响应或 DNSSEC 查询偶发失败
  • 自建 DNS 未配置公网转发,切换后公网域名全部解析失败
  • 未评估续租周期,切换后部分实例长时间仍使用旧 DNS,出现新旧并存的解析不一致

数据来源与参考

  • 阿里云 DHCP 选项集文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌