怎么在hosts文件里面做泛域名解析
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么在hosts文件里面做泛域名解析相关的知识,希望对你有一定的参考价值。
一、泛域名,也叫根域名,例如baidu.com,带www的www.baidu.com已经不是根域名,是二级域名。
二、在hosts文件里面做泛域名解析,其文本格式为:
ip地址 泛域名
例如:
127.0.0.1 abc.com
注意:IP与域名之间是空格符,也可以是tab符。
三、hosts文件位置
A.在Windows系统中,hosts文件位于以下路径:
C:\\Windows\\System32\\drivers\\etc\\hosts
一般用户要修改此文件,需要编辑一下文件权限,步骤如下:
1.对hosts文件点右键
2.打开属性,编辑当前用户的安全选项
3.打上勾,允许完全控制,然后确定。这样hosts文件就能编辑了。
B.在Linux系统中,hosts文件路径为:
/etc/hosts
使用sudo vim /etc/hosts命令来修改
四、修改hosts文件与域名解析的区别
1.hosts文件属于本地计算机系统的域名解析,注意哦,仅限于单机,不能影响广域公共解析
2.域名解析,通常是指广域公共解析,非单机解析,要做域名解析,需要到域名购买商的后台去操作了。
参考技术A 记忆中不行的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文件里面做泛域名解析的主要内容,如果未能解决你的问题,请参考以下文章