怎么在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文件里面做泛域名解析的主要内容,如果未能解决你的问题,请参考以下文章

请教godaddy的泛域名和MX解析问题

如何用hosts与dns实现局域网泛域名解析?

怎么对网站进行本地域名解析 HOSTS文件如何删除

什么是泛解析呢?我想弄个二级域名,就得先弄什么泛解析的,急!

Nginx泛域名解析实现二级域名多域名

apache(或httpd)怎么设置泛域名解析呢?