Hosts - The static table lookup for host name (主机名查询静态表)
hosts 文件是 Linux 系统中一个负责 IP 地址与域名快速解析的文件,以 ASCII 格式保存在 /etc 目录下,文件名为 hosts (不同的 Linux 版本,这个配置文件也可能不同.比如 Debian 的对应文件是 /etc/hostname) hosts 文件包含了 IP 地址和主机名之间的映射,还包括主机名的别名.在没有域名服务器的情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的 IP 地址,否则就需要使用 DNS 服务程序来解决.通常可以将常用的域名和 IP 地址映射加入到 hosts 文件中,实现快速方便的访问.
2、hosts 配置文件
这个文件可以配置主机 IP 及对应的主机名,对于服务器类型的 Linux 系统其作用还是不可忽略的,在局域网或是 Internet 上每台主机都有一个 IP 地址,它区分开每台主机,并可以根据 IP 进行通讯,但 IP 地址不方便记忆,所以就有了域名/主机名.
Linux 主机名的相关配置文件就是 /etc/hosts ;这个文件告诉本主机哪些域名对应那些 IP,哪些主机名对应哪些 IP
比如文件中有这样的定义
192.168.1.100 linumu100 test100
假设 192.168.1.100 是一台网站服务器,在网页中输入 http://linumu100 或 http://test100 就会打开 http://192.168.1.100 的网页.
通常情况下这个文件首先记录了本机的 IP 和主机名
127.0.0.1 localhost.localdomain localhost
3、配置文件格式说明
一般 /etc/hosts 的内容一般有如下类似内容
127.0.0.1 localhost.localdomain localhost
192.168.1.100 linmu100.com linmu100
192.168.1.120 ftpserver ftp120
一般情况下 hosts 文件的每行为一个主机,每行由三部份组成,每个部份由空格隔开.其中 # 号开头的行是注释,做说明使用的,它不会被系统解释.
hosts 文件的格式如下
IP地址 主机名/域名 主机名别名
第一部份:网络 IP 地址
第二部份:主机名或域名
第三部份:主机名别名
当然每行也可以是两部份,即主机 IP 地址和主机名,比如
192.168.1.100 linmu100
这里可以稍微解释一下主机名 (hostname) 和域名 (Domain) 的区别
主机名通常在局域网内使用,通过 hosts 文件,主机名就被解析到对应 IP;
域名通常在 Internet 上使用,但如果本机不想使用 Internet 上的域名解析,这时就可以更改 hosts 文件,加入自己的域名解析.
4、/hosts 文件可以帮助解决哪些问题
4.1 、远程登录 Linux 主机过慢问题
有时客户端想远程登录一台 Linux 主机,但每次登录输入密码后都会等很长一段时间才会进入,这是因为 Linux 主机在返回信息时需要解析 IP,如果在 Linux 主机的 hosts 文件事先加入客户端的 IP 地址,这时再从客户端远程登录 Linux 就会变很快.
注:这里所说的远程登录不仅仅是 ssh,还可能是 mysql 远程登录,或是文件共享的查询等.
4.2 双机互连
当两台主机只是双机互连时,这时两台主机都需要设置自己的 IP,同时在对方的 hosts 文件里加入自己的 IP 和主机名