hosts文件
Posted kelamoyujuzhen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hosts文件相关的知识,希望对你有一定的参考价值。
注:在没有特殊说明Windows还是Linux的时候,默认2中平台都一样。
简而言之,hosts文件是一个所有OS用来解析 域名/主机名到IP地址映射 文本文件。举个例子,你在浏览器里面键入www.baidu.com,你的OS总会优先查找hosts文件,当这个文件中没有www.baidu.com对应的条目时,才会寻求DNS server帮助。在Linux系统中,hosts文件在/etc/hosts;DNS server在/etc/resolv.conf。以RedHat为例,网卡配置文件在/etc/sysconfig/network-scripts,网卡配置文件一般为ifcfg-eth#,这里面会显示DNS#=X.X.X.X,#代表数字1,2....视/etc/resolv.conf中有几个DNS server而定,X.X.X.X就是/etc/resolv.conf中DNS server的IP。其实完全可以删除ifcfg-eth#中的DNS#=X.X.X.X内容,此时使用/etc/resolv.conf。对于DHCP方式获取的IP,DHCP server会告诉他的客户端使用那个DNS server。
使用hosts文件,可以做很多DNS server做不了的事。
①aliases for locations on your local network, which is otherwise only possible if you have a DNS server set up within your local network
②屏蔽erver可以正常解析的域名。
eg: 在hosts文件中添加一条 127.0.0.1 taobao.com,这样双十一能帮你省不少钱。
eg:将那些广告的domain指向127.0.0.1可以达到屏蔽广告目的,加快浏览器加载速度。
在Linux下,hosts文件可以使用vi这样的编辑器编辑,还有一款图形界面编辑器Domain Blocker,他的功能很简单,就是在hosts文件中将你添加的domain指向127.0.0.1以达到屏蔽指定domain的目的。
潜在问题
前面举个屏蔽淘宝的例子,但是在Chrome浏览器中这种做法很可能不起作用,因为Chrome往往会跳过hosts文件,直接找DNS server。通过如下两种手段可以解决:
①输入完整URL http://www.taobao.com而不是taobao.com
②取消勾选“Use a web service to help resolve navigation errors”,这样你就不需要输入完整URL了,直接键入taobao.com即可。
以我实验环境上的hosts文件为例
[[email protected] network-scripts]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1用于支持IPv4的主机,或者FQDN主机
::1用于支持IPv6的主机
有的时候hosts文件也会在本地换回IP后面跟上自身主机名
[[email protected] network-scripts]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 51cto.cac.com ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 51cto.cac.com
这种做法,是考虑到某些关键服务的兼容性。因为有些服务在解析自身主机名出错时可能无法正常工作。参考:Should /etc/hosts contain an entry like ‘127.0.0.1 localhost myhost.example.org myhost‘?
localhost localhost.localdomain localhost4 localhost4.localdomain4 51cto.cac.com 这些可以理解成对应127.0.0.1的各种别名。
以上是关于hosts文件的主要内容,如果未能解决你的问题,请参考以下文章
从 Host Activity 向 Fragments 发送位置更新
在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途