5154

Good Luck To You!

CentOS系统如何修改DNS并使其永久生效?

在 CentOS 系统中,正确配置 DNS(域名系统)是确保网络畅通无阻的关键一步,DNS 负责将我们易于记忆的域名(如 www.google.com)解析为机器能够识别的 IP 地址,更换为更快速、更安全或具备特定功能的公共 DNS 服务器,可以提升上网体验、增强隐私保护,甚至绕过某些网络限制,本文将详细介绍在 CentOS 不同版本中更换 DNS 的多种方法,并提供验证步骤和常用服务器推荐。

CentOS系统如何修改DNS并使其永久生效?


适用于 CentOS 7 及更早版本(编辑网络配置文件)

对于使用传统 network-scripts 管理网络的 CentOS 7 及更早版本,最稳定的方法是直接编辑网络接口的配置文件。

  1. 确定网络接口名称 使用以下命令查看您的网络接口名称,通常为 ens33eth0 等。

    ip addr
  2. 编辑配置文件 找到对应接口的配置文件,它位于 /etc/sysconfig/network-scripts/ 目录下,文件名格式为 ifcfg-<接口名称>,接口名为 ens33,则编辑文件:

    vi /etc/sysconfig/network-scripts/ifcfg-ens33
  3. 添加或修改 DNS 设置 在文件中,添加或修改以下两行。DNS1 为主用 DNS,DNS2 为备用 DNS,这里以 Google DNS 为例。

    DNS1=8.8.8.8
    DNS2=8.8.4.4

    为防止 DHCP 服务器分配的 DNS 覆盖手动设置,建议同时添加或确保 PEERDNS 参数为 no

    PEERDNS=no
  4. 重启网络服务 保存文件后,重启网络服务使配置生效。

    systemctl restart network

适用于 CentOS 8/9 及 Stream(使用 nmcli 命令)

从 CentOS 8 开始,NetworkManager 及其命令行工具 nmcli 成为默认的网络管理方式,使用 nmcli 是最推荐且现代的方法。

CentOS系统如何修改DNS并使其永久生效?

  1. 查看网络连接名称 nmcli 管理的是“连接”,而非直接的“接口”,使用以下命令查看所有连接:

    nmcli connection show

    找到您正在使用的连接名称,通常与接口名类似,Wired connection 1ens33

  2. 修改连接的 DNS 设置 假设连接名称为 ens33,使用以下命令设置 DNS,多个 DNS 地址用空格隔开,并用引号包裹。

    nmcli con mod "ens33" ipv4.dns "8.8.8.8 8.8.4.4"
  3. 防止自动 DNS 覆盖 同样,为了防止 DHCP 自动获取的 DNS 覆盖手动设置,需执行:

    nmcli con mod "ens33" ipv4.ignore-auto-dns yes
  4. 激活配置 通过重新激活连接来应用更改。

    nmcli con down "ens33" && nmcli con up "ens33"

临时生效(直接编辑 resolv.conf)

此方法适用于临时测试,重启网络或服务器后配置会丢失。

直接编辑 /etc/resolv.conf 文件:

CentOS系统如何修改DNS并使其永久生效?

vi /etc/resolv.conf
```或直接在文件顶部添加:

nameserver 8.8.8.8 nameserver 8.8.4.4

保存后立即生效,但请务必注意,`NetworkManager` 或 `network` 服务在下次启动或续约 DHCP 时会覆盖此文件。
---
### **如何验证 DNS 设置是否生效**
无论使用哪种方法,都可以通过以下方式验证。
1.  **查看 resolv.conf 文件**
    查看 `/etc/resolv.conf` 文件内容,确认其中包含您设置的 `nameserver`。
    ```bash
    cat /etc/resolv.conf
  1. 使用解析工具测试 使用 nslookupdig 命令解析一个域名,看是否能返回正确的 IP 地址。
    nslookup www.baidu.com

    如果返回了百度的 IP 地址列表,说明 DNS 工作正常。


常用公共 DNS 服务器推荐

提供商 主 DNS 备用 DNS 特点
Google 8.8.8 8.4.4 速度快,稳定,全球可用
Cloudflare 1.1.1 0.0.1 注重隐私,速度快,响应时间短
Quad9 9.9.9 112.112.112 内置安全策略,阻止已知恶意域名
阿里 DNS 5.5.5 6.6.6 针对中国大陆用户优化,解析快
114 DNS 114.114.114 114.115.115 国内老牌 DNS,速度快,纯净

相关问答 (FAQs)

为什么我修改了 /etc/resolv.conf 文件,重启网络或服务器后就失效了? 解答: 这是因为在现代 Linux 发行版(包括 CentOS)中,/etc/resolv.conf 文件通常是由网络管理服务(如 NetworkManagernetwork 脚本)动态生成的,当这些服务启动、重新配置或从 DHCP 服务器获取信息时,它们会根据其主配置文件(如 ifcfg-*nmcli 的设置)来重写 /etc/resolv.conf,直接编辑该文件只是一种临时措施,要实现永久更改,必须修改网络管理服务的主配置,如方法一和方法二所示。

我应该选择哪个公共 DNS?它们之间有什么区别? 解答: 选择哪个 DNS 取决于您的具体需求。Google DNS (8.8.8.8) 是最通用的选择,以其稳定性和速度著称。Cloudflare DNS (1.1.1.1) 则强调用户隐私,承诺不会记录用户的浏览数据,且性能优异。Quad9 (9.9.9.9) 的主要卖点是安全,它会自动过滤掉已知的恶意网站,为设备提供一层额外的保护,如果您在中国大陆,阿里 DNS (223.5.5.5)114 DNS 可能会提供更快的解析速度和更低的延迟,您可以根据自己对速度、隐私和安全性的优先级来做出选择。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年11月    »
12
3456789
10111213141516
17181920212223
24252627282930
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.