首页/网络/协议速查/resolv.conf 配置要点
DNS 与域名解析60 条

resolv.conf 配置要点

Linux 存根解析器的核心配置:nameserver 决定去哪问,search/ndots 决定短名的拼接与尝试顺序。

协议速查网络更新于 2026-10-13

resolv.conf 是什么

resolv.conf 是 Linux 存根解析器(glibc 的 getaddrinfo/gethostbyname)读取的纯文本配置:nameserver 决定把查询转给哪台递归服务器,search 与 ndots 决定短名字怎么补全后缀,timeout/attempts 决定故障时的等待与重试。它自己不做递归,只是转交。注意它常被 DHCP 客户端、NetworkManager 或 systemd-resolved 重写,手改后重启可能被覆盖,这是排障时最容易踩的一点。

基本信息

文件路径/etc/resolv.conf
读取者glibc 存根解析器(应用进程直接读文件)
生效上限只使用前 3 个 nameserver,多余的被忽略
常见托管方systemd-resolved(127.0.0.53)、NetworkManager、DHCP 客户端
规范man 5 resolv.conf、RFC 1035 §6
权限一般 root 可写;被托管时应改上游而不是直接改文件

典型使用场景

  • 指定内网 DNS 优先、公共 DNS 兜底,兼顾内部域名与外部解析
  • 排查解析异常时临时切到 8.8.8.8 或 223.5.5.5 做对比
  • 缩短 timeout 与 attempts,让 DNS 故障时的切换更快
  • 排查内网短名解析失败:检查 search 域与 ndots 设置
  • 容器与 CI 环境注入专用解析器,指向集群内部 DNS

典型配置与验证

典型配置与验证
# /etc/resolv.conf
nameserver 223.5.5.5
nameserver 119.29.29.29
search corp.example.com example.com
options ndots:1 timeout:2 attempts:2 rotate

关键指令读法

指令作用默认与建议
nameserver递归服务器地址,最多前 3 个生效至少配 2 个做冗余
search短名查询时依次追加的域后缀列表只配必要的后缀,防止查询放大
ndots:n名字中点数 ≥n 时先按绝对名解析默认 1,容器内常见 5
timeout:n单次查询超时秒数默认 5,内网建议 2
attempts:n单个服务器重试次数默认 2,配合 timeout 控制总耗时
rotate多 nameserver 轮询使用负载均衡场景按需开启

验证当前生效的解析

验证当前生效的解析
cat /etc/resolv.conf                 # 看实际内容(可能被托管改写)
getent hosts app.example.com         # 走完整 NSS 链路,验证配置是否生效
dig @223.5.5.5 app.example.com +short   # 绕过本地配置直接问指定服务器
resolvectl status                    # systemd-resolved 环境下看真实上游
search 配了多个后缀又叠加较大的 ndots,会让每次短名解析先尝试多个后缀组合,查询量成倍放大;内网 DNS 压力异常升高时优先检查这两个参数。
Ubuntu 等系统上 /etc/resolv.conf 可能是指向 systemd-resolved 存根的软链接(127.0.0.53)。直接编辑文件表面生效、重启后丢失,正确做法是改 /etc/systemd/resolved.conf 或对应网卡的 DNS 配置。

易错点

  • 直接编辑被 systemd-resolved 或 NetworkManager 托管的 resolv.conf,重启或重连网络后修改被覆盖,现象是「昨天还好今天又变了」
  • glibc 只用前 3 个 nameserver,多写的无效;故障时耗时约每台服务器 timeout×attempts,参数配太大体验极差
  • search 域与 ndots 配置不当造成内网查询暴增,被误判为 DNS 服务器性能问题
  • 改完只看 cat 文件不验证 getent 实际解析结果,宿主机正常但容器内仍走旧解析器的情况会被漏掉

数据来源与参考

  • man 5 resolv.conf
  • RFC 1035 §6

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌