hosts 是用来定义机器的 IP 与主机名称。
hosts 您可以将它假想成是每台主机独用的 DNS,透过它您可以快速的查询到已定义过的主机名称所对映的 IP 地址。此定义档设定的格式如下┱
在上方表格中┱
?主机名称通常是使用完整的网域名称,也就是主机名称加上网域名称。
如┱www.mycorp.com
www 为主机名称;mycorp.com 为网域名称 (Domain name)
?别名 (alias) 可以随您任意命名,它是用来替代主机名称的。如果您想不出来或不想取别名,您可以省略这一部份。
?编号 1 是必需要的,通常是由系统依据您先前所给予的相关设定值,自动为您写入档案中的。
如果您发现 /etc/hosts 中没有 127.0.0.1 的对映设定,您需要手动加上。别名的部份请勿省略,因为在管理测试上您将会时常用到。
?编号 4 的设定,虽然不会造成任何错误,但是它是不好的设定格式,因为您可能在日后会忘记这个 IP 的正确网域名称。
?您可以将这台主机常会连结的远程主机的 IP 地址与网域名称给编进来,这样可以省下前往 DNS 查询的时间,加速联机。
?请将最常连结的远程主机放置于档案的前面,因为它是由档案的最前面逐行搜寻而下。
?基于上一项叙述,如果您的别名有取相同名称的话,排在后面的将会被忽略掉。所以千万不要有相同别名的情况出现。
在来,您需要了解一个与 hosts 稍微有点关联的档案,它的名字叫 hosts.conf,完整的路径名称为 /etc/hosts.conf
这个档案是用来告诉系统当要查询 hostname 所对映的 IP 时,它应该要查询的顺序。
这个档案的内容如下,您只需按照需求改变查询的顺序即可;不过通常是无需去改变的。
如同 hosts 一样,整个查询的顺序是由上而下;也就是说摆在最上面的先查询,查询不到再由下面的来查询。
?hosts 向 /etc/hosts 档案中查询
?bind 向网域名称服务器 (Domain Name Server = DNS) 查询
?nis 向 NIS/YP server 查询
如果您的主机是 NIS/YP client,您应该将 nis 的批注符号 # 去除,并移到最上面,以获取较快的联机时间。
另外,您还需了解另一与 hosts 算的上是远房亲戚的档案,它的名字叫 resolv.conf,完整的路径名称为 /etc/resolv.conf
它用来设定您的主机名称、网域名称服务器地址与网域搜寻的顺序。
全部只有三个参数,参数与其设定值间请按 TAB 键或空格键来做间隔;若设定值不只一个,请按空格键来做间隔。
各参数的解说如下┱
如果将三个档案整合起来看的话,我们用例子来说明好了。
假如您在浏?器上输入 http://hinet 的话,系统会先查询 /etc/hosts 中有无主机名称『hinet』的 IP,如果有的话,就直接取用它的 IP 地址。如果没有的话,就会查看 /etc/resolv.conf 档案 search 参数中设定的网域,并将其加在 hinet 之后,再向 /etc/resolv.conf 档案 nameserver 参数中设定的主机 (168.95.1.1) 查询 hinet.hinet.net 这个主机名称所对映的 IP,如果找不到对映的 IP,就换查询 hinet.nctu.edu.tw 这个主机名称所对映的 IP,直到 search 的网域设定都找光了还是没有,就会放弃。
搜寻这个功能虽然可以减少您的打字数,但是却不是很容易习惯它,所以除非您确定您需要它,不然还是不要设定的好,以免发生无法连上目的主机时,常因忘了有设定 search 的功能,而侦错了老半天。