系统管理指南:IP 服务

hosts 数据库

hosts 数据库包含网络中各系统的 IPv4 地址和主机名。如果使用 NIS 或 DNS 名称服务,或者使用 LDAP 目录服务,则 hosts 数据库在专门存储主机信息的数据库中进行维护。例如,在运行 NIS 的网络中,hosts 数据库在 hostsbyname 文件中进行维护。

如果使用本地文件提供名称服务,则 hosts 数据库将在 /etc/inet/hosts 文件中进行维护。此文件包含主网络接口的主机名和 IPv4 地址、连接到系统的其他网络接口的主机名和 IPv4 地址以及系统必须检查的其他网络地址。


注 –

为了与基于 BSD 的操作系统兼容,/etc/hosts 文件是指向 /etc/inet/hosts 的符号链接。


/etc/inet/hosts 文件格式

/etc/inet/hosts 文件使用以下基本语法。有关完整的语法信息,请参阅 hosts(4) 手册页。

IPv4-address hostname [nicknames] [#comment]

IPv4-address

包含本地主机必须识别的每个接口的 IPv4 地址。

hostname

包含设置期间指定给系统的主机名,以及指定给本地主机必须识别的其他网络接口的主机名。

[nickname]

包含主机别名的可选字段。

[#comment]

可选的注释字段。

初始 /etc/inet/hosts 文件

在系统上运行 Oracle Solaris : 安装程序时,该程序将配置初始 /etc/inet/hosts 文件。此文件包含本地主机所需的最少数目的项。其中包括回送地址、主机 IPv4 地址以及主机名。

例如,Oracle Solaris : 安装程序可能为图 5–1 中所示的 tenere 系统创建以下 /etc/inet/hosts 文件:


示例 10–1 系统 tenere/etc/inet/hosts 文件


127.0.0.1     localhost         loghost    #loopback address
192.168.200.3   tenere                      #host name

回送地址

示例 10–1 中,IPv4 地址 127.0.0.1回送地址。回送地址是本地系统用来允许进程间通信的保留网络接口。主机可使用此地址将数据包发送给自己。ifconfig 命令使用回送地址进行配置和测试,如使用 ifconfig 命令监视接口配置中所述。TCP/IP 网络中的每个系统都必须使用 IP 地址 127.0.0.1 作为本地主机的 IPv4 回送地址。

主机名

IPv4 地址 192.168.200.1 和名称 tenere 是本地系统的地址和主机名。它们指定给系统的主网络接口。

多个网络接口

一些系统具有多个网络接口,因为它们是路由器或者多宿主主机。每个连接到系统的网络接口都需要有自己的 IP 地址以及与其关联的名称。在安装过程中,必须配置主网络接口。安装时,如果特定系统具有多个接口,Oracle Solaris : 安装程序会针对其他接口对您进行提示。此时,您可以选择性地配置一个或多个其他接口,或者以后手动进行配置。

安装 Oracle Solaris : 后,可以通过将接口信息添加到系统的 /etc/inet/hosts 文件,来为路由器或多宿主主机配置其他接口。有关配置路由器和多宿主主机的更多信息,请参阅配置 IPv4 路由器配置多宿主主机

示例 10–2 显示了图 5–1 中所示的系统 timbuktu/etc/inet/hosts 文件。


示例 10–2 系统 timbuktu/etc/inet/hosts 文件


127.0.0.1        localhost     loghost
192.168.200.70   timbuktu      #This is the local host name
192.168.201.10   timbuktu-201  #Interface to network 192.9.201

通过这两个接口,timbuktu 作为路由器连接网络 192.168.200192.168.201

名称服务如何影响 hosts 数据库

NIS 和 DNS 名称服务以及 LDAP 目录服务在一台或多台服务器上维护主机名和地址。这些服务器维护 hosts 数据库,该数据库包含服务器所在的网络中每台主机和路由器(如果适用)的信息。有关这些服务的更多信息,请参阅《系统管理指南:名称和目录服务(DNS、NIS 和 LDAP)》

本地文件何时提供名称服务

在使用本地文件提供名称服务的网络中,以本地文件模式运行的系统将查询各自的 /etc/inet/hosts 文件,以查找网络中其他系统的 IPv4 地址和主机名。因此,这些系统的 /etc/inet/hosts 文件必须包含以下内容:

图 10–1 显示了系统 tenere/etc/inet/hosts 文件。此系统以本地文件模式运行。请注意,此文件包含 192.9.200 网络中每个系统的 IPv4 地址和主机名。此文件还包含接口名称 timbuktu-201 及其对应的 IPv4 地址。此接口将 192.9.200 网络连接到 192.9.201 网络。

配置为网络客户机的系统对其回送地址和 IPv4 地址使用本地 /etc/inet/hosts 文件。

图 10–1 以本地文件模式运行的系统的 /etc/inet/hosts 文件

显示以本地文件模式运行的系统的主机文件可能的样式。