(1)简介
/etc/hosts记录主机名、域名与ip地址的对应关系, hosts —— the static table lookup for host name(主机名查询静态表)。 hosts文件是Linux系统上一个负责ip地址与域名快速解析的文件,以ascii格式保存在/etc/目录下。hosts文件包含了ip地址与主机名之间的映射,还包括主机的别名。在没有域名解析服务器的情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的ip地址,否则就需要使用dns服务程序来解决。通过可以将常用的域名和ip地址映射加入到hosts文件中,实现快速方便的访问。
优先级 : dns缓存 > hosts > dns服务
(2)配置文件格式
一般/etc/hosts的内容一般有如下类似内容:
网络IP地址 主机名.域名 主机名别名
127.0.0.1 localhost.localdomain localhost
220.181.6.184 baidu abcd
有上表可知http://220.181.6.184 ,http://baidu, http://abcd均访问统一网址;127.0.0.1 是回环地址,当们不想让局域网其它机器看到我们测试的网络程序,就可以用回环地址来测试。
(3)主机名(hostname)和域名(Domain)的区别:
TCP/IP网络上进行IP地址与域名转换有以下方法:DNS服务器, /etc/hosts文件配置;主机名通常在局域网内使用,通过hosts文件,主机名就被解析到对应ip;域名通常在internet上使用,但如果本机不想使用internet上的DNS域名解析,这时就可以更改hosts文件,加入自己的域名解析(如上面例子2)。
(4)hosts文件可以帮助解决哪些问题
1)登录linux主机过慢问题
有时候客户端想要远程登录一台linux主机,但每次登录输入密码后都会等很长一段时间才会进入,这是因为linux主机在返回信息时需要解析IP,如果在linux主机的hosts文件事先就加入客户端的IP地址,这时再从客户端远程登录linux就会很快。
2)互联
当两台主机只是双机互连时,这时两台主机都需要设置自己的ip,同时在对方的hosts文件里加入自己的ip和主机名。