服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - Linux 中 /etc/hosts 文件的用途是什么?

Linux 中 /etc/hosts 文件的用途是什么?

2022-11-16 20:50TIAP Linux

Linux 或任何其他操作系统中的 /etc/hosts 文件用于映射IP地址和域名。这是一个很一般的答案,对吧?本文将更加深入的了解一些关于该文件的用途。

Linux 中 /etc/hosts 文件的用途是什么?

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

Linux 中 /etc/hosts 文件的用途是什么?

然后编辑 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 时,显示如下:

Linux 中 /etc/hosts 文件的用途是什么?

使用 /etc/hosts 文件创建网站快捷方式

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

$ ping -c1 linuxhandbook.com

Linux 中 /etc/hosts 文件的用途是什么?

然后修改 hosts 文件:

$ sudo vim /etc/hosts

做如下更改:

Linux 中 /etc/hosts 文件的用途是什么?

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

Linux 中 /etc/hosts 文件的用途是什么?

通过上图可以看到,访问原域名与快捷方式的域名完全一样。

原文地址:https://mp.weixin.qq.com/s/aDdX3hxe-ch9pMEpFIj5ww

延伸 · 阅读

精彩推荐
  • Linux在Linux下确定网卡所使用驱动程序的方法

    在Linux下确定网卡所使用驱动程序的方法

    最近一些朋友问小编在Linux下如何确定网卡所使用驱动程序?今天小编要为大家带来的是在Linux下确定网卡所使用驱动程序的方法,希望对大家会有帮助,有...

    Linux之家6132019-05-30
  • LinuxLinux中crontab定时任务不执行的原因

    Linux中crontab定时任务不执行的原因

    本篇文章主要介绍了Linux中crontab定时任务不执行的原因,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    小草莓子桑8852022-03-02
  • Linux清除指定squid缓存文件的脚本代码分享

    清除指定squid缓存文件的脚本代码分享

    Squid web缓存加速软件目前已经是新浪、搜狐、网易等各大网站广泛应用。Squid会在设置的缓存目录下建立多个目录,每一个目录下又建立多个目录,然后才...

    Linux教程网10432021-04-10
  • Linux如何为FreeBSD系统安装字体

    如何为FreeBSD系统安装字体

    由于个人需要,系统自带的字体不够用,要另外添加一些字体,遇到这个问题该怎么办呢?下面为大家介绍下如何为FreeBSD系统安装字体 ...

    服务器之家4322019-10-15
  • LinuxAPUE笔记之:进程环境详解

    APUE笔记之:进程环境详解

    本篇文章是对APUE 进程环境详解进行了详细的分析介绍,需要的朋友参考下...

    Linux教程网2812020-12-03
  • Linuxlinux 服务器常用维护命令

    linux 服务器常用维护命令

    这里我会把网上看到的、自己平时用到的、和感兴趣的都整理出来,大部分采纳与网络分享的案例...

    未知3472019-05-20
  • Linuxlinux chroot命令详解

    linux chroot命令详解

    这篇文章主要介绍了linux chroot命令详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    sparkdev4022022-03-03
  • Linuxmac os apache 配置方法详细介绍

    mac os apache 配置方法详细介绍

    本文将详细介绍mac os apache 配置方法,需要的朋友可以作为参考 ...

    系统之家10652019-12-17