Product SiteDocumentation Site

8.3. 设置主机名称与配置名称服务

将 IP 数字转换为名称系方便记忆。实务上,IP 地址系用于辨识网络卡之类的网络接口设备。机器可能有多个网络卡,每个网络卡可能有多个接口,所以在网域名称系统里,一部电脑就可能有多个名称。
然而,每部机器都有辨识用的主要 (或 “规范”) 名称,保存在 /etc/hostname 文件内并以初始脚本经由 hostname 命令与 Linux 核心沟通。当前值保存在虚拟文件系统,可经由 cat /proc/sys/kernel/hostname 命令取得。
意外的是,网域名称的管理方式不同,来自机器的完整名称,经由名称解析取得。可以在 /etc/hosts 文件内更改它;在名称清单前写入完整的名称,如下例:
127.0.0.1     localhost
192.168.0.1   arrakis.falcot.com arrakis

8.3.1. 名称解析

Linux 的名称解析机制是模块化的且可使用 /etc/nsswitch.conf 宣称的数据源。涉及主机名称解析的条目是 hosts。默认情况下,它包括 files dns,表示系统先参照 /etc/hosts 文件,再参照 DNS 服务器。NIS/NIS+ 或 LDAP 服务器是另一个来源选择。

8.3.1.1. 配置 DNS 服务器

DNS (网域名称服务) 是映射名称至 IP 地址的分布式分级服务,同时也反向映射。尤其是,把可阅读的名称,如 www.eyrolles.com 映射至实际的 IP 地址 213.244.11.247
必须先设置 DNS 服务器,才能用到 DNS 信息。Falcot 公司自设该服务器,但个人用户可能使用 ISP 提供的 DNS 服务器。
The DNS servers to be used are indicated in /etc/resolv.conf, one per line, with the nameserver keyword preceding an IP address, as in the following example:
nameserver 212.27.32.176
nameserver 212.27.32.177
nameserver 8.8.8.8
Note that the /etc/resolv.conf file may be handled automatically (and overwritten) when the network is managed by NetworkManager or configured via DHCP, or when resolvconf is installed or systemd-resolved(8) is enabled.

8.3.1.2. /etc/hosts 文件

在本地网络没有名称服务器时,仍可以在保留给本地网络的 /etc/hosts 文件内,创建 IP 地址与主机名称的小型对照表。此文件的语法在 hosts(5) 中说明,极简单:每列一个固定 IP 地址,然后是相关的名称 (第一个是 “完全合格”,表示包括网域名称)。
即使网络停摆或 DNS 服务器不通仍可使用此文件,但只适用于本地网络所有机器都复制的内容。即使是极微小的变动,都需要更新各地所有的文件。所以, /etc/hosts 通常只包括最重要的条目。
这个文件对未连上互联网的小型网络是够用的,但对于5 部以及以上的机器,推荐安装一个 DNS 服务器。