文章目录

  • 1、介绍
  • 2、文件格式


1、介绍

hosts文件是linux系统中负责ip地址与域名快速解析的文件,the static table lookup for host name(主机名查询静态表)。以ASCII格式保存在/etc目录下,文件名为hosts,不同的linux版本,文件也可能不同。

hosts文件包含了ip地址和主机名之间的映射,包括主机名的别名,在没有域名服务器的情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的ip地址,否则就需要使用DNS服务程序来解决。通常可以将常用的域名和ip地址映射加入到hosts文件中,实现快速方便的访问。

优先级:dns缓存>hosts>dns服务

2、文件格式

hosts文件可以配置主机ip与对应的主机名,在局域网或者internet上,每台主机都有自己的ip地址,它区分开每台主机,并且可以通过ip地址进行通讯。但是ip地址不方便记忆,所以出现了域名(比如www.baidu.com)。在一个局域网中,每台机器都有一个主机名,用于区分主机,便于相互访问

查看linux中的hosts文件

victory@ubuntu:~$ cat /etc/hosts
127.0.0.1	localhost
127.0.1.1	ubuntu

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

一般情况下hosts文件的每行描述一个映射关系,每行由三部分组成,每个部分由空格隔开,格式如下

ip地址 主机名/域名 (主机别名)

第一部分:网络ip地址
第二部分:主机名或域名
第三部分:主机别名

当然每行也可以是两部分,即网络ip地址和主机名。主机名(hostname)和域名(Domain)的区别在于,主机名通常在局域网内使用,通过hosts文件,主机名就被解析到对应ip。域名通常在internet上使用,但如果本机不想使用internet上的域名解析,这时就可以更改hosts文件,加入自己的域名解析。

通过这个文件可以看到哪些域名对应哪些ip,哪些主机名对应哪些ip,通常情况下这个文件首先记录了本机的ip和主机名。这也就是为什么我们可以使用localhost代表本机。

该文件修改后立即生效。