系统管理指南:IP 服务

DHCP 选项信息

过去,DHCP 选项信息存储在多个位置,包括服务器的 dhcptab 表、客户机的 dhcptags 文件和各种程序的内部表。在 Solaris 8 发行版以及更高发行版中,选项信息合并在 /etc/dhcp/inittab 文件中。有关此文件的详细信息,请参见 dhcp_inittab(4) 手册页。

Oracle Solaris : DHCP 客户机使用 DHCP inittab 文件代替 dhcptags 文件。客户机使用此文件可获取有关在 DHCP 包中收到的选项代码的信息。DHCP 服务器上的 in.dhcpdsnoopdhcpmgr 程序也将使用 inittab 文件。

确定站点是否受到影响

大多数使用 Oracle Solaris : DHCP 的站点不会受到转换为 /etc/dhcp/inittab 文件这一操作的影响。如果满足以下所有条件,则站点将会受到影响:

升级时,升级日志会通知您 dhcptags 文件已经修改,因此应对 DHCP inittab 文件进行更改。

dhcptags inittab 文件之间的差异

inittab 文件比 dhcptags 文件包含更多的信息。inittab 文件使用的语法也不同。

以下是 dhcptags 项的一个样例:

33 StaticRt - IPList Static_Routes

33 为在 DHCP 包中传送的数字代码。StaticRt 为选项名。IPList 表示 StaticRt 的数据类型必须为 IP 地址列表。Static_Routes 是一个描述性更强的名称。

inittab 文件由说明每个选项的单行记录组成。其格式类似于在 dhcptab 中定义符号的格式。下表说明了 inittab 文件的语法。

选项

说明

option-name

选项名。选项名在其选项类别中必须是唯一的,不可与标准选项、站点选项和供应商选项等类别中的其他选项重名。例如,不能有两个同名的站点选项,不能创建与标准选项名称相同的站点选项。

category

标识选项所属的名称空间。必须为以下名称空间之一: 标准、站点、供应商、字段或内部。

code

当选项在网络中发送时标识此选项。大多数情况下,代码唯一标识选项,与类别无关。但是,在涉及内部类别(如字段选项或内部选项)的情况下,代码可能会用于其他目的。代码可能不是全局唯一的。代码在选项类别中应是唯一的,并且不会与标准字段和站点字段中的代码重名。

type

说明与此选项关联的数据。有效类型为 IP、ASCII、Octet、Boolean、Unumber8、Unumber16、Unumber32、Unumber64、Snumber8、Snumber16、Snumber32 和 Snumber64 等。对数字来说,首字母 U 或 S 表示该数字为无符号或带符号的数字。末尾数字指明数字中的二进制位数。例如,Unumber8 即为无符号的 8 位二进制数字。类型不区分大小写。

granularity

说明组成此选项的完整值的数据单元的数量。

maximum

说明此选项允许使用的完整值的数量。0 表示一个无穷大的数字。

consumers

说明可使用此信息的程序。使用者应设置为 sdmi,其中:

s

snoop

d

in.dhcpd

m

dhcpmgr

i

dhcpinfo

以下是 inittab 项的一个样例:

StaticRt - Standard, 33, IP, 2, 0, sdmi

该项介绍了名为 StaticRt 的选项。此选项属于标准类别,选项代码为 33。由于类型为 IP、粒度为 2、最大值为无穷大 (0),因此预期的数据是一个可能为无穷大的 IP 地址对数量。此选项的使用者为 sdmisnoopin.dhcpddhcpmgrdhcpinfo

dhcptags 项转换为 inittab

如果之前向 dhcptags 文件中添加了项,则必须向新的 inittab 文件中添加对应的项,这样才能继续使用添加到站点中的选项。以下示例说明如何以 inittab 格式表示 dhcptags 项的一个样例。

假定已经为连接到网络的传真机添加了以下 dhcptags 项:

128 FaxMchn - IP Fax_Machine

代码 128 意味着此选项一定属于站点类别。选项名为 FaxMchn,数据类型为 IP

对应的 inittab 项可能是:

FaxMchn SITE, 128, IP, 1, 1, sdmi

粒度 1 和最大值 1 表示此选项应有一个 IP 地址。