Linux配置DNS服务器方法详解
当Linux系统出现“unknown host”等域名解析失败问题时,DNS配置不当往往是核心原因;本文全面梳理了五种实用且互补的DNS配置方法——从快速生效但易被覆盖的/etc/resolv.conf直接编辑,到适用于服务器环境的网卡配置持久化设置,再到桌面用户友好的NetworkManager图形与命令行操作、现代发行版推荐的systemd-resolved服务深度配置,以及仅针对特定域名的hosts文件精准映射,每种方案均附带清晰步骤和即时验证方式,助你精准定位、快速修复,彻底告别网络连通却无法上网的困扰。

如果您在Linux系统中无法解析域名,例如执行ping google.com时提示“unknown host”,则很可能是DNS服务器配置不正确或未生效。以下是多种可立即实施的DNS配置方法:
一、直接编辑/etc/resolv.conf文件
该文件是系统级DNS解析器读取的首要配置,定义了nameserver顺序列表,系统按行依次尝试查询。此方法操作最快,但可能被NetworkManager或systemd-resolved等服务覆盖。
1、使用root权限打开配置文件:sudo nano /etc/resolv.conf。
2、清空原有nameserver行(如有),添加至少一行有效DNS地址,例如:nameserver 114.114.114.114。
3、如需配置多个备用服务器,追加第二行:nameserver 8.8.8.8。
4、保存退出后,立即验证:执行nslookup baidu.com,确认返回IP地址而非错误信息。
二、修改网卡配置文件(持久化设置)
该方法通过底层网络接口配置注入DNS参数,由网络服务启动时自动写入/etc/resolv.conf,适用于RHEL/CentOS/Fedora等使用ifcfg-*脚本的系统,重启后仍有效。
1、确定当前激活的网卡名称,运行:ip -br a | grep UP,记下如ens33或eth0。
2、编辑对应配置文件:sudo nano /etc/sysconfig/network-scripts/ifcfg-ens33(将ens33替换为实际网卡名)。
3、在文件末尾新增两行:DNS1=223.5.5.5和DNS2=119.29.29.29。
4、保存后重启网络服务:sudo systemctl restart NetworkManager或sudo systemctl restart network(依发行版而定)。
三、通过NetworkManager图形/命令行界面配置
桌面环境常用此方式,NetworkManager会接管DNS管理并生成/etc/resolv.conf,避免手动编辑被覆盖,适合Ubuntu Desktop、Fedora Workstation等。
1、打开连接编辑器:nm-connection-editor。
2、双击当前有线或无线连接,切换至“IPv4 Settings”选项卡。
3、在“DNS servers”输入框中填入:1.1.1.1 223.6.6.6(空格分隔)。
4、取消勾选“Automatic DNS”选项,点击“Apply”保存。
5、断开当前连接后重新启用,使新DNS设置载入。
四、配置systemd-resolved服务
systemd-resolved作为现代Linux发行版(如Ubuntu 20.04+、Debian 11+、Arch Linux)默认的本地DNS解析代理,支持缓存、DNSSEC及域特定解析策略,需确保其处于启用状态。
1、检查服务是否运行:sudo systemctl is-active systemd-resolved,若返回inactive则执行启用命令。
2、编辑主配置文件:sudo nano /etc/systemd/resolved.conf。
3、取消DNS=行注释,设为:DNS=8.8.4.4 223.5.5.5;如需Fallback机制,同时取消FallbackDNS=行注释并填写备用地址。
4、确保/etc/resolv.conf为指向stub resolver的软链接:sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf。
5、重启服务:sudo systemctl restart systemd-resolved。
五、修改本地hosts文件(仅限指定域名)
hosts文件优先级高于DNS解析,适用于强制将特定域名映射到固定IP,常用于开发测试或屏蔽广告域名,不改变全局DNS行为。
1、以root权限打开hosts文件:sudo nano /etc/hosts。
2、在文件末尾新增一行,格式为IP后跟空格再跟域名,例如:192.168.1.100 mytest.local。
3、保存退出后,执行ping mytest.local,应直接解析为所设IP且不经过远程DNS查询。
以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。
CSS包含块如何影响盒模型,百分比参照物是最近的块级祖先
- 上一篇
- CSS包含块如何影响盒模型,百分比参照物是最近的块级祖先
- 下一篇
- 防止静态类变量在多线程环境下出现数据不安全,主要需要考虑以下几点:1. 使用同步机制(Synchronization)静态变量属于类级别的成员,所有实例共享。因此在多线程中访问时,必须确保对它的操作是原子的或线程安全的。方法一:使用 synchronized 关键字public class MyClass { private static int count = 0; publi
-
- 文章 · linux | 3天前 | Linux · 服务治理 · 日志排查 · 运维教程 · Linux 服务管理器 journalctl 服务重启 运维排查 RestartSec start-limit-hit
- Linux 服务反复重启怎么办:journalctl 和 RestartSec 排查清单
- 408浏览 收藏
-
- 文章 · linux | 2星期前 | Linux · 运维排查 · 文件句柄 · ulimit · 服务限制 · Linux 文件句柄 lsof ulimit too many open files LimitNOFILE 服务限制
- Linux 文件句柄耗尽排查工作流:从 ulimit 到服务限制放大
- 482浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- ljg-skills
- ljg-skills 是李继刚开源的 AI 技能与提示词集合,面向大模型使用者整理了一批可复用的 prompt、角色设定和任务技能模板,适合用于学习提示词设计、搭建个人 AI 工作流和沉淀团队常用智能体能力。
- 3841次使用
-
- MELO音乐
- MELO音乐是一站式AI视频与音乐制作助手,对标suno, udio的高品质体验。提供伴奏生成、原创写词、无损导出、哼唱识曲、混音变声等全套音频与短视频编辑工具。无论是流行Kpop、电音说唱、民谣古风、摇滚儿歌还是商用轻音乐,MELO为你免费谱曲,轻松做同款!
- 3543次使用
-
- UniScribe
- UniScribe 是一款 AI 音视频转文字与内容整理工具,支持上传音频、视频文件或粘贴 YouTube 链接,自动生成转写文本、摘要、思维导图和关键问题,并支持多格式导出,适合会议记录、课程学习、访谈整理和内容创作复盘。
- 3527次使用
-
- 剧云
- 剧云是专业中文剧本创作平台,安全稳定运行十余年,集成AI编剧、剧本医生审核、人物小传、剧情关系图、大纲编写、多人协作、Word导入导出、版权管控功能,数据安全防护,轻松高效创作剧本。
- 3710次使用
-
- 万象有声
- 万象有声,一个专为有声创作者打造的新一代智能有声内容创作平台。平台提供专业的智能拆章、智能画本编辑、AI配音、AI生成音效、后期制作、智能对轨、智能审听等有声创作全流程工具,可以帮助创作者高效、低成本创作出引人入胜的有声作品。立即体验,让有声书制作更简单!
- 3676次使用
-
- Linux搭建vsftpdFTP服务器教程
- 2026-04-30 501浏览
-
- Shell脚本安装教程:.sh一键安装指南
- 2026-03-16 501浏览
-
- Linux清空文件内容的几种方法
- 2025-12-01 501浏览
-
- Linux命令行下载文件技巧
- 2025-11-23 501浏览
-
- Linuxapt与yum配置技巧全解析
- 2025-09-23 501浏览

