HCRM博客

CentOS系统DNS地址修改指南

CentOS 服务器修改 DNS 地址简明指南

当您的 CentOS 服务器突然无法解析域名,导致网站、邮件或其他关键服务中断,排查后发现问题出在 DNS 配置上——这种场景对于运维人员来说并不陌生,及时准确地配置 DNS 服务器地址,是保障服务器稳定联网、服务正常运转的关键一环,以下是针对主流 CentOS 版本(7 与 8)修改 DNS 地址的详细操作指引。

DNS 为何如此重要? DNS(域名系统)如同互联网的“电话簿”,负责将我们熟悉的域名(如 www.example.com)转换为机器可识别的 IP 地址(如 0.2.1),DNS 配置错误或使用的 DNS 服务器不可靠、响应缓慢,会导致:

CentOS系统DNS地址修改指南-图1
  • 服务器无法访问外部网络资源(软件更新失败、依赖下载卡顿)。
  • 用户访问您的网站体验变差(域名解析延迟)。
  • 关键服务(邮件发送、API 调用)中断。
  • 甚至可能遭遇 DNS 缓存污染或劫持风险。

修改前的关键准备

  1. 明确新的 DNS 地址: 记录下计划使用的 DNS 服务器 IP 地址,可靠选择包括:
    • 公共 DNS:8.8.88.4.4 (Google);1.1.10.0.1 (Cloudflare);5.5.56.6.6 (阿里云)。
    • 企业内网 DNS:由您的网络管理员提供。
    • 运营商 DNS:通常自动获取,但手动指定更稳定。
  2. 确定网络管理方式: CentOS 7+ 主要使用 NetworkManager 或传统的 network 服务管理网络,输入 systemctl status NetworkManager 查看其状态(active (running) 表示启用)。
  3. 备份配置文件:至关重要! 修改前备份相关配置:
    sudo cp /etc/sysconfig/network-scripts/ifcfg-* /root/network_backup/  # 传统方式备份
    sudo cp /etc/NetworkManager/system-connections/*.nmconnection /root/nm_backup/  # NetworkManager 备份
    sudo cp /etc/resolv.conf /root/resolv.conf.bak

CentOS 7 修改 DNS 方法使用 NetworkManager (推荐且常用)

  1. 编辑连接配置: 找到您要修改的网络连接名(如 ens192,用 nmcli con show 查看):
    sudo nmcli con mod "YourConnectionName" ipv4.dns "8.8.8.8 8.8.4.4"  # 替换为您的DNS

    sudo nmcli con mod "Wired connection 1" ipv4.dns "223.5.5.5 223.6.6.6"

  2. 设置 DNS 优先级: 防止其他服务覆盖:
    sudo nmcli con mod "YourConnectionName" ipv4.ignore-auto-dns yes
  3. 应用配置并重启连接:
    sudo nmcli con down "YourConnectionName" && sudo nmcli con up "YourConnectionName"

修改配置文件 (传统 network 服务或无 NetworkManager)

  1. 编辑网卡配置文件: 找到对应网卡的配置文件(如 /etc/sysconfig/network-scripts/ifcfg-ens192):
    sudo vi /etc/sysconfig/network-scripts/ifcfg-ens192
  2. 修改或添加参数:
    DNS1=8.8.8.8       # 主 DNS
    DNS2=8.8.4.4       # 备 DNS
    PEERDNS=no         # 禁止 DHCP 覆盖 DNS 设置
  3. 重启网络服务:
    sudo systemctl restart network

CentOS 8 / Rocky Linux 8 / AlmaLinux 8 修改 DNS CentOS 8 及替代发行版主要依赖 NetworkManager,操作更统一:

  1. 使用 nmcli 修改:
    sudo nmcli con mod "YourConnectionName" ipv4.dns "1.1.1.1 1.0.0.1"  # 替换为您的DNS
    sudo nmcli con mod "YourConnectionName" ipv4.ignore-auto-dns yes
    sudo nmcli con down "YourConnectionName" && sudo nmcli con up "YourConnectionName"
  2. 使用 nmtui (文本界面工具): 运行 sudo nmtui,选择 “Edit a connection”,找到对应连接,在 IPv4 CONFIGURATION 里手动填写 DNS servers,并将 Automatically 设为 Ignore,保存退出后重启连接。

验证 DNS 配置

CentOS系统DNS地址修改指南-图2
  1. 检查 /etc/resolv.conf
    cat /etc/resolv.conf

    确认 nameserver 行已更新为您设置的地址,注意:此文件通常由网络服务管理,不建议直接编辑它,因为它可能被覆盖。

  2. 使用 dignslookup 测试:
    dig @8.8.8.8 example.com +short  # 指定 DNS 服务器测试
    nslookup google.com              # 使用系统配置的 DNS 测试

    观察是否能返回正确的 IP 地址。

  3. 全面网络连通性测试:
    ping -c 4 google.com      # 测试域名解析和基础连通性
    curl -Iv https://example.com # 测试 HTTPS 访问

维护建议与个人观点

  • 选择可靠 DNS: 公共 DNS 速度快、安全性较好;内网 DNS 则保障本地解析,避免使用不知名或响应慢的服务。
  • 主备配置: 至少设置两个不同的 DNS 服务器提升冗余性。
  • 定期检查: 网络环境变更或系统更新后,检查 DNS 配置是否依然有效。
  • 锁定 resolv.conf (可选): 若遇到配置被意外覆盖,可设置不可变标志:
    sudo chattr +i /etc/resolv.conf  # 谨慎使用,确保配置完全正确后再锁定
  • 注意 systemd-resolved: 部分较新发行版启用此服务管理 DNS,若使用它,需通过其配置文件或 resolvectl 命令设置。

作为长期管理服务器基础设施的一员,我始终认为清晰、正确的 DNS 配置是系统稳定性的基石之一,它看似只是几个数字的设定,却直接影响着服务的可达性与用户体验,一次成功的 DNS 修改,不仅能解决眼前的解析故障,更是对服务器长期健康运行的一次有效维护,主动管理和验证网络配置,远比在故障发生后紧急排查更有价值。

操作时请务必保持谨慎,并在测试环境验证无误后再应用于生产服务器,精准的配置管理是高效运维的核心能力体现。

CentOS系统DNS地址修改指南-图3

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/36557.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~