修改hosts文件无效?附解决办法

 

很多朋友可能碰到了这样的问题,用来屏蔽某些恶意网址的时候,修改了hosts 文件,但是却总是不生效。上网搜索了一下,Windows7系统、Vista系统、XP系统都碰到了此类情况,看来问题还很普遍。今天特别附上一则解决办法,未必通杀,但确实是解决了很多这种情况下的问题。

解决这个问题之前,我们先来简略谈下hosts文件,很多新手朋友可能还不了解,网络反黑文件,就是通过修改hosts文件来实现对恶意网址的屏蔽甚至转向的。

简单的说,hosts文件是用于本地dns服务的,采用如下格式写在一个文本文件当中

ip 域名

Windows系统上一般存放在系统盘的\windows\system32\drivers\etc\目录下,本地主机一般都被定义为:

127.0.0.1 locahost

根据微软的相关文档,hosts文件必须是ascii编码方式也就是ANSI方式,如果你存为unicode格式将不会被正确读取,不过在win 7中似乎转而使用UTF-8了(不过我现在用的win 7 sp1仍然不认unicode的)。

回到今天的主话题,修改hosts将域名指向新的ip是总是无法生效,试过很多办法,问题却依然存在,于是上微软的网站寻找答案,最终发现一个“DNS Client ” 服务的问题,“DNS CLient ”服务是缓存dns用的,所以说修改了hosts的文件是不能马上生效的,需要一段时间的延时,通常可以用ipconfig /flushdns来刷新dns缓存,但这个方法似乎没有什么效果,于是干脆打开控制面板–管理工具–服务,在其中找到“DNS Client ”将其停用并改为手动模式。

于是问题就解决了,hosts文件随时修改随时生效。注意,本文说的无效,是指的设置后无效,不是指的没有权限修改hosts。

 

FROM: http://www.beeseed.cn/win7-dns/

当你在麒麟操作系统(Ubuntu的中国版本)中修改了`/etc/hosts`文件后,可能会遇到某些网站无法访问的情况。这是因为`hosts`文件是用来将域名映射到IP地址的,如果误删或添加了错误的条目,可能导致DNS解析出现问题。以下是解决这个问题的步骤: 1. **检查hosts文件**: 确认是否误删了必要的条目,比如原本用于指向互联网的“localhost”(127.0.0.1)或其他正确的公共DNS服务器地址。 2. **恢复默认设置**: 使用命令行恢复系统默认的`hosts`配置,可以尝试删除所有自定义的条目,然后重启计算机。命令通常像这样: ``` sudo nano /etc/hosts (在文件顶部注释掉所有的自定义行,保存并退出) sudo service networking restart ``` 3. **检查网络连接**: 确保网络连接正常,可以试着ping一个已知的网站验证能否上网。 4. **手动添加正确条目**: 如果需要添加特定的URL到`hosts`文件,确保格式正确,例如: ``` 8.8.8.8 www.google.com ``` 其中8.8.8.8是Google DNS服务器地址,www.google.com是要映射的域名。 5. **清理缓存**: 清除本地DNS缓存可能有助于解决问题,可以在终端输入: ``` sudo ipconfig /flushdns ``` 6. **排查DNS问题**: 如果以上步骤无效,可能是DNS服务器本身有问题,你可以试试更换其他DNS服务提供商,如阿里云DNS等。 如果你仍然无法访问某个特定网站,可能是该网站自身的问题或者防火墙限制,这时应确认网络配置和安全策略是否有异常。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值