hosts文件如何添加域名记录?修改后不生效怎么办?
hosts 域名记录
hosts 文件是操作系统中的一个纯文本文件,用于将域名(如 www.example.com)映射到对应的 IP 地址(如 93.184.216.34),它是最早的域名解析方式之一,在 DNS(域名系统)普及之前,计算机通过查询 hosts 文件来获取域名对应的 IP 地址,尽管如今 DNS 已成为主流的域名解析机制,hosts 文件因其灵活性和本地优先的特性,仍在网络管理、开发测试和安全防护等领域发挥着重要作用。

hosts 文件的工作原理
hosts 文件的核心功能是建立“域名-IP 地址”的静态映射关系,当用户在浏览器中输入一个网址时,操作系统会首先检查 hosts 文件中是否存在该域名对应的记录,如果找到匹配项,系统会直接使用 hosts 文件中指定的 IP 地址访问目标资源;如果未找到,才会将解析请求转发给 DNS 服务器进行查询。
这种“本地优先”的机制使得 hosts 文件的优先级高于 DNS 服务器,若在 hosts 文件中添加 0.0.1 localhost,则无论网络中是否存在名为“localhost”的其他服务器,本地系统都会将“localhost”解析为回环地址 127.0.0.1。
hosts 文件的位置与格式
不同操作系统的 hosts 文件存储位置不同,但文件格式基本一致:
- Windows 系统:路径为
C:\Windows\System32\drivers\etc\hosts,默认为只读文件,需管理员权限修改。 - macOS/Linux 系统:路径为
/etc/hosts,需 root 权限编辑。
hosts 文件的每行记录通常包含两部分:IP 地址和域名,中间用空格或制表符分隔,注释行以 开头,不会被系统解析。
# 本地开发环境映射
127.0.0.1 localhost
192.168.1.100 dev-server.example.com
hosts 文件的核心作用
-
本地开发与测试
在 Web 开发中,开发者常通过 hosts 文件将域名指向本地服务器(如 127.0.0.1),以便在开发环境中模拟真实网站的访问,将api.example.com映射到本地开发服务器的 IP 地址,可避免跨域问题,同时测试接口功能。
-
屏蔽广告与恶意网站
通过将广告域名或恶意网站的 IP 地址映射为无效地址(如 127.0.0.1 或0.0.0),可阻止用户访问这些网站,添加0.0.0 ads.example.com后,浏览器将无法加载该广告域名的内容。 -
网络故障排查
当域名解析异常时,可通过修改 hosts 文件临时将域名指向正确的 IP 地址,以排除 DNS 解析问题,若某网站无法访问,可在 hosts 文件中手动添加其域名与 IP 的映射,判断是否为 DNS 服务器故障。 -
访问内网或测试环境
在企业网络中,内网服务器可能无法通过公网域名访问,通过 hosts 文件将内网域名映射到服务器的局域网 IP 地址,可方便地访问内部资源,如intranet.company.com 192.168.0.50。
hosts 文件的常见问题与解决方案
-
修改后不生效
- 原因:浏览器或系统缓存了 DNS 解析结果;文件未正确保存(如 Windows 系统中未解除只读权限)。
- 解决方法:
- 清除浏览器 DNS 缓存(如 Chrome 可通过
chrome://net-internals/#dns清除)。 - 在 Windows 命令提示符中执行
ipconfig /flushdns刷新 DNS 缓存;在 Linux/macOS 中执行sudo killall -HUP mDNSResponder(macOS)或sudo systemctl restart nscd(Linux)。 - 确认文件权限:Windows 中右键 hosts 文件 → “属性” → 取消“只读”;Linux/macOS 中使用
chmod 644 /etc/hosts赋予读写权限。
- 清除浏览器 DNS 缓存(如 Chrome 可通过
-
IP 地址冲突

- 原因:hosts 文件中存在重复的域名映射,或 IP 地址与实际网络中的设备冲突。
- 解决方法:检查文件中是否有重复的域名记录,确保 IP 地址与目标服务器的实际地址一致。
-
格式错误
- 原因:IP 地址与域名之间缺少分隔符(如空格或制表符),或使用了特殊字符。
- 解决方法:确保每行记录格式为
IP 地址 域名,避免多余字符。
hosts 文件与 DNS 的关系
hosts 文件与 DNS 共同完成域名解析,但二者存在本质区别:
| 对比项 | hosts 文件 | DNS 系统 |
|---|---|---|
| 类型 | 本地静态映射文件 | 分布式域名解析系统 |
| 优先级 | 高(本地查询优先) | 低(仅在 hosts 文件无记录时查询) |
| 维护方式 | 手动编辑,需管理员权限 | 自动更新,由域名注册商和 DNS 服务器管理 |
| 适用场景 | 本地开发、测试、广告屏蔽等小规模映射 | 公网域名解析,支持大规模并发访问 |
hosts 文件的静态特性使其适合小规模、固定的映射需求,而 DNS 的分布式架构则能满足全球范围内的动态域名解析需求。
hosts 文件的注意事项
- 谨慎修改:错误的映射可能导致网站无法访问、网络连接异常等问题,修改前建议备份原文件。
- 避免滥用:频繁修改或添加大量映射可能影响系统性能,且难以维护。
- 安全防护:确保 hosts 文件未被恶意篡改(如被添加钓鱼网站映射),可通过杀毒软件定期扫描,或检查文件哈希值是否异常。
- 权限管理:限制普通用户对 hosts 文件的编辑权限,防止非授权修改。
hosts 文件作为一项经典的技术,虽然已不再是域名解析的主流方式,但其灵活、可控的特性使其在特定场景下不可替代,无论是开发者调试环境、用户屏蔽广告,还是管理员排查网络故障,hosts 文件都提供了一种简单高效的解决方案,理解其工作原理、掌握正确使用方法,并注意维护安全,才能充分发挥这一工具的价值,同时避免潜在风险,在复杂的网络环境中,hosts 文件与 DNS 系统的协同工作,共同保障了互联网访问的便捷性与稳定性。