

Linux 中 /etc/hosts 文件的用途是什么?
source link: https://www.51cto.com/article/722779.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.


Linux 或任何其他操作系统中的 /etc/hosts 文件用于映射IP地址和域名。
这是一个很一般的答案,对吧?本文将更加深入的了解一些关于该文件的用途。
Linux 中的 /etc/hosts 文件是什么
在联网的早期,/etc/hosts 文件被用来将 IP 地址(比如:8.8.8.8)转换为人类可读的形式(比如:www.google.com),随着时间的推移,该功能不再被需要。现在,解析域名的整个过程都是通过 DNS(域名系统)完成的。
既然如此,我们为什么还需要保留这个文件呢? 目前,hosts 文件虽然很少但仍在部分情况下被使用到:
- 当你想阻止某网站时;
- 当DNS被破坏时,它可以用作备份;
- 也可以将其用作本地DNS服务器。
此外我们还可以想到的许多其他任务,例如阻止广告、加固本地防火墙,以及许多其他涉及 IP 和 DNS 使用的任务等。
下面我们通过例子来介绍一下关于 /etc/hosts 文件的几个实际用途。
使用/etc/hosts文件重定向URL
hosts 文件需要两个组件才能工作:域名和 IP。
所以接下来(作为演示的例子,我们使用百度的地址),我们要做的是使用百度的DNS,并将其重定向到百度的IP。 首先我们来使用 ping 命令来获取百度的 IP 地址:
$ ping -c1 www.baidu.com
ping www.baidu.com (180.101.49.14) 56(84) bytes of data.
64 bytes from 180.101.49.14 (180.101.49.14): icmp_seq=1 ttl=58 time=8.98ms
...
现在,我们打开 hosts 文件(在我们的例子中我们使用 vim 编辑器):
$ sudo vim /etc/hosts
127.0.0.1 localhost
::1 localhost
180.101.49.14 tiap.com
180.101.49.14 www.tiap.com
上面例子中,最后两行是我们新添加的。
那现在当我在 ping www.tiap.com 的时候,它就会被重定向到百度的 IP:
$ ping -c1 www.tiap.com
ping www.baidu.com (180.101.49.14) 56(84) bytes of data.
64 bytes from 180.101.49.14 (180.101.49.14): icmp_seq=1 ttl=58 time=8.98ms
...
你可以使用此方法将网站从一台服务器迁移到另一台服务器。在实际将网站的DNS更改为新服务器之前,需要在新服务器上进行所有更改,该服务器可以通过系统上的域名进行访问。
使用 /etc/hosts 文件阻止不需要的网站
接下来我们要做的,是将本地 IP 地址分配给不想再访问的站点。 比如,我们想要屏蔽 Facebook。首先 ping 一下 Facebook,以检验正常情况下是可以访问的(国内访问需要FQ):
ping -c1 facebook.com

然后编辑 hosts 文件:
$ sudo vim /etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.0.1 facebook.com
127.0.0.1 www.facebook.com
当我们再次访问 Facebook 时,显示如下:

使用 /etc/hosts 文件创建网站快捷方式
如果一个网站的域名比较长,我们可以为其取一个简短的名称,作为其快捷方式在本机使用。比如,我们为 Linuxhandbook 创建一个名为 lhb.com 的快捷方式。 首先,需要获取 linuxhandbook 的 IP地址:
$ ping -c1 linuxhandbook.com

然后修改 hosts 文件:
$ sudo vim /etc/hosts
做如下更改:

完成之后,可以 ping 一下快捷方式:

通过上图可以看到,访问原域名与快捷方式的域名完全一样。
Recommend
-
8
Common pronunciations of Linux directories, commands, etc Rob Administrator Staff member Over the course of the...
-
10
TCP SOCKET中backlog参数的用途是什么? 在前年时,业务中遇到好多次因为PHP-FPM的backlog参数引发的性能问题,一直想去详细研究一番,还特意在2013年总结里提到这事《为何PHP5.5.6中f...
-
4
1、不完全类型的概念 ISO(国际标准化组织(International Standard Organizat...
-
4
一周必读10篇 | 什么是DAO 它的用途是什么? 金色荐读 刚刚 1.发改委、央行等连发通知整治挖矿及虚拟货币交易炒作 加密市场应声下跌
-
5
How to change /etc/hosts It’s useful to change /etc/hosts, especially with protections requesting online keys. After editing /etc/hosts you need to refresh OS X NetInfo Database. Just run the followin...
-
7
linux 系统中 /etc/passwd 和 /etc/shadow文件详解 Posted on Jan 19, 2017 By yaof 在linux操作系统中,...
-
11
等离子发生器 2021/11/02 15:37 作者:张敏轩 阅读需 3 分钟 加入交流群
-
8
Linux /...
-
4
Linux /...
-
4
半导体分立器件,泛指半导体晶体二极管、半导体三极管简称三极管、三极管及半导体特殊器件。 1.半导体分立器件是什么意思 电子产品根据其导电性能分为"导...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK