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文件的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段2——.vue文件的模板

从 Host Activity 向 Fragments 发送位置更新

在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途

代码片段 PHP,预期文件结尾,我错在哪里?

代码适用于与单个 html 文件不同的堆栈片段