将 IP 数字转换为名称系方便记忆。实务上,IP 地址系用于辨识网络卡之类的网络接口设备。机器可能有多个网络卡,每个网络卡可能有多个接口,所以在网域名称系统里,一部电脑就可能有多个名称。
Linux 的名称解析机制是模块化的且可使用 /etc/nsswitch.conf
宣称的数据源。涉及主机名称解析的条目是 hosts
。默认情况下,它包括 files dns
,表示系统先参照 /etc/hosts
文件,再参照 DNS 服务器。NIS/NIS+ 或 LDAP 服务器是另一个来源选择。
DNS (网域名称服务) 是映射名称至 IP 地址的分布式分级服务,同时也反向映射。尤其是,把可阅读的名称,如 www.eyrolles.com
映射至实际的 IP 地址 213.244.11.247
。
必须先设置 DNS 服务器,才能用到 DNS 信息。Falcot 公司自设该服务器,但个人用户可能使用 ISP 提供的 DNS 服务器。
DNS 服务器的用法在 /etc/resolv.conf
内,每个一列,在 IP 地址前有 nameserver
关键词,如下:
nameserver 212.27.32.176
nameserver 212.27.32.177
nameserver 8.8.8.8
注意,当网络由 NetworkManager 管理或经由 DHCP 配置时,可以自动处理 (与覆写) /etc/resolv.conf
文件。或者当安装了 resolvconf 时,或者当启用了 systemd-resolved(8)时。
在本地网络没有名称服务器时,仍可以在保留给本地网络的 /etc/hosts
文件内,创建 IP 地址与主机名称的小型对照表。此文件的语法在 hosts(5) 中说明,极简单:每列一个固定 IP 地址,然后是相关的名称 (第一个是 “完全合格”,表示包括网域名称)。
即使网络停摆或 DNS 服务器不通仍可使用此文件,但只适用于本地网络所有机器都复制的内容。即使是极微小的变动,都需要更新各地所有的文件。所以, /etc/hosts
通常只包括最重要的条目。
这个文件对未连上互联网的小型网络是够用的,但对于5 部以及以上的机器,推荐安装一个 DNS 服务器。