过去,DHCP 选项信息存储在多个位置,包括服务器的 dhcptab 表、客户机的 dhcptags 文件和各种程序的内部表。在 Solaris 8 发行版以及更高发行版中,选项信息合并在 /etc/dhcp/inittab 文件中。有关此文件的详细信息,请参见 dhcp_inittab(4) 手册页。
Oracle Solaris : DHCP 客户机使用 DHCP inittab 文件代替 dhcptags 文件。客户机使用此文件可获取有关在 DHCP 包中收到的选项代码的信息。DHCP 服务器上的 in.dhcpd、snoop 和 dhcpmgr 程序也将使用 inittab 文件。
大多数使用 Oracle Solaris : DHCP 的站点不会受到转换为 /etc/dhcp/inittab 文件这一操作的影响。如果满足以下所有条件,则站点将会受到影响:
计划从 Solaris 8 发行版之前的 Oracle Solaris : 发行版进行升级。
之前已创建了新的 DHCP 选项。
修改了 /etc/dhcp/dhcptags 文件并希望保留更改。
升级时,升级日志会通知您 dhcptags 文件已经修改,因此应对 DHCP inittab 文件进行更改。
inittab 文件比 dhcptags 文件包含更多的信息。inittab 文件使用的语法也不同。
以下是 dhcptags 项的一个样例:
33 StaticRt - IPList Static_Routes
33 为在 DHCP 包中传送的数字代码。StaticRt 为选项名。IPList 表示 StaticRt 的数据类型必须为 IP 地址列表。Static_Routes 是一个描述性更强的名称。
inittab 文件由说明每个选项的单行记录组成。其格式类似于在 dhcptab 中定义符号的格式。下表说明了 inittab 文件的语法。
说明
选项名。选项名在其选项类别中必须是唯一的,不可与标准选项、站点选项和供应商选项等类别中的其他选项重名。例如,不能有两个同名的站点选项,不能创建与标准选项名称相同的站点选项。
标识选项所属的名称空间。必须为以下名称空间之一: 标准、站点、供应商、字段或内部。
当选项在网络中发送时标识此选项。大多数情况下,代码唯一标识选项,与类别无关。但是,在涉及内部类别(如字段选项或内部选项)的情况下,代码可能会用于其他目的。代码可能不是全局唯一的。代码在选项类别中应是唯一的,并且不会与标准字段和站点字段中的代码重名。
说明与此选项关联的数据。有效类型为 IP、ASCII、Octet、Boolean、Unumber8、Unumber16、Unumber32、Unumber64、Snumber8、Snumber16、Snumber32 和 Snumber64 等。对数字来说,首字母 U 或 S 表示该数字为无符号或带符号的数字。末尾数字指明数字中的二进制位数。例如,Unumber8 即为无符号的 8 位二进制数字。类型不区分大小写。
说明组成此选项的完整值的数据单元的数量。
说明此选项允许使用的完整值的数量。0 表示一个无穷大的数字。
说明可使用此信息的程序。使用者应设置为 sdmi,其中:
snoop
in.dhcpd
dhcpmgr
dhcpinfo
以下是 inittab 项的一个样例:
StaticRt - Standard, 33, IP, 2, 0, sdmi
该项介绍了名为 StaticRt 的选项。此选项属于标准类别,选项代码为 33。由于类型为 IP、粒度为 2、最大值为无穷大 (0),因此预期的数据是一个可能为无穷大的 IP 地址对数量。此选项的使用者为 sdmi: snoop、in.dhcpd、dhcpmgr 和 dhcpinfo。
如果之前向 dhcptags 文件中添加了项,则必须向新的 inittab 文件中添加对应的项,这样才能继续使用添加到站点中的选项。以下示例说明如何以 inittab 格式表示 dhcptags 项的一个样例。
假定已经为连接到网络的传真机添加了以下 dhcptags 项:
128 FaxMchn - IP Fax_Machine
代码 128 意味着此选项一定属于站点类别。选项名为 FaxMchn,数据类型为 IP。
对应的 inittab 项可能是:
FaxMchn SITE, 128, IP, 1, 1, sdmi
粒度 1 和最大值 1 表示此选项应有一个 IP 地址。