Linux如何修改resolv.conf文件配置DNS

发布时间 - 2025-09-04 00:00:00    点击率:
应通过系统网络管理工具配置DNS以确保持久生效。首先确认网络管理服务(如NetworkManager或systemd-resolved),然后使用对应方法设置:1. 临时修改可直接编辑/etc/resolv.conf,添加nameserver 8.8.8.8等,但重启后可能被覆盖;2. 推荐通过NetworkManager配置,使用nmcli命令修改连接的DNS并重新激活;3. 若使用systemd-resolved,应编辑/etc/systemd/resolved.conf,设置DNS并重启服务,同时将/etc/resolv.conf软链接至/run/systemd/resolve/resolv.conf;4. 可通过sudo chattr +i /etc/resolv.conf防止文件被覆盖,但需谨慎避免网络异常。关键在于匹配系统实际使用的网络管理工具进行配置。

在Linux系统中,/etc/resolv.conf 文件用于配置DNS解析器,定义系统使用的DNS服务器地址。虽然可以直接编辑该文件,但现代Linux发行版通常由网络管理工具(如NetworkManager、systemd-resolved、dhclient等)自动生成和覆盖,因此直接修改可能在重启或网络重连后失效。以下是几种安全有效的修改方式。

1. 临时修改 resolv.conf(适用于测试)

注意:此方法修改后可能被覆盖,仅用于临时测试。

可以直接编辑文件,添加所需的DNS服务器:

命令:
sudo nano /etc/resolv.conf
添加如下内容:

  • nameserver 8.8.8.8
  • nameserver 8.8.4.4
  • nameserver 1.1.1.1

保存退出即可生效。但若系统使用DHCP或NetworkManager,下次网络重启时可能被重写。

2. 通过NetworkManager配置DNS(推荐)

大多数桌面和服务器系统使用NetworkManager管理网络,应通过它来设置DNS,避免被覆盖。

步骤:

  • 编辑对应连接配置:
    nmcli con show # 查看连接名称
    nmcli con mod "连接名" ipv4.dns "8.8.8.8 1.1.1.1"
    nmcli con up "连接名" # 重新激活连接
  • 或将DNS设置为自动(DHCP)或手动:
    nmcli con mod "连接名" ipv4.ignore-auto-dns yes # 忽略DHCP提供的DNS

这样配置后,NetworkManager会自动更新 /etc/resolv.conf

3. 使用 systemd-resolved 统一管理DNS

若系统使用 systemd-resolved,应通过 resolvectl 或配置 /etc/systemd/resolved.conf 来设置。

编辑配置文件:
sudo nano /etc/systemd/resolved.conf

修改或添加:

  • [Resolve]
  • DNS=8.8.8.8 1.1.1.1
  • # Domains=example.com
  • LLMNR=no
  • MulticastDNS=no

启用并重启服务:

sudo systemctl enable systemd-resolved
sudo systemctl restart systemd-resolved

同时建议将 /etc/resolv.conf 指向 systemd-resolved:

sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

4. 防止 resolv.conf 被覆盖

若想手动控制文件内容,可将其设为不可变:

sudo chattr +i /etc/resolv.conf

这将阻止任何程序修改该文件。需要修改时再取消:

sudo chattr -i /etc/resolv.conf

注意:此操作可能导致网络服务异常,需谨慎使用。

基本上就这些。关键是搞清楚系统由谁管理网络(NetworkManager、systemd、dhclient等),然后通过对应方式配置DNS,才能持久生效。直接改文件治标不治本。


# linux  # dns  # 工具  # ai  # linux系统  # auto  # 重启  # 可以直接  # 该文件  # 需谨慎  # 治标不治本  # 设为  # 适用于  # 将其  # 所需  # 能在 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: JS中页面与页面之间超链接跳转中文乱码问题的解决办法  黑客如何利用漏洞与弱口令入侵网站服务器?  音乐网站服务器如何优化API响应速度?  在线制作视频的网站有哪些,电脑如何制作视频短片?  大连 网站制作,大连天途有线官网?  高端建站如何打造兼具美学与转化的品牌官网?  详解Android图表 MPAndroidChart折线图  高性能网站服务器部署指南:稳定运行与安全配置优化方案  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  如何在云服务器上快速搭建个人网站?  如何在建站主机中优化服务器配置?  如何快速上传自定义模板至建站之星?  Windows Hello人脸识别突然无法使用  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  如何快速搭建虚拟主机网站?新手必看指南  如何用IIS7快速搭建并优化网站站点?  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  百度浏览器如何管理插件 百度浏览器插件管理方法  Laravel storage目录权限问题_Laravel文件写入权限设置  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  中国移动官方网站首页入口 中国移动官网网页登录  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  高防服务器租用首荐平台,企业级优惠套餐快速部署  米侠浏览器网页图片不显示怎么办 米侠图片加载修复  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  php485函数参数是什么意思_php485各参数详细说明【介绍】  公司门户网站制作流程,华为官网怎么做?  如何基于PHP生成高效IDC网络公司建站源码?  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  如何快速搭建高效服务器建站系统?  Linux网络带宽限制_tc配置实践解析【教程】  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  html5audio标签播放结束怎么触发事件_onended回调方法【教程】  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  Laravel如何配置和使用缓存?(Redis代码示例)  Laravel如何实现API资源集合?(Resource Collection教程)