在 CentOS/RHEL 系列服务器中配置多个 DNS 服务器,只需在网卡配置文件中添加多个备用 DNS 条目即可,配置后会自动同步到系统的 DNS 解析文件中,实现多 DNS 冗余。以下是具体步骤:
这是生产环境的首选方式,配置会在重启网络或服务器后保留。
执行以下命令查看需要配置的网卡(如eth0、ens33):
打开对应网卡的配置文件(路径:/etc/sysconfig/network-scripts/ifcfg-<网卡名>):
vi /etc/sysconfig/network-scripts/ifcfg-eth0
在文件中通过DNS1(首选)、DNS2(备用)、DNS3(更多备用)添加多个 DNS,示例:
DNS1=8.8.8.8 # 首选DNS(谷歌)
DNS2=114.114.114.114 # 备用DNS(国内通用)
DNS3=223.5.5.5 # 更多备用DNS(阿里云)
PEERDNS=no # 防止DHCP自动覆盖手动配置(静态IP可选,动态IP建议添加)
- 规则:系统会按
DNS1→DNS2→DNS3的顺序依次尝试解析,前一个不可用时自动切换到下一个。
- 数量限制:最多可配置 3 个(
DNS1到DNS3),满足绝大多数冗余需求。
重启网络服务,让多 DNS 配置同步:
nmcli c reload
nmcli c up eth0
若仅需临时测试多个 DNS,可直接修改/etc/resolv.conf文件(注意:可能被网络服务覆盖):
nameserver 8.8.8.8
nameserver 114.114.114.114
nameserver 223.5.5.5
- 说明:系统会按文件中从上到下的顺序使用 DNS 服务器。
输出应包含配置的所有 DNS 服务器(如 3 个nameserver条目),说明配置已同步。
可通过nslookup指定 DNS 服务器测试解析,验证备用 DNS 是否可用:
yum install -y bind-utils
nslookup baidu.com 8.8.8.8
nslookup baidu.com 114.114.114.114
若两者都能返回 IP 地址,说明多 DNS 配置有效。
- 优先级:网卡配置文件中的
DNS1/DNS2/DNS3优先级高于/etc/resolv.conf,且不会被自动覆盖。
- 冗余目的:建议至少配置 2 个 DNS(如 1 个国内 + 1 个国际),避免单一 DNS 故障导致解析失败。
- 多网卡场景:若服务器有多个网卡,只需在默认路由对应的网卡中配置 DNS 即可,无需重复配置。
通过以上方法,即可实现多个 DNS 服务器的配置,提高服务器域名解析的稳定性和冗余能力。