HOSTS
DNS 和 HOSTS
HOSTS是一个用于储存计算机网络中各节点信息的计算机文件,这个文件负责将主机名称映射到对应的 IP 地址。相当于将一些常用的网址域名与其对应的IP地址建立一个对应的关系。这样,当用户在浏览器中输入一个网址时,系统会优先从系统的HOSTS文件中寻找对应的IP地址,一旦找到,系统会直接打开对应网页,如果在HOSTS文件中没有找到,系统才会将该网址提交至DNS域名解析服务器,进行IP地址的解析,也就是说HOSTS的请求级别比DNS高。
HOSTS 的位置
XP 、Win7、Win8、Win10等系统HOST位于 C:\Windows\System32\drivers\etc中
Linux系统HOSTS位于 /etc/下
Android位于 /system/etc/HOSTS
iOS位于 /private/etc/HOSTS
HOSTS没有后缀名,文件为ASCII编码
HOSTS 编写规则
一般HOSTS里面都会有个示例,比如 127.0.0.1 51cto.com
即表示打开51cto.com这个网址将解析到127.0.0.1,127.0.0.1等同 localhost ,意为“本地主机”,
编写规则:
- 每条映射都应单独一行,IP在前,主机域名在后,
- IP和域名之间至少要有一个空格
- 在最后一行书写映射时一定要记得回车换行再保存,避免最后一行不生效
- 符号 # 之后为注释
HOSTS 的作用
- 加快域名解析
对于要经常访问的网站,我们可以通过在HOSTS文件中配置域名和IP的映射关系,省去DNS解析的过程,提高域名解析速度。首先通过 ping 网站域名获取网站IP:cmd.exe ping www.sogou.om
,在 HOSTS 加一条:111.202.100.49 www.sogou.om
,这样再访问搜狗时速度就会快一点了。
- 服务器便捷访问
在一此局域网中,会有一些公开服务器提供给用户使用。但由局域网中一般不会架设DNS服务器,而通过IP来访问又是一件相当麻烦的事。我们通过修改HOSTS,给这些服务器取个好记住的名字,并与其对应的IP建立映射,再访问时,便只需输入服务器的名字就行了。
- 屏蔽网站
现今很多网站会在不经用户同意的情况下,将各种各样的插件安装到用户的的计算机中,我们可以利用HOSTS,把某些网站的域名映射到一个错误的IP或本机IP上,这样该网站就被屏蔽掉了。例如:127.0.0.1 www.123456789.com
- 远程登录 linux 主机过慢问题
在云服务器普及的时代,拥有一台个人云服务器是一件很正常的事,但是每次登陆输入密码后都会等很长的时间才会进入。这其实是因为linux主机在返回信息的时候,OpenSSH需要验证IP,先根据客户端的IP地址使用反向DNS找到对应的主机名,再使用 DNS找到 IP 地址,最后匹配登录的 IP 是否合法。这样一来,就会导致客户端的登录过于缓慢。我们可以在linux主机的HOSTS文件中提前写入客户端的IP地址和客户端名称,这时,再从客户端远程登录时,就会变得很快了。
修改 HOSTS 后没有立即生效
在修改HOSTS文件时候,常常遇到修改保存后无效的情况,解决方法有下面几种
-
使用
ipconfig /flushDNS
命令刷新DNS缓存 -
停用 DNS Client 服务,修改HOSTS后再启动
-
打开本地连接的Internet(TCP/IP)协议的属性页,点击常规选项卡中的高级按钮,选择 WINS选项卡,勾选启用 LMHOSTS 查询,接着按下导入 LMHOSTS按钮,导入HOSTS文件,再次启动浏览器,就会发现HOSTS文件生效了。
注意:当你在打开浏览器的情况下修改HOSTS文件时,关闭浏览器时系统才会释放掉HOSTS文件占用的那部分内存,我们再次打开浏览器访问就发现已经生效了。