Linux如何更新DNS配置?Linux修改DNS服务器地址方法

Linux更新DNS最核心的方法是修改/etc/resolv.conf文件或使用systemd-resolved服务,但需注意不同发行版(如CentOS、Ubuntu)的管理工具差异,直接修改配置文件可能在重启后失效,建议通过Netplan或NetworkManager等持久化工具进行配置。

在Linux系统中,DNS解析就像是指南针,决定了你的服务器能否准确找到互联网上的目标地址,很多新手遇到网络不通时,第一反应是检查网线或防火墙,却往往忽略了DNS这个“隐形”的关键环节,如果你正在寻找linux修改dns配置方法,或者困惑于为什么改了配置重启后失效,那么这篇文章将为你拆解从临时生效到永久生效的完整逻辑。

Linux--DNS服务器配置
加载中
Linux--DNS服务器配置

理解Linux DNS管理的复杂性

Linux发行版众多,导致DNS管理方式并不统一,业内专家指出,理解底层机制比死记硬背命令更重要,主要存在两种管理模式:一种是传统的直接修改配置文件,另一种是现代的通过网络管理守护进程管理。

传统文件方式:/etc/resolv.conf

这是最基础的方式。/etc/resolv.conf是Linux系统读取DNS服务器的主要文件,这里有一个巨大的陷阱:在许多现代发行版中,这个文件是动态生成的。

  • 动态覆盖风险:如果你手动编辑了该文件,一旦网络服务重启或DHCP重新获取IP,你的修改会被覆盖。
  • 读取顺序:系统通常先读取此文件,若未找到配置,再尝试其他来源。

现代守护进程方式:NetworkManager与Netplan

随着桌面化和服务器自动化的发展,直接编辑resolv.conf变得不再推荐。

  • NetworkManager:广泛用于Ubuntu桌面版和部分服务器版,它通过连接配置文件来管理DNS。
  • Netplan:Ubuntu 18.04+及CentOS 8+常用的网络配置工具,使用YAML格式,更加规范且易于版本控制。

Ubuntu系统下的DNS更新实操

Linux如何更新DNS配置?Linux修改DNS服务器地址方法

Ubuntu是目前市场占有率极高的Linux发行版,其DNS配置逻辑具有代表性,我们将重点讲解如何通过ubuntu系统dns配置教程中推荐的最佳实践进行操作。

使用Netplan进行永久配置

对于使用Netplan的系统,修改YAML配置文件是标准做法。

定位配置文件

配置文件通常位于`/etc/netplan/`目录下,文件名可能是`00-installer-config.yaml`或类似名称,使用`ls /etc/netplan/`查看具体文件名。

编辑YAML文件

使用文本编辑器打开文件,
`sudo nano /etc/netplan/00-installer-config.yaml`

network -> ethernets -> eth0(网卡名需替换为你实际的网卡名,可通过ip a查看)下添加nameservers部分:

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 114.114.114.114

注意:YAML对缩进非常敏感,务必使用空格而非Tab。

应用配置

保存文件后,执行以下命令使配置生效:
`sudo netplan apply`

如果命令执行无报错,说明配置已写入,此时可以检查/etc/resolv.conf,你会发现它可能变成了一个指向/run/systemd/resolve/stub-resolv.conf的符号链接,这是正常现象,系统会自动同步Netplan的配置。

CentOS/RHEL系统下的DNS更新实操

CentOS系列服务器在企业环境中依然占据重要地位,其配置逻辑与Ubuntu有所不同,常涉及centos7修改dns或CentOS 8+的NetworkManager。

使用NetworkManager命令行工具

查看当前连接

使用`nmcli connection show`查看活动的网络连接名称,System eth0`。

修改DNS

执行命令修改特定连接的DNS服务器:
`sudo nmcli connection modify “System eth0” ipv4.dns “8.8.8.8 114.114.114.114″`

Linux如何更新DNS配置?Linux修改DNS服务器地址方法

如果需要清除原有DNS,可以先执行:
sudo nmcli connection modify "System eth0" ipv4.dns ""

重新激活连接

`sudo nmcli connection up “System eth0″`

传统方法:/etc/resolv.conf

在CentOS 7及更早版本中,直接编辑/etc/resolv.conf通常是有效的,因为NetworkManager默认不会自动覆盖它,除非配置了dns=none

sudo vi /etc/resolv.conf
nameserver 8.8.8.8
nameserver 114.114.114.114

但请注意,如果/etc/NetworkManager/NetworkManager.conf中设置了dns=dnsmasq或类似选项,直接修改此文件可能无效,此时需检查NetworkManager的配置状态。

常见误区与故障排查

很多用户反映修改DNS后依然无法解析域名,这通常源于缓存或配置未正确加载。

检查DNS缓存

Linux系统本身不常像Windows那样有全局DNS缓存,但systemd-resolved服务会缓存。

  • 查看缓存状态systemd-resolve --statistics
  • 清除缓存sudo systemd-resolve --flush-caches

验证配置是否生效

不要仅依赖ping命令,因为ping可能使用缓存的IP。

  • 使用dig命令dig baidu.com,查看ANSWER SECTION中的IP是否为你预期的解析结果,以及SERVER字段是否显示你配置的DNS服务器IP。
  • 使用nslookupnslookup baidu.com 8.8.8.8,强制指定DNS服务器进行查询。

权限问题

修改配置文件通常需要sudo权限,如果提示权限拒绝,请检查用户是否在sudo组中,或使用su切换到root用户。

不同场景下的DNS选择建议

选择合适的DNS服务器能显著提升访问速度和稳定性。

国内访问优化

Linux如何更新DNS配置?Linux修改DNS服务器地址方法

对于国内服务器,使用国内DNS服务商(如阿里云DNS、腾讯云DNS、114 DNS)通常延迟更低,解析更准确。

  • 阿里云DNS5.5.56.6.6
  • 腾讯云DNS29.29.29
  • 114 DNS114.114.114

国际访问优化

对于需要访问海外服务的场景,使用全球知名的公共DNS可能更稳定。

  • Google DNS8.8.88.4.4
  • Cloudflare DNS1.1.10.0.1

混合使用策略

多数情况下,建议配置一个国内DNS和一个国外DNS作为备用,系统会按顺序尝试,如果第一个超时或失败,会自动尝试第二个。

Q&A:linux更新dns常见问题

linux修改dns后重启失效怎么办?

这通常是因为配置方式被网络管理工具覆盖,请确认你使用的是Netplan(Ubuntu)或NetworkManager(CentOS/Ubuntu)的持久化配置方式,而不是直接编辑`/etc/resolv.conf`,对于Netplan,确保YAML格式正确并执行`netplan apply`;对于NetworkManager,使用`nmcli`命令修改连接配置。

如何查看当前Linux系统使用的DNS服务器?

可以通过查看`/etc/resolv.conf`文件内容,使用`cat /etc/resolv.conf`命令,如果该文件是符号链接,需查看其指向的目标文件,使用`systemd-resolve –status`命令可以查看当前活动连接的详细DNS信息,包括服务器IP和域名搜索列表。

linux系统dns配置教程中推荐的永久生效方法是什么?

业界共识认为,永久生效的方法取决于具体的网络管理工具,对于使用Netplan的系统,修改`/etc/netplan/`下的YAML文件并应用是最推荐的方式;对于使用NetworkManager的系统,使用`nmcli`修改连接属性是标准做法,直接编辑`/etc/resolv.conf`仅在特定配置下有效,且不具备持久性保障,因此不作为首选推荐方案。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://test.idctop.com/article/452969.html

(0)
Linux系统能装iOS吗?linux安装ios教程
上一篇 2026年7月4日 12:13
Excel提示另一用户正在编辑,如何强制解除锁定?
下一篇 2026年7月4日 12:15

相关推荐

  • 自制一台迷你电脑怎么做,新手DIY配置清单教程

    组装一台迷你电脑并非简单的零件堆砌,而是一项涉及精密空间管理、热力学设计以及硬件兼容性校验的系统工程,核心结论在于:成功的DIY迷你电脑必须建立在明确的使用场景定位之上,通过严格把控CPU功耗与散热模组的匹配度,并遵循ITX架构下的紧凑走线规范,才能在有限体积内实现性能与静音的完美平衡,对于想要深入了解自制一台……

    2026年2月19日
    18400
  • asp如何获取顶级域名?asp获取顶级域名代码

    在ASP环境中获取顶级域名(TLD)最稳健的方法是利用服务器端对象解析URL结构,结合正则表达式或字符串截取逻辑,优先推荐通过Request.ServerVariables(“HTTP_HOST”)获取当前域名后,按点号分割并取最后两段,但需注意区分国家代码顶级域名与通用顶级域名的边界情况,ASP获取顶级域名的……

    行业资讯 2026年6月11日
    2400
  • api接口测试方法有哪些,api接口测试流程详解

    API接口测试是保障软件系统质量的核心防线,其本质在于验证数据交互的逻辑正确性与系统稳定性,核心结论是:高效的API测试必须脱离单一的界面验证,转向基于自动化脚本、数据驱动和场景覆盖的深度测试体系,通过分层验证策略确保接口在高并发、异常数据及复杂业务逻辑下的健壮性, 相比于UI测试,API测试执行速度更快、维护……

    2026年3月27日
    8700
  • Linux下mysql libs找不到怎么办?mysql缺少libmysqlclient.so解决方法

    在Linux环境下配置MySQL时,libs库文件缺失或版本不匹配是导致服务无法启动的最常见原因,解决核心在于通过包管理器精准安装依赖并验证路径一致性,很多开发者在部署MySQL数据库时,往往只关注mysqld主程序的启动,却忽略了底层动态链接库(libs)的关键作用,这些库文件就像数据库的“肌肉组织”,负责处……

    2026年7月4日
    8100
  • Linux如何创建变量?Linux定义变量有哪些常用方法

    在Linux中创建变量主要分为临时环境变量(仅当前会话有效)和持久化系统变量(写入配置文件永久生效)两种核心方式,具体取决于你的业务场景需求,很多刚接触Linux的朋友,看到屏幕上那一串串命令会感到头大,觉得变量这东西高深莫测,它就像是你给某个文件或配置起的一个“昵称”,你不需要记住那个长长的路径 /etc/n……

    2026年7月5日
    18710
  • 思源黑体linux怎么用?linux系统安装思源黑体字体教程

    思源黑体 Linux 是开源界最稳健的无衬线字体方案,它完美解决了 Linux 系统下多语言排版的美观与兼容性问题,且完全免费,无需担心版权风险,在 Linux 桌面环境日益普及的今天,字体渲染一直是用户从 Windows 或 macOS 迁移时的痛点,很多用户抱怨 Linux 下的文字看起来“发虚”或者“间距……

    2026年7月8日
    14600
  • WebHorizon复活节优惠$2/月值得买吗?2026年高性价比VPS推荐

    WebHorizon复活节特惠以$2/月的极低门槛提供1核512MB内存及125GB流量,是个人开发者搭建轻量级应用的高性价比选择,在2026年的云计算市场中,对于预算有限但追求稳定性的个人用户而言,寻找一款既便宜又可靠的VPS(虚拟专用服务器)始终是一个痛点,WebHorizon此次推出的复活节促销活动,精准……

    2026年6月27日
    4200
  • CAD软件如何安装程序,新手详细安装步骤是什么?

    成功部署CAD软件并非简单的双击操作,而是一项需要严谨对待的系统工程,核心结论在于:一套完整的安装流程必须包含环境预检、标准化安装执行以及合规的授权激活三个关键阶段,任何环节的疏忽都可能导致软件运行不稳定、功能缺失甚至系统崩溃,掌握cad软件如何安装程序的正确逻辑,不仅能大幅提升工作效率,更能确保设计数据的安全……

    2026年2月20日
    19400
  • 数脉科技香港BGP线路7月促销力度大吗?阿里云线路五折起新客立减400

    数脉科技7月促销针对新客提供立减400HKD优惠,阿里云线路低至五折,BGP与CN2线路均支持快速部署,适合对网络稳定性和跨境访问有明确需求的用户,数脉科技7月促销核心权益解析新客立减与折扣力度对比本次7月促销活动主要针对新注册用户,核心吸引力在于真金白银的价格减免,对于初次接触数脉科技的用户,系统会在结算时自……

    2026年6月30日
    2010
  • AI技术基本是什么?AI开发基本流程介绍

    AI开发并非黑盒魔法,而是从需求定义、数据准备、模型选型、训练微调到部署监控的标准化工程闭环,掌握这一流程即可降低90%以上的试错成本,很多人对人工智能存在误解,认为只要买几张显卡就能“炼丹”出智能体,在2026年的今天,AI开发已经高度工业化,它更像是一场精密的建筑施工,而非随意的艺术创作,如果你正打算入手A……

    2026年6月5日
    3700

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注