0

0

Linux如何配置域名解析_Linux系统hosts文件修改与DNS设置【方法】

尼克

尼克

发布时间:2026-01-04 18:29:02

|

496人浏览过

|

来源于php中文网

原创

域名解析失败时,应依次检查并修改/etc/hosts文件、配置系统DNS服务器、使用resolvconf统一管理、启用systemd-resolved服务,并通过dig、getent等命令逐层验证解析链路。

linux如何配置域名解析_linux系统hosts文件修改与dns设置【方法】

如果您在Linux系统中遇到域名无法解析的问题,则可能是由于本地hosts文件配置错误或系统DNS服务器设置不当。以下是解决此问题的步骤:

一、修改/etc/hosts文件添加静态映射

/etc/hosts文件用于定义主机名到IP地址的静态映射,优先级高于DNS查询,适用于测试环境或屏蔽特定域名。

1、使用root权限打开hosts文件:sudo nano /etc/hosts

2、在文件末尾添加一行格式为“IP地址 主机名 别名”的条目,例如:192.168.1.100 example.local www.example.local

3、保存并退出编辑器(nano中按Ctrl+O回车确认,Ctrl+X退出)

4、验证修改是否生效:ping -c 1 example.local

二、配置系统级DNS服务器地址

通过修改网络接口配置或系统DNS配置文件,可指定系统使用的DNS服务器,影响所有未在hosts中定义的域名解析行为。

1、查看当前DNS配置:systemd-resolve --statuscat /etc/resolv.conf

2、若使用systemd-networkd,编辑对应网络配置文件(如/etc/systemd/network/10-eth0.network),在[Network]段下添加:DNS=8.8.8.8 1.1.1.1

3、若使用NetworkManager,运行:nmcli dev modify eth0 ipv4.dns "8.8.8.8,1.1.1.1",随后重启连接:nmcli con down "System eth0"; nmcli con up "System eth0"

4、手动更新resolv.conf(仅临时有效):echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf

三、使用resolvconf工具统一管理DNS配置

resolvconf是一个用于协调多个DNS配置源的工具,避免不同服务对/etc/resolv.conf的覆盖冲突,适合多网络管理场景。

1、安装resolvconf(Ubuntu/Debian):sudo apt install resolvconf

2、创建DNS配置文件:echo "nameserver 114.114.114.114" | sudo tee /etc/resolvconf/resolv.conf.d/base

ImgCreator AI
ImgCreator AI

一款AI图像生成工具,适合创建插图、动画和概念设计图像。

下载

3、更新resolvconf运行时配置:sudo resolvconf -u

4、验证结果:cat /etc/resolv.conf 应包含刚写入的nameserver行

四、启用并配置systemd-resolved服务

systemd-resolved是systemd提供的本地DNS解析服务,支持DNSSEC、LLMNR和mDNS,并提供统一解析接口,替代传统resolv.conf直写方式。

1、启用并启动服务:sudo systemctl enable --now systemd-resolved

2、检查服务状态:systemctl status systemd-resolved

3、将/etc/resolv.conf指向其stub解析器:sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

4、设置全局DNS服务器:sudo systemd-resolve --set-dns=223.5.5.5 --interface=eth0

五、验证域名解析结果与排查链路

完成上述任一配置后,需通过多层级命令确认解析路径是否正确,排除缓存干扰及服务未生效问题。

1、清除systemd-resolved缓存:sudo systemd-resolve --flush-caches

2、使用专用工具测试解析路径:dig example.com @127.0.0.53(指向resolved stub)

3、绕过本地解析直接查DNS服务器:dig example.com @8.8.8.8

4、检查glibc解析顺序:getent hosts example.com(遵循nsswitch.conf中hosts:项顺序)

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1011

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

60

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

370

2025.12.29

go中interface用法
go中interface用法

本专题整合了go语言中int相关内容,阅读专题下面的文章了解更多详细内容。

76

2025.09.10

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1347

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

700

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

294

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

776

2023.07.05

Java 项目构建与依赖管理(Maven / Gradle)
Java 项目构建与依赖管理(Maven / Gradle)

本专题系统讲解 Java 项目构建与依赖管理的完整体系,重点覆盖 Maven 与 Gradle 的核心概念、项目生命周期、依赖冲突解决、多模块项目管理、构建加速与版本发布规范。通过真实项目结构示例,帮助学习者掌握 从零搭建、维护到发布 Java 工程的标准化流程,提升在实际团队开发中的工程能力与协作效率。

3

2026.01.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7万人学习

Git 教程
Git 教程

共21课时 | 2.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号