0

0

Linux hosts 文件优先级解析

冷漠man

冷漠man

发布时间:2026-03-02 17:05:43

|

918人浏览过

|

来源于php中文网

原创

/etc/hosts 文件在域名解析中优先级最高,系统按 nsswitch.conf 中 hosts: files dns 顺序先查该文件,匹配成功即返回;其条目需符合 ip 主机名格式,支持注释与别名,修改后多数程序自动生效。

linux hosts 文件优先级解析

Linux 的 /etc/hosts 文件在域名解析中具有最高优先级,它会在 DNS 查询之前被系统读取并生效。

hosts 文件的解析顺序

Linux 系统默认使用 GNU C 库(glibc)的 getaddrinfo()gethostbyname() 进行主机名解析。其行为由 /etc/nsswitch.conf 中的 hosts: 行控制。典型配置为:

hosts: files dns

这表示:先查 /etc/hostsfiles),匹配成功则立即返回,不再继续;失败才转向 DNS 服务器查询。

Relayed AI
Relayed AI

一款AI驱动的视频会议工具,旨在帮助团队克服远程工作、繁忙的日程安排和会议疲劳。

下载

hosts 条目生效的关键规则

每行格式为:IP地址 主机名 [别名...],需注意以下细节:

  • 注释以 # 开头,整行忽略
  • 同一 IP 可对应多个主机名,用空格分隔,但只有第一个为主机名,其余为别名
  • 重复 IP + 不同主机名的条目,仅首条生效;重复主机名的条目,仅首条被采用
  • IPv4 和 IPv6 地址不可混用在同一行,需分开书写
  • 修改后无需重启服务,大多数程序下次解析时自动读取(部分长期运行进程如某些 daemon 可能缓存结果,需手动触发或重启)

与 DNS、systemd-resolved 的关系

即使启用了 systemd-resolved 或设置了其他 DNS 管理工具(如 NetworkManager、dnsmasq),只要 nsswitch.conffilesdns 前,/etc/hosts 仍优先生效。

例外情况:

  • nsswitch.conf 被改为 hosts: dns(移除 files),则跳过 hosts 文件
  • 容器环境(如 Docker)通常挂载自己的 /etc/hosts,宿主机的修改不影响容器内解析
  • 某些应用(如 Chrome)内置 DNS 缓存或使用自己的解析逻辑,可能绕过系统 hosts

验证 hosts 是否生效

推荐使用底层工具确认,避免被缓存干扰:

  • getent hosts example.local —— 直接调用 NSS 接口,最准确反映系统行为
  • ping -c1 example.local —— 观察解析出的 IP 是否匹配 hosts 设置
  • nslookup example.localdig example.local —— 这两个走纯 DNS 查询,不会查 hosts,仅用于对比 DNS 结果

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

1015

2023.08.11

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

813

2023.11.06

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

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

1732

2023.10.19

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

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

549

2025.10.17

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

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

2338

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

43

2026.01.19

k8s和docker区别
k8s和docker区别

k8s和docker区别有抽象层次不同、管理范围不同、功能不同、应用程序生命周期管理不同、缩放能力不同、高可用性等等区别。本专题为大家提供k8s和docker区别相关的各种文章、以及下载和课程。

280

2023.07.24

docker进入容器的方法有哪些
docker进入容器的方法有哪些

docker进入容器的方法:1. Docker exec;2. Docker attach;3. Docker run --interactive --tty;4. Docker ps -a;5. 使用 Docker Compose。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

515

2024.04.08

Golang 测试体系与代码质量保障:工程级可靠性建设
Golang 测试体系与代码质量保障:工程级可靠性建设

Go语言测试体系与代码质量保障聚焦于构建工程级可靠性系统。本专题深入解析Go的测试工具链(如go test)、单元测试、集成测试及端到端测试实践,结合代码覆盖率分析、静态代码扫描(如go vet)和动态分析工具,建立全链路质量监控机制。通过自动化测试框架、持续集成(CI)流水线配置及代码审查规范,实现测试用例管理、缺陷追踪与质量门禁控制,确保代码健壮性与可维护性,为高可靠性工程系统提供质量保障。

45

2026.02.28

热门下载

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

精品课程

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

共48课时 | 10万人学习

Git 教程
Git 教程

共21课时 | 4万人学习

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

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