系统管理指南:IP 服务

Oracle Solaris : DHCP 服务器

Oracle Solaris : DHCP 服务器在主机系统上作为 Oracle Solaris : 中的守护进程运行。该服务器有两个基本功能:

Oracle Solaris : DHCP 服务器也可配置为执行以下附加功能:

DHCP 服务器管理

您能够以超级用户身份使用 DHCP 管理程序或命令行实用程序(如DHCP 命令行实用程序中所述),来启动、停止和配置 DHCP 服务器。通常,DHCP 服务器配置为在系统引导时自动启动,在系统关闭时自动停止。一般情况下,您无需手动启动和停止服务器。

DHCP 数据存储

Oracle Solaris : DHCP 服务器使用的所有数据都保存在数据存储内。数据存储可能包含纯文本文件、NIS+ 表或二进制格式文件。当配置 DHCP 服务时,请选择要使用的数据存储的类型。选择 DHCP 数据存储一节中介绍了数据存储类型之间的差异。您可以使用 DHCP 管理程序或 dhcpconfig 命令将数据存储从一种格式转换为另一种格式。

您还可以将数据从一台 DHCP 服务器的数据存储移动到另一台服务器的数据存储。您可以使用用于数据存储的导出和导入实用程序,即使服务器正在使用不同的数据存储格式时也是如此。借助 DHCP 管理程序或 dhcpconfig 命令,您可以导出和导入数据存储的全部内容或其中一部分内容。


注 –

如果您开发自己的代码模块来创建 Oracle Solaris : DHCP(服务器和管理工具)和数据库之间的接口,则可以针对 DHCP 数据存储使用任何数据库或文件格式。有关更多信息,请参见《Solaris DHCP Service Developer’s Guide》


在 Oracle Solaris : DHCP 数据存储内有两种类型的表。您可以使用 DHCP 管理程序或命令行实用程序来查看和管理这些表的内容。数据表的类型如下:

dhcptab

dhcptab 表包含客户机可以从 DHCP 服务器获取的所有信息。DHCP 服务器在每次启动时都会扫描 dhcptab 表。dhcptab 表的文件名根据所用的数据存储的不同而异。例如,由 NIS+ 数据存储 SUNWnisplus 创建的 dhcptab 表为 SUNWnisplus1_dhcptab

DHCP 协议定义了许多可传送到客户机的标准信息项。这些项被称为参数、符号或选项。在 DHCP 协议中,选项由数字代码和文本标签定义,但没有值。下表显示了一些常用的标准选项。

表 12–1 DHCP 标准选项样例

代码 

标签 

说明 

Subnet

子网掩码 IP 地址 

Router

路由器的 IP 地址 

DNSserv

DNS 服务器的 IP 地址 

12 

Hostname

客户机主机名的文本字符串 

15 

DNSdmain

DNS 域名 

当您在配置服务器的过程中提供信息时,会自动为一些选项指定值。您也可以在以后明确为其他选项指定值。各个选项及其值将被传送到客户机以提供配置信息。例如,选项/值对 DNSdmain=Georgia.Peach.COM 会将客户机的 DNS 域名设置为 Georgia.Peach.COM

这些选项和其他选项可组合成名为的容器,此容器简化了将信息传送到客户机的过程。在服务器配置过程中会自动创建一些宏,这些宏包含在配置过程中被指定值的选项。宏也可以包含其他宏。

dhcptab 表的格式在 dhcptab(4) 手册页中进行了介绍。在 DHCP 管理程序中,在“选项”和“宏”选项卡中显示的所有信息都来自 dhcptab 表。有关选项的更多信息,请参见关于 DHCP 选项。有关宏的更多信息,请参见关于 DHCP 宏

请注意,不应手动编辑 dhcptab 表。您应该使用 dhtadm 命令或 DHCP 管理程序来创建、删除或修改选项和宏。

DHCP 网络表

DHCP 网络表将客户机标识符映射到 IP 地址和与每个地址关联的配置参数。网络表的格式在 dhcp_network(4) 手册页中进行了介绍。在 DHCP 管理程序中,在“地址”选项卡中显示的所有信息都来自网络表。

DHCP 管理程序

DHCP 管理程序是可用于执行与 DHCP 服务关联的所有管理功能的图形用户界面 (graphical user interface, GUI) 工具。此工具除了用于管理服务器之外,还可用于管理服务器所用的数据。您必须以超级用户身份运行 DHCP 管理程序。

可以通过以下方法在服务器上使用 DHCP 管理程序:

使用 DHCP 管理程序,您可以通过以下方法管理 IP 地址、网络配置宏和网络配置选项:

DHCP 管理程序允许您通过以下方法管理 DHCP 数据存储:

DHCP 管理程序提供了使用此工具可执行的过程的全面联机帮助。有关更多信息,请参见关于 DHCP 管理程序

DHCP 命令行实用程序

所有 DHCP 管理功能都可以通过命令行实用程序来执行。如果您以超级用户身份登录或以指定给 DHCP 管理配置文件的用户身份登录,就可以运行实用程序。请参见设置用户访问 DHCP 命令的权限

下表列出了实用程序,并说明了每个实用程序的用途。

表 12–2 DHCP 命令行实用程序

命令 

说明和用途 

手册页链接 

in.dhcpd

DHCP 服务守护进程。使用命令行参数,您可以设置数个运行时选项。

in.dhcpd(1M)

dhcpconfig

用于配置和取消配置 DHCP 服务器。使用该实用程序,您可以从命令行执行许多 DHCP 管理程序功能。该实用程序主要在需要自动执行某些配置功能的站点的脚本中使用。dhcpconfig 从服务器系统的网络拓扑文件中收集信息,来创建对初始配置有用的信息。

dhcpconfig(1M)

dhtadm

用于添加、删除和修改 DHCP 客户机的配置选项和宏。使用该实用程序,您可以间接编辑 dhcptab 表,以确保 dhcptab 表的格式正确。不能直接编辑 dhcptab 表。

dhtadm(1M)

pntadm

用于管理 DHCP 网络表。您可以使用该实用程序来执行以下任务:

  • 在 DHCP 管理下添加和删除 IP 地址和网络。

  • 修改指定的 IP 地址的网络配置。

  • 在 DHCP 管理下显示有关 IP 地址和网络的信息。

pntadm(1M)

基于角色的 DHCP 命令访问控制

dhcpconfigdhtadmpntadm 命令的安全性由基于角色的访问控制 (role-based access control, RBAC) 设置决定。在缺省情况下,这些命令只能由超级用户运行。如果您想在其他用户名下使用这些命令,必须按照设置用户访问 DHCP 命令的权限中所述,将该用户名指定到 DHCP 管理配置文件中。

DHCP 服务器配置

当您在要运行 DHCP 服务器的系统上首次运行 DHCP 管理程序时,需要对 Oracle Solaris : DHCP 服务器进行配置。

DHCP 管理程序服务器配置对话框将提示您输入在网络上启用并运行 DHCP 服务器时所需的基本信息。某些缺省值可从现有的系统文件中获取。如果您没有为网络配置系统,就没有缺省值。DHCP 管理程序会提示输入以下信息:

您也可以使用 dhcpconfig 命令来配置 DHCP 服务器。该实用程序自动从现有的系统文件中收集信息来提供有用的初始配置。因此,您必须确保在运行 dhcpconfig 之前这些文件是正确的。有关 dhcpconfig 用来获取信息的各种文件的信息,请参见 dhcpconfig(1M) 手册页。

IP 地址分配

Oracle Solaris : DHCP 服务器支持以下类型的 IP 地址分配:

网络配置信息

您需要确定要提供给 DHCP 客户机的信息。在配置 DHCP 服务器时,需要提供有关网络的基本信息。然后,您可以添加更多想要提供给客户机的信息。

DHCP 服务器以选项/值对和宏的形式将网络配置信息存储在 dhcptab 表中。选项是指您要提供给客户机的网络数据的关键字。值被指定到选项并以 DHCP 消息的形式传送到客户机。例如,NIS 服务器地址通过一个名为 NISservs 的选项传送。NISservs 选项有一个与 DHCP 服务器指定的 IP 地址列表相同的值。宏提供了一种将要提供给客户机的任意数目的选项组合起来的便捷方法。您可以使用 DHCP 管理程序创建宏来组合选项并将值指定到选项。如果您更喜欢使用命令行工具,则可以通过 DHCP 配置表管理实用程序 dhtadm 来使用选项和宏。

关于 DHCP 选项

在 Oracle Solaris : DHCP 中,选项是要传送到客户机的一条网络信息。DHCP 介绍中也将选项称为符号标记。选项由数字代码和文本标签进行定义。在 DHCP 服务中使用选项时,便会为其赋值。

DHCP 协议为通常会指定的网络数据定义了大量的标准选项: SubnetRouterBroadcstNIS+domHostnameLeaseTim 便是其中的几个示例。dhcp_inittab(4) 手册页中给出了标准选项的完整列表。您绝不能修改标准选项关键字。但是,您可以在将选项纳入宏时为与网络相关的选项指定值。

您可以为不是由标准选项表示的数据创建新的选项。您所创建的选项必须归为以下三种类别之一:

第 15 章介绍创建、修改和删除 DHCP 选项的过程。

关于 DHCP 宏

在 Oracle Solaris : DHCP 服务中,是指网络配置选项以及您为这些选项指定的值的集合。创建宏是为了组合要传送到特定的客户机或客户机类型的选项。例如,专用于特定子网中所有客户机的宏可能包含子网掩码、路由器 IP 地址、广播地址、NIS+ 域和租用时间的选项/值对。

DHCP 服务器的宏处理

当 DHCP 服务器处理宏时,它将宏中定义的网络选项及值放在 DHCP 消息中传送给客户机。对于特定类型的客户机,服务器会自动处理一些宏。

要让服务器自动处理宏,宏的名称必须符合下表中所示的类别之一。

表 12–3 自动处理的 DHCP 宏类别

宏类别 

说明 

客户机类 

宏名称与某类客户机相匹配,客户机类由客户机类型或操作系统分别指明或者由二者共同指明。例如,如果服务器有一个名为 SUNW.Sun-Blade-100 的宏,则所有硬件实现为 SUNW.Sun-Blade-100 的客户机都会自动收到 SUNW.Sun-Blade-100 宏中的值。

网络地址 

宏名称与 DHCP 管理的网络 IP 地址相匹配。例如,如果服务器有一个名为 10.53.224.0 的宏,则所有连接到 10.53.224.0 网络的客户机都会自动收到 10.53.224.0 宏中的值。

客户机 ID 

宏名称与客户机的某个唯一标识符相匹配,该标识符通常是从以太网地址或 MAC 地址中派生而来。例如,如果服务器有一个名为 08002011DF32 的宏,则客户机 ID 为 08002011DF32(从以太网地址 8:0:20:11:DF:32 中派生而来)的客户机会自动收到名为 08002011DF32 的宏中的值。

仅当以下条件之一成立时,才能处理其名称未使用表 12–3 中列出的任何类别的宏:


注 –

当配置服务器时,在缺省情况下会创建一个名称与服务器名称相匹配的宏。系统会为任何客户机自动处理该服务器宏,因为没有使用可引发自动处理的任一名称类型对该客户机进行命名。以后在服务器上创建 IP 地址时,便会将这些 IP 地址映射为在缺省情况下使用该服务器宏。


宏处理的顺序

    当 DHCP 客户机请求 DHCP 服务时,DHCP 服务器会确定与客户机相匹配的宏。服务器处理这些宏,并使用宏类别来确定处理的顺序。会首先处理最常见的类别,最后处理最特殊的类别。宏的处理顺序如下:

  1. 客户机类宏-最常见的类别

  2. 网络地址宏-比客户机类稍特殊

  3. 映射到 IP 地址的宏-比网络地址宏稍特殊

  4. 客户机 ID 宏-最特殊的类别,与某台客户机有关

包含在其他宏中的宏会作为容器宏的一部分来进行处理。

如果多个宏中包含同一选项,则会使用最特殊类别的宏中的该选项的值,因为它是最后处理的。例如,如果网络地址宏包含值为 24 小时的租用时间选项,而客户机 ID 宏包含值为 8 小时的租用时间选项,则客户机收到的租用时间为 8 小时。

DHCP 宏的大小限制

为宏中所有选项指定的值的总长度不得超过 255 个字节,包括选项代码和长度信息。此限制由 DHCP 协议指定。

最可能受此限制影响的是那些用于将路径传送到 Oracle Solaris : 安装服务器上的文件的宏。一般情况下,应该能够传送所需的最小量的供应商信息。在需要输入路径名的选项中,应该使用简短的路径名。如果创建指向长路径的符号链接,则可以传送更简短的链接名。