网络数据库是提供配置网络所需信息的文件。网络数据库如下所示:
hosts
netmasks
ethers 数据库
bootparams
protocols
services
networks
如果网络分为多个子网,则在配置过程中,需要编辑 hosts 数据库和 netmasks 数据库。bootparams 和 ethers 这两个数据库用于将系统配置为网络客户机。其余数据库由操作系统使用并很少需要编辑。
尽管 nsswitch.conf 文件不是网络数据库,但是您需要将此文件与相关的网络数据库一同进行配置。nsswitch.conf 指定要用于特定系统的名称服务: 本地文件、NIS、DNS 或 LDAP。
网络数据库的格式取决于您为网络选择的名称服务的类型。例如,hosts 数据库至少包含本地系统的主机名和 IPv4 地址以及直接连接到本地系统的所有网络接口的主机名和 IPv4 地址。但是,hosts 数据库也可以包含其他 IPv4 地址和主机名,具体取决于网络中的名称服务类型。
在 Solaris 10 11/06 之后的 Oracle Solaris : 发行版中,将删除 ipnodes 数据库。
网络数据库 |
本地文件 |
NIS 映射 |
---|---|---|
/etc/inet/hosts |
hosts.byaddr hosts.byname |
|
ipnodes |
/etc/inet/ipnodes |
ipnodes.byaddr ipnodes.byname |
/etc/inet/netmasks |
netmasks.byaddr |
|
/etc/ethers |
ethers.byname ethers.byaddr |
|
/etc/bootparams |
bootparams |
|
/etc/inet/protocols |
protocols.byname protocols.bynumber |
|
/etc/inet/services |
services.byname |
|
/etc/inet/networks |
networks.byaddr networks.byname |
本书介绍的是使用本地文件提供名称服务的网络所查看的网络数据库。
hosts 数据库介绍了有关 hosts 数据库的信息。
netmasks 数据库介绍了有关 netmasks 数据库的信息。
对于 Solaris 10 11/06 及早期发行版,有关 ipnodes 数据库的信息,请参见ipnodes 数据库。
有关网络数据库在 NIS、DNS 和 LDAP 中的对应关系的信息,请参阅《系统管理指南:名称和目录服务(DNS、NIS 和 LDAP)》。
/etc/nsswitch.conf 文件定义了网络数据库的搜索顺序。基于在安装过程中指定的名称服务,Oracle Solaris : 安装程序为本地系统创建缺省的 /etc/nsswitch.conf 文件。如果选择了 "None" 选项,表示使用本地文件提供名称服务,生成的 nsswitch.conf 文件与下面的示例类似。
# /etc/nsswitch.files: # # An example file that could be copied over to /etc/nsswitch.conf; # it does not use any naming service. # # "hosts:" and "services:" in this file are used only if the # /etc/netconfig file contains "switch.so" as a # nametoaddr library for "inet" transports. passwd: files group: files hosts: files networks: files protocols: files rpc: files ethers: files netmasks: files bootparams: files publickey: files # At present there isn't a 'files' backend for netgroup; the # system will figure it out pretty quickly, # and won't use netgroups at all. netgroup: files automount: files aliases: files services: files sendmailvars: files |
nsswitch.conf(4) 手册页详细介绍了该文件。基本语法为:
database name-service-to-search
database 字段可以列出操作系统搜索的许多数据库类型之一。例如,此字段可以指示影响用户的数据库(例如 passwd、aliases )或网络数据库。对于网络数据库,参数 name-service-to-search 的值可以是 files、nis 或 nis+。hosts 数据库也可以将 dns 作为要搜索的名称服务。也可以列出多个名称服务,例如 nis+ 和 files。
在示例 10–5 中,指示的唯一搜索选项为 files。因此,除了网络数据库信息之外,本地系统还从 /etc 和 /etc/inet 目录中的文件获取安全信息和自动挂载信息。
/etc 目录包含由 Oracle Solaris : 安装程序创建的 nsswitch.conf 文件。此目录还包含以下名称服务的模板文件:
nsswitch.files
nsswitch.nis
如果要从一个名称服务更改到另一个名称服务,可以将相应的模板复制到 nsswitch.conf,也可以有选择性地编辑 nsswitch.conf 文件,将缺省名称服务更改为搜索单个数据库。
例如,在运行 NIS 的网络中,可能必须更改网络客户机上的 nsswitch.conf 文件。bootparams 和 ethers 数据库的搜索路径必须将 files 列为第一个选项,然后是 nis。以下示例说明了正确的搜索路径。
# /etc/nsswitch.conf:# . . passwd: files nis group: files nis # consult /etc "files" only if nis is down. hosts: nis [NOTFOUND=return] files networks: nis [NOTFOUND=return] files protocols: nis [NOTFOUND=return] files rpc: nis [NOTFOUND=return] files ethers: files [NOTFOUND=return] nis netmasks: nis [NOTFOUND=return] files bootparams: files [NOTFOUND=return] nis publickey: nis netgroup: nis automount: files nis aliases: files nis # for efficient getservbyname() avoid nis services: files nis sendmailvars: files |
有关名称服务转换器的完整详细信息,请参阅《系统管理指南:名称和目录服务(DNS、NIS 和 LDAP)》。
bootparams 数据库包含配置为以网络客户机模式引导的系统所使用的信息。如果网络中具有网络客户机,则需要编辑此数据库。有关过程,请参见配置网络客户机。此数据库是根据 /etc/bootparams 文件中输入的信息生成的。
bootparams(4) 手册页介绍了此数据库的完整语法。基本语法为:
system-name file-key-server-name:pathname
对于每个网络客户机系统,该项可能包含以下信息: 客户机名称、关键字列表、服务器名称以及路径名。每项的第一个条目都是客户机系统的名称。第一个条目以外的所有其他条目都是可选的。以下是一个示例。
myclient root=myserver : /nfsroot/myclient \ swap=myserver : /nfsswap//myclient \ dump=myserver : /nfsdump/myclient |
在此示例中,dump= 告知客户机主机不要查找转储文件。
在大多数情况下,应在编辑 bootparams 数据库时使用通配符项以支持客户机。该项为:
* root=server:/path dump=:
星号 (*) 通配符指示该项应用于 bootparams 数据库中所有未特别命名的客户机。
ethers 数据库是根据在 /etc/ethers 文件中输入的信息构建的。此数据库将主机名与其介质访问控制 (Media Access Control, MAC) 地址进行关联。仅当运行 RARP 守护进程时,才需要创建 ethers 数据库。也就是说,如果正在配置网络客户机,则需要创建此数据库。
RARP 使用该文件将 MAC 地址映射到 IP 地址。如果正在运行 RARP 守护进程 in.rarpd,则需要设置 ethers 文件并在运行此守护进程的所有主机上维护此文件,以便将所做的更改应用到网络中。
ethers(4) 手册页介绍了此数据库的完整语法。基本语法为:
MAC-address hostname #comment |
主机的 MAC 地址
主机的正式名称
要附加到文件中某项的注释
设备制造商提供 MAC 地址。如果在系统引导过程中未显示 MAC 地址,请参见硬件手册中的相关帮助信息。
向 ethers 数据库添加项时,请确保主机名与 hosts(对于 Solaris 10 11/06 及早期发行版,为 ipnodes 数据库)中的主名称而不是别名相对应,如下所示。
8:0:20:1:40:16 fayoum 8:0:20:1:40:15 nubian 8:0:20:1:40:7 sahara # This is a comment 8:0:20:1:40:14 tenere |
很少需要编辑其余的网络数据库。
networks 数据库将网络名称与网络号相关联,允许某些应用程序使用和显示网络名称而不是网络号。networks 数据库基于 /etc/inet/networks 文件中的信息。此文件包含通过路由器与您网络连接的所有网络的名称。
Oracle Solaris : 安装程序配置初始 networks 数据库。但是,如果在现有网络拓扑中添加了新网络,必须更新此数据库。
networks(4) 手册页介绍了 /etc/inet/networks 的完整语法。基本格式为:
network-name network-number nickname(s) #comment |
网络的正式名称
由 ISP 或 Internet 注册机构指定的编号
用于识别网络的任何其他名称
要附加到文件中某项的注释
您必须对 networks 文件进行维护。netstat 程序使用此数据库中的信息生成状态表。
以下是一个 /etc/networks 文件样例。
#ident "@(#)networks 1.4 92/07/14 SMI" /* SVr4.0 1.1 */ # # The networks file associates Internet Protocol (IP) network # numbers with network names. The format of this file is: # # network-name network-number nicnames . . . # The loopback network is used only for intra-machine communication loopback 127 # # Internet networks # arpanet 10 arpa # Historical # # local networks eng 192.168.9 #engineering acc 192.168.5 #accounting prog 192.168.2 #programming |
protocols 数据库列出了在系统上安装的 TCP/IP 协议及其协议编号。Oracle Solaris : 安装程序自动创建此数据库。此文件很少需要进行管理。
protocols(4) 手册页介绍了此数据库的语法。以下是一个 /etc/inet/protocols 文件的示例。
# # Internet (IP) protocols # ip 0 IP # internet protocol, pseudo protocol number icmp 1 ICMP # internet control message protocol tcp 6 TCP # transmission control protocol udp 17 UDP # user datagram protocol |
services 数据库列出了 TCP 和 UDP 服务的名称及其已知的端口号。此数据库由调用网络服务的程序使用。在 Oracle Solaris : 安装过程中自动创建 services 数据库。通常,此数据库不需要进行任何管理。
services(4) 手册页介绍了完整的语法信息。以下是从典型的 /etc/inet/services 文件中摘录的内容。
# # Network services # echo 7/udp echo 7/tcp echo 7/sctp6 discard 9/udp sink null discard 11/tcp daytime 13/udp daytime 13/tcp netstat 15/tcp ftp-data 20/tcp ftp 21/tcp telnet 23/tcp time 37/tcp timeserver time 37/udp timeserver name 42/udp nameserver whois 43/tcp nickname |