HOSTS对于需要设置的人应该都知道为何用,主要就是在本地建立一个域名/ip映射,而不需要再去找上层的DNS服务器去进行解析。Windows下的文件的具体地址:C:\Windows\System32\drivers\etc\hosts。
直接就能建立链接操作,进行相关信息的发送。
它可以完成类似于域名解析的工作,比如:希望192.168.20.1具有域名iteye.bijian.com,那么增加上面框红的那一行就可以了,修改完立即生效。
作用其实比较多,如可以用来解决svn库的IP地址可能发生变化的情况下。配置hosts文件,然后用域名访问即可,到时候如果svn库的IP变化,只需要修改hosts中的ip地址即可,不需要重定位svn视图,如果svn视图较多时,它更加有用。
而某些情况下我们可能设置了HOSTS后不能生效,这里总结一下工作中遇到问题和解决的方法:
1.双系统的机器
设置hosts后不生效的原因主要是:设置的hosts不是当前操作系统的hosts,比如当前系统装在D盘,而修改hosts修改在了C盘的。查看当前系统安装在哪个盘的最简单方法就是开一个cmd命令行,其初始的提示符路径的磁盘就是当前系统盘:如C:\Documents and Settings\sina>, 那么C盘就是当前系统盘。或者用set命令查看系统的环境变量。
2.由于本地DNS的缓冲
因为hosts是一个本地的dns解析服务,所以在本地有一个专门的dns client服务在后台运行,而这个服务会有一个缓存机制,所以有时可能不能及时生效。这是可以通过刷新dns缓存或手动重启dns client服务来解决。刷新命令为:ipconfig /flushdns。 手动重启dns client 服务器的方法为:cmd--》services.msc--》找到dns cilent 服务-》停止--》重启
3.由于文本格式原因导致格式不正确
hosts文件中是有一定格式的,即单行一个dns的ip地址映射,可以一个ip对应多个域名,每行的ip和域名之间至少有一个空格或TAB键。通常我们直接输入都是正确的,而当我们复制粘贴进来的文本时,有时会不生效。这就是因为换行符的问题导致的,因为你从其它终端复制过来的内容换行格式可能与windows的换行符不一样,那这样就不会生效了。
解决办法:自己手动填写,或通过文本编辑器进行自动转换。如:editplus