Linux如何解决DNS解析失败_Linux网络配置检查与resolv文件修复【方法】
发布时间 - 2026-01-07 00:00:00 点击率:次DNS解析失败时应依次检查并修正/etc/resolv.conf、NetworkManager配置、网卡ifcfg文件、本地DNS缓存及/nsswitch.conf中hosts行,确保nameserver有效且解析顺序正确。
如果您在Linux系统中执行ping、curl或wget等命令时提示“Name or service not known”,或浏览器无法通过域名访问网站,则很可能是DNS解析失败。以下是多种可立即实施的修复方法:
一、检查并修正/etc/resolv.conf配置
/etc/resolv.conf是Linux系统解析域名的核心配置文件,若其中nameserver缺失、格式错误或指向不可达地址,将直接导致解析失败。需确保该文件存在且至少含一个有效DNS服务器条目。
1、使用cat命令查看当前配置:cat /etc/resolv.conf
2、若输出为空、仅含#注释行,或nameserver后为0.0.0.0、127.0.0.1(未运行本地DNS服务时)等无效地址,则需编辑该文件:
3、使用sudo权限打开文件:sudo nano /etc/resolv.conf
4、删除所有无效行,添加至少一行合法nameserver,例如:nameserver 8.8.8.8
5、可追加备用DNS提升容错性:nameserver 223.5.5.5
6、保存退出后,立即测试:dig @8.8.8.8 google.com +short
二、修改NetworkManager DNS设置(适用于使用NetworkManager的发行版)
当系统由NetworkManager管理网络时,/etc/resolv.conf可能被自动覆盖。直接编辑resolv.conf会被重置,因此必须通过NetworkManager配置持久化DNS设置。
1、编辑主配置文件:sudo nano /etc/NetworkManager/NetworkManager.conf
2、在[main]段落下方新增一行:dns=8.8.8.8,223.6.6.6
3、保存后重启NetworkManager服务:sudo systemctl restart NetworkManager
4、验证是否生效:nmcli dev show | grep DNS
三、通过网卡配置文件固化DNS(适用于RHEL/CentOS/Fedora系)
对于不使用NetworkManager、而依赖传统network服务的系统,DNS应写入对应网卡的ifcfg-文件中,确保重启后仍有效。
1、确认网卡名称:ip -br a | grep UP
2、编辑对应配置文件,如ens33:sudo nano /etc/sysconfig/network-scripts/ifcfg-ens33
3、在文件末尾添加两行:DNS1=114.114.114.114
4、再添加备用DNS:DNS2=8.8.8.8
5、重启网络服务:sudo systemctl restart network
四、清除本地DNS缓存服务
若系统启用了nscd、systemd-resolved或dnsmasq等本地缓存服务,其内部缓存可能包含过期或损坏记录,干扰新DNS配置生效。
1、检查nscd是否运行:sudo systemctl is-active nscd
2、若返回active,则重启它:sudo systemctl restart nscd
3、检查systemd-resolved状态:systemctl is-active systemd-resolved
4、若启用,刷新其缓存:sudo resolvectl flush-caches
5、验证缓存已清空:sudo resolvectl statistics | grep "Cache"
五、验证DNS解析器顺序与NSS配置
/etc/nsswitch.conf控制主机名解析的优先级顺序。若hosts行缺失dns,系统将跳过DNS查询,仅依赖/etc/hosts文件,导致外部域名全部失效。
1、查看当前hosts解析策略:grep "^hosts:" /etc/nsswitch.conf
2、标准输出应为:hosts: files dns
3、若结果为hosts: files或含[NOTFOUND=return]等异常修饰,则需编辑该文件:
4、执行:sudo nano /etc/nsswitch.conf
5、定位到hosts行,确保其值为:hosts: files dns
6、保存后无需重启,立即生效,可立刻用getent hosts测试:getent hosts google.com
# linux
# centos
# go
# 浏览器
# curl
# ai
# switch
# dns
# google
# 配置文件
# linux系统
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)
如何用低价快速搭建高质量网站?
js代码实现下拉菜单【推荐】
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
百度浏览器如何管理插件 百度浏览器插件管理方法
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
如何在服务器上三步完成建站并提升流量?
焦点电影公司作品,电影焦点结局是什么?
悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤
详解jQuery中基本的动画方法
Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程
Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】
如何在万网主机上快速搭建网站?
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
清除minerd进程的简单方法
🚀拖拽式CMS建站能否实现高效与个性化并存?
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
如何在 Pandas 中基于一列条件计算另一列的分组均值
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
微信推文制作网站有哪些,怎么做微信推文,急?
HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
Laravel如何使用withoutEvents方法临时禁用模型事件
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
Linux网络带宽限制_tc配置实践解析【教程】
Laravel怎么解决跨域问题_Laravel配置CORS跨域访问
如何在阿里云虚拟主机上快速搭建个人网站?
如何快速查询网址的建站时间与历史轨迹?
北京网站制作的公司有哪些,北京白云观官方网站?
php在windows下怎么调试_phpwindows环境调试操作说明【操作】
如何快速搭建高效服务器建站系统?
Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程
Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】
Internet Explorer官网直接进入 IE浏览器在线体验版网址
公司网站制作需要多少钱,找人做公司网站需要多少钱?
Laravel如何配置任务调度?(Cron Job示例)
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理
Laravel如何实现多对多模型关联?(Eloquent教程)
如何挑选优质建站一级代理提升网站排名?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
如何在腾讯云免费申请建站?
laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法
Python自然语言搜索引擎项目教程_倒排索引查询优化案例
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
公司门户网站制作流程,华为官网怎么做?
高性能网站服务器部署指南:稳定运行与安全配置优化方案
如何在腾讯云服务器快速搭建个人网站?
Laravel Docker环境搭建教程_Laravel Sail使用指南
Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】
上一篇:win7电脑提示无权访问该文件夹
上一篇:win7电脑提示无权访问该文件夹

