如何在CentOS上配置DNS服务器设置?

在服务器管理与维护过程中,DNS(域名解析系统)的正确配置直接影响网络访问效率与稳定性,CentOS作为企业级Linux发行版,其DNS设置方法需兼顾操作规范与实际需求,以下内容将从基础配置到进阶优化,提供清晰的操作指引。

一、临时修改DNS解析(重启后失效)

若需快速测试不同DNS服务器效果,可通过修改resolv.conf文件实现。

1、打开终端,输入命令:

   sudo vi /etc/resolv.conf

2、在文件中添加或修改nameserver参数:

   nameserver 8.8.8.8    # Google公共DNS
   nameserver 1.1.1.1    # Cloudflare DNS

3、保存文件后立即生效,但重启网络服务或系统后配置会被覆盖。

注意:此方法适用于临时调试,生产环境建议使用永久配置方案。

二、永久修改DNS配置(不同CentOS版本差异)

▍CentOS 7及以下版本(使用network服务)

1、编辑网卡配置文件:

   sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0

(注:eth0为网卡名称,需根据实际环境替换)

2、添加以下参数:

   DNS1=8.8.8.8
   DNS2=8.8.4.4

3、重启网络服务:

   sudo systemctl restart network

▍CentOS 8/9及新版(使用NetworkManager)

1、使用nmcli工具修改连接配置:

   sudo nmcli con mod eth0 ipv4.dns "8.8.8.8 1.1.1.1"

2、应用配置并重启连接:

   sudo nmcli con down eth0 && sudo nmcli con up eth0

三、验证DNS配置有效性

完成配置后,需通过多维度测试确保解析正常:

1、查看当前生效的DNS

   cat /etc/resolv.conf

检查输出是否包含设定的DNS服务器地址。

2、使用nslookup测试解析

   nslookup example.com

若返回正确的IP地址,则说明解析成功。

3、dig工具深度检测

   dig @8.8.8.8 example.com +short

指定DNS服务器进行查询,可精准判断某台服务器是否工作正常。

四、高阶优化方案

配置DNS缓存加速

安装systemd-resolved服务提升本地解析速度:

sudo yum install systemd-resolved
sudo systemctl enable --now systemd-resolved

修改/etc/resolv.conf指向本地缓存:

nameserver 127.0.0.1

多DNS服务器负载均衡

resolv.conf中按优先级排列多个DNS:

nameserver 8.8.8.8
nameserver 1.1.1.1
options rotate timeout:1

rotate参数实现轮询查询,timeout设定查询超时时间(单位:秒)。

防御DNS污染与劫持

- 使用DoH(DNS over HTTPS)加密查询

通过dnscrypt-proxy等工具实现:

  sudo yum install epel-release
  sudo yum install dnscrypt-proxy

五、常见问题排查

场景1:DNS修改后未生效

- 检查/etc/resolv.conf是否被其他服务覆盖(如DHCP客户端)

- 确认NetworkManager配置中未启用自动DNS

场景2:部分域名解析失败

- 使用tcpdump抓包分析DNS请求:

  sudo tcpdump -i eth0 port 53

- 测试不同DNS服务器的响应差异

场景3:DNS查询延迟过高

- 通过pingtraceroute检测网络连通性

- 更换地理位置更近的公共DNS(如阿里DNS:223.5.5.5)

个人观点

DNS配置绝非一次性任务,需定期监控解析速度与准确性,建议企业用户搭建私有DNS服务器提升内网安全,普通用户可选择两家以上公共DNS实现冗余,实际操作中,养成修改前备份配置文件的习惯,可避免误操作导致的服务中断,网络环境的复杂性决定了没有“通用最优解”,持续观察系统日志(/var/log/messages)才能建立最适合当前业务的DNS方案。

发布于 2025-05-22 13:18:24
分享
海报
299
上一篇:如何在CentOS系统中测试网卡速度?实用测速方法解析 下一篇:CentOS 6.4常用命令有哪些?
目录

    推荐阅读

    忘记密码?

    图形验证码