编辑hosts文件时常见的错误
最常见的问题是没有以管理员(或root)权限打开编辑器就尝试保存,有些编辑器会静默保存失败,有些则会直接报权限错误——所以第一步一定要确认编辑器是以提权方式启动的。另一个常见错误是在已有的行中不小心留下了错字或多余的域名,这可能会意外屏蔽或重定向你原本无意影响的网站,因此建议检查整个文件而不只是新增的那一行。把域名写在IP地址前面,这一行同样会被忽略。
如何撤销修改
如果新增的条目引发了意外问题,可以直接删除你添加的那一行,或者在大多数系统上恢复为默认的hosts文件内容(通常只有寥寥几行关于loopback和localhost的记录)并保存。在第一次编辑前先备份一份原始文件,遇到问题时就能很方便地恢复。
hosts文件不适用的场合
hosts文件只对它所在的这台电脑有效。如果希望整个家庭网络里的设备都采用同样的行为,使用支持本地DNS记录的路由器或全网络的DNS过滤会更合适。条目超过几十条后,管理也会变得困难。另一方面,它很适合在网站迁移到新服务器后做测试:只在自己的电脑上把正式域名指向新服务器的IP,测试完再删除这一行。用完一定要删,否则旧条目会让你悄悄地继续连向可能日后被关停的服务器。
安全方面的提醒
因为这个文件优先于DNS,能编辑它的人就能悄悄改变你的流量去向。请保持默认权限,不要以管理员身份运行来路不明的脚本,对来源不明的长列表条目也要谨慎。有些系统和安全软件会在文件被修改时提醒你,如果这不是你自己改的,这就是一个有用的信号。
常见问题
为什么编辑hosts文件后好像没有生效?
最常见的原因是没有以管理员(或root)权限打开编辑器,导致保存静默失败。另外也要检查浏览器或操作系统是否仍在使用修改前缓存的DNS结果,重启浏览器或清除DNS缓存通常可以解决这个问题。
用hosts文件屏蔽广告安全吗?
这是一种被广泛使用的常见方法,但手动维护大量广告域名条目会随着时间推移变得繁琐,偶尔还可能连带影响到与该域名共享服务器的其他无关服务。如果需要更彻底的广告屏蔽,专门的广告屏蔽扩展或基于DNS的屏蔽工具通常更容易维护。
编辑hosts文件后需要重启电脑吗?
通常不需要。修改会在下一次解析时被读取,关闭并重新打开浏览器、清除DNS缓存一般就足够了。
手机上能用hosts文件吗?
一般方式不行。手机默认锁定系统文件,要编辑需要获取root或越狱,会带来安全风险。基于DNS的屏蔽应用或本地DNS设置是更安全的做法。
已经屏蔽了,为什么网站还能打开?
请检查是否有缓存的解析结果、同一网站的其他IPv6地址、浏览器自己的安全DNS设置,或域名写错了。也可以重新打开文件,确认已经保存成功。