傲来云 发表于 2025-12-16 16:04:31

一文搞懂hosts是干嘛的、怎么用

在运维排障中,经常会听到一句话:先改下 hosts 看看。很多新手对 hosts 又熟又陌生:见过它,但不知道什么时候该用、能干嘛、会不会有风险。这篇文章用运维视角,带你系统认识 hosts 文件。

一、hosts 是什么?
hosts 是一个本地的域名解析文件,用来把“域名”直接指向“IP 地址”。
简单理解:hosts = 人工指定的 DNS 解析规则

系统在访问域名时,解析顺序通常是:
hosts → DNS 服务器也就是说:只要 hosts 里写了规则,就会优先使用,不会再去查 DNS。

二、hosts 文件在哪里?
Linux / macOS
/etc/hostsWindows
C:\Windows\System32\drivers\etc\hosts修改 hosts 通常需要管理员/root 权限。

三、hosts 的基本格式
最常见的一行:
IP地址    域名示例:
127.0.0.1   localhost
192.168.1.10test.example.com一个 IP 可以对应多个域名
注释用 #

四、hosts 在运维中能干什么?
1. 测试新服务器 / 新站点(非常常用)在不改 DNS 的情况下,把域名临时指向新服务器:
1.2.3.4www.example.com只有你自己的电脑生效,外网用户不受影响。

2. 排查 DNS 问题
如果 hosts 指向 IP 可以访问,不写 hosts 就访问不了那问题 90% 在 DNS 或 CDN。

3. 绕过 CDN / 负载均衡排查源站
把域名直接指向源站 IP:
源站IPwww.example.com可以快速判断是源站问题,还是 CDN 节点问题。

4. 临时屏蔽某些域名
常见用法:
127.0.0.1ads.example.com让广告域名无法访问。

五、使用 hosts 时的注意事项(重点)
1. 记得改完要恢复
忘记删除 hosts 是新手最常见的坑之一。

2. hosts 只对本机生效
改你电脑的 hosts,服务器、其他人完全不受影响。

3. hosts 不适合长期使用
它是临时方案,不是正式部署方式。

4. 注意缓存问题
部分系统/浏览器有 DNS 缓存,修改后可:
ipconfig /flushdns   (Windows)
systemd-resolve --flush-caches(Linux)
七、一个运维常用的 hosts 示例
# 本地测试
192.168.10.10 test.example.com

# 绕 CDN 直连源站
1.2.3.4 www.example.com

# 屏蔽广告
127.0.0.1 ads.example.com
八、一句话总结
hosts 是运维排障的“临时利器”,不是长期方案。会用 hosts,很多 DNS、CDN、上线问题都能快速定位。

页: [1]
查看完整版本: 一文搞懂hosts是干嘛的、怎么用