系统管理指南:IP 服务

使用 DHCP 选项(任务列表)

选项是 DHCP 服务器可传递到客户机的网络配置参数的关键字。在 Oracle Solaris : DHCP 服务中,您无法创建、删除或修改标准 DHCP 选项。标准选项由 DHCP 协议定义,因此不能对这些选项进行更改。您只能针对为站点创建的选项执行任务。因此,当您首次设置 DHCP 服务时,DHCP 管理程序中的“选项”选项卡为空,直到针对站点创建选项。

如果您在 DHCP 服务器上创建选项,则还必须在 DHCP 客户机上添加有关这些选项的信息。对于 Oracle Solaris : DHCP 客户机,您必须编辑 /etc/dhcp/inittab 文件以针对新选项添加项。有关此文件的更多信息,请参见 dhcp_inittab(4) 手册页。

如果您的 DHCP 客户机不是 Oracle Solaris : 客户机,请参阅这些客户机的文档以获取有关添加选项或符号的信息。有关 Oracle Solaris : DHCP 中选项的更多信息,请参见关于 DHCP 选项

您可以使用 DHCP 管理程序或 dhtadm 命令来创建、修改或删除选项。


提示 –

在 DHCP 介绍中,选项被称为符号dhtadm 命令及其相关的手册页也将选项称为符号。


以下任务列表列出了创建、修改和删除 DHCP 选项所需执行的任务。此任务列表包含指向这些任务的过程的链接。

任务 

说明 

参考 

创建 DHCP 选项。 

添加新选项以获取标准 DHCP 选项不包含的信息。 

如何创建 DHCP 选项(DHCP 管理程序)

如何创建 DHCP 选项 (dhtadm)

修改 Oracle Solaris : DHCP 客户机的选项信息

修改 DHCP 选项。 

更改已创建的 DHCP 选项的属性。 

如何修改 DHCP 选项属性(DHCP 管理程序)

如何修改 DHCP 选项属性 (dhtadm)

删除 DHCP 选项。 

删除已创建的 DHCP 选项。 

如何删除 DHCP 选项(DHCP 管理程序)

如何删除 DHCP 选项 (dhtadm)

在创建 DHCP 选项之前,您应该熟悉下表中列出的选项属性。

表 15–5 DHCP 选项属性

选项属性 

说明 

类别 

选项的类别必须属于以下各项之一:

  • 供应商选项-特定于客户机的供应商平台(硬件或软件)的选项。

  • 站点选项-特定于站点的选项。

  • 扩展选项-已添加到 DHCP 协议中,但尚未在 Oracle Solaris : DHCP 中作为标准选项实现的较新选项。

代码 

代码是指定给选项的唯一数字。选项类别中的其他任何选项都不能使用相同的代码。代码必须适用于选项类别:

  • 供应商选项-对于每个供应商类,代码值为 1–254

  • 站点选项-代码值为 128–254

  • 扩展选项-代码值为 77–127

数据类型 

数据类型指定哪种数据类型可以作为选项值进行指定。以下列表中介绍了有效的数据类型。

  • ASCII-文本字符串值。

  • BOOLEAN-任何值都不与布尔数据类型关联。选项存在表示条件为真,而选项不存在则表示条件为假。例如,Hostname 选项为布尔选项。如果宏中存在 Hostname,则会使 DHCP 服务器查找与指定的地址关联的主机名。

  • IP-一个或多个采用点分十进制格式 (xxx.xxx.xxx.xxx) 的 IP 地址。

  • OCTET-未解释的二进制数据 ASCII 表示形式。例如,客户机 ID 使用八位字节数据类型。有效字符包括 0–9、A–F 和 a–f。要表示一个 8 位数,需要使用两个 ASCII 字符。

  • UNUMBER8、UNUMBER16、UNUMBER32、UNUMBER64、SNUMBER8、SNUMBER16、SNUMBER32 或 SNUMBER64-数值。初始的 U 或 S 表示数字是无符号数还是带符号数。末尾数字指明数字中的二进制位数。

粒度 

粒度指定需要使用某一数据类型的多少“实例”来表示一个完整的选项值。例如,如果数据类型为 IP 并且粒度为 2,则表示选项值必须包含两个 IP 地址。

最大值 

可以为选项指定的最大值数目。例如,假设最大值为 2,粒度为 2,并且数据类型为 IP。在这种情况下,选项值最多可以包含两对 IP 地址。 

供应商客户机类 

仅当选项类别为“供应商”时,此选项才可用。供应商客户机类标识与“供应商”选项关联的客户机类。类为表示客户机类型或操作系统的 ASCII 字符串。例如,某些型号的 Sun 工作站的类字符串为 SUNW.Sun-Blade-100。使用此选项类型,可以定义传递到属于同一类的所有客户机(而且只有此类的客户机)的配置参数。

您可以指定多个客户机类。只有那些客户机类值与所指定的类相匹配的 DHCP 客户机才能收到此类范围内的选项。 

客户机类由 DHCP 客户机的供应商确定。对于不属于 Oracle Solaris : 客户机的 DHCP 客户机,请参阅 DHCP 客户机的供应商文档以了解客户机类。 

对于 Oracle Solaris : 客户机,可以在客户机上键入 uname -i 命令来获取供应商客户机类。要指定供应商客户机类,请使用句点替换由 uname 命令返回的字符串中的所有逗号。例如,如果 uname -i 命令返回字符串 SUNW,Sun-Blade-100,则应将供应商客户机类指定为 SUNW.Sun-Blade-100

创建 DHCP 选项

如果当前在 DHCP 协议中没有可用于传递客户机信息的选项,则可以创建 DHCP 选项。在创建自己的选项之前,请参见 dhcp_inittab(4) 手册页,以获取在 Oracle Solaris : DHCP 中定义的所有选项的列表。

您可以使用 dhtadm -A -s 命令或 DHCP 管理程序的“创建选项”对话框来创建新选项。

下图显示了 DHCP 管理程序的“创建选项”对话框。

图 15–17 DHCP 管理程序中的“创建选项”对话框

此对话框显示了定义新选项属性的字段,同时还显示了“供应商客户机类”区域和“将更改通知 DHCP 服务器”复选框。

Procedure如何创建 DHCP 选项(DHCP 管理程序)

  1. 在 DHCP 管理程序中,选择“选项”选项卡。

    有关 DHCP 管理程序的信息,请参见如何启动和停止 DHCP 管理程序

  2. 从“编辑”菜单中选择“创建”。

    将打开“创建选项”对话框。

  3. 为新选项键入一个描述性的短名称。

    名称最多可包含 128 个字母数字字符和空格。

  4. 针对此对话框中的每个设置键入或选择值。

    请参阅表 15–5 以获取有关每个设置的信息,或者查看 DHCP 管理程序帮助。

  5. 如果完成创建选项,请选择“将更改通知 DHCP 服务器”。

    此选择将告知 DHCP 服务器重新读取 dhcptab 表,以使更改在单击“确定”之后立即生效。

  6. 单击“确定”。

    现在,您可以将选项添加到宏,并为要传递到客户机的选项指定值。

Procedure如何创建 DHCP 选项 (dhtadm)

  1. 成为超级用户、承担指定给 DHCP 管理配置文件的角色或者使用指定给 DHCP 管理配置文件的用户名。

    有关 DHCP 管理配置文件的更多信息,请参见设置用户访问 DHCP 命令的权限

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 通过键入采用如下格式的命令来创建 DHCP 选项:


    # dhtadm -A -s option-name -d 'category,code,data-type,granularity,maximum' -g
    
    option-name

    是一个最多包含 128 个字符的字母数字字符串。

    category

    是以下各项之一: SiteExtendVendor=list-of-classeslist-of-classes 是要将选项应用到的供应商客户机类的空格分隔列表。有关如何确定供应商客户机类的信息,请参见表 15–5

    code

    是一个适用于选项类别的数值,如表 15–5 中所述。

    data-type

    由表示与选项一起传递的数据类型的关键字指定,如表 15–5 中所述。

    granularity

    指定为非负数,如表 15–5 中所述。

    maximum

    是一个非负数,如表 15–5 中所述。


示例 15–3 使用 dhtadm 创建 DHCP 选项

以下命令将创建名为 NewOpt 的选项,这是一个“站点”类别选项。选项的代码为 130。选项的值可以设置为一个 8 位的无符号整数。

# dhtadm -A -s NewOpt -d 'Site,130,UNUMBER8,1,1' -g 

以下命令将创建名为 NewServ 的选项,这是一个“供应商”类别选项,应用于计算机类型为 SUNW,Sun-Blade-100SUNW,Sun-Blade-1000 的客户机。选项的代码为 200。选项的值可以设置为一个 IP 地址。

# dhtadm -A -s NewServ -d 'Vendor=SUNW.Sun-Blade-100 \ SUNW.Sun-Blade-1000,200,IP,1,1' -g

修改 DHCP 选项

如果您已为 DHCP 服务创建了选项,则可以更改这些选项的属性。您可以使用 dhtadm -M -s 命令或 DHCP 管理程序的“选项特性”对话框来修改选项。

请注意,您应当修改 Oracle Solaris : DHCP 客户机的选项信息,以反映对 DHCP 服务所做的修改。请参见修改 Oracle Solaris : DHCP 客户机的选项信息

下图显示了 DHCP 管理程序的“选项特性”对话框。

图 15–18 DHCP 管理程序中的“选项特性”对话框

此对话框显示了选定选项的当前属性,同时还显示了“供应商客户机类”和“将更改通知 DHCP 服务器”复选框。

Procedure如何修改 DHCP 选项属性(DHCP 管理程序)

  1. 在 DHCP 管理程序中,选择“选项”选项卡。

    有关 DHCP 管理程序的信息,请参见如何启动和停止 DHCP 管理程序

  2. 选择要修改的选项。

  3. 从“编辑”菜单中选择“属性”。

    将打开“选项特性”对话框。

  4. 根据需要编辑属性。

    请参见表 15–5 以获取有关属性的信息,或者查看 DHCP 管理程序帮助。

  5. 完成对选项执行的操作时,请选择“将更改通知 DHCP 服务器”。

    将对 dhcptab 表进行更改。将发送信号通知 DHCP 服务器重新读取 dhcptab 表以使更改生效。

  6. 单击“确定”。

Procedure如何修改 DHCP 选项属性 (dhtadm)

  1. 成为超级用户、承担指定给 DHCP 管理配置文件的角色或者使用指定给 DHCP 管理配置文件的用户名。

    有关 DHCP 管理配置文件的更多信息,请参见设置用户访问 DHCP 命令的权限

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 通过键入采用如下格式的命令来修改选项:


    # dhtadm -M -s option-name -d 'category,code,data-type,granularity,maximum' -g
    
    option-name

    指定要更改的选项的名称。

    category

    可以为 SiteExtendVendor=list-of-classeslist-of-classes 是要将选项应用到的供应商客户机类的空格分隔列表。例如,SUNW.Sun-Blade-100 SUNW.Ultra-80 SUNWi86pc

    code

    指定适用于选项类别的数值,如表 15–5 中所述。

    data-type

    指定表示与选项一起传递的数据类型的关键字,如表 15–5 中所述。

    granularity

    是一个非负数,如表 15–5 中所述。

    maximum

    是一个非负数,如表 15–5 中所述。

    请注意,您必须使用 -d 开关指定所有的 DHCP 选项属性,而不是仅指定要更改的属性。


示例 15–4 使用 dhtadm 修改 DHCP 选项

以下命令将修改名为 NewOpt 的选项。此选项为“站点”类别选项。选项的代码为 135。选项的值可以设置为一个 8 位的无符号整数。

# dhtadm -M -s NewOpt -d 'Site,135,UNUMBER8,1,1' 

以下命令将修改名为 NewServ 的选项,这是一个“供应商”类别选项。现在,此选项应用于计算机类型为 SUNW,Sun-Blade-100SUNW,i86pc 的客户机。选项的代码为 200。选项的值可以设置为一个 IP 地址。

# dhtadm -M -s NewServ -d 'Vendor=SUNW.Sun-Blade-100 \ SUNW.i86pc,200,IP,1,1' -g

删除 DHCP 选项

您无法删除标准 DHCP 选项。但是,如果您已为 DHCP 服务定义了选项,则可以使用 DHCP 管理程序或 dhtadm 命令来删除这些选项。

Procedure如何删除 DHCP 选项(DHCP 管理程序)

  1. 在 DHCP 管理程序中,选择“选项”选项卡。

    有关 DHCP 管理程序的信息,请参见如何启动和停止 DHCP 管理程序

  2. 选择要删除的选项。

  3. 从“编辑”菜单中选择“删除”。

    将打开“删除选项”对话框。

  4. 如果完成删除选项,请选择“将更改通知 DHCP 服务器”。

    此选择将告知 DHCP 服务器重新读取 dhcptab 表,以使更改在单击“确定”之后立即生效。

  5. 单击“确定”。

Procedure如何删除 DHCP 选项 (dhtadm)

  1. 成为超级用户、承担指定给 DHCP 管理配置文件的角色或者使用指定给 DHCP 管理配置文件的用户名。

    有关 DHCP 管理配置文件的更多信息,请参见设置用户访问 DHCP 命令的权限

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 通过键入采用如下格式的命令来删除 DHCP 选项:


    # dhtadm -D -s option-name -g
    

修改 Oracle Solaris : DHCP 客户机的选项信息

如果您向 DHCP 服务器添加了新的 DHCP 选项,则必须向每个 DHCP 客户机的选项信息中添加一个补充项。如果您的 DHCP 客户机不是 Oracle Solaris : DHCP 客户机,请参阅客户机的文档以获取有关添加选项或符号的信息。

在 Oracle Solaris : DHCP 客户机上,您必须编辑 /etc/dhcp/inittab 文件,并针对每个要添加到 DHCP 服务器的选项添加一项。如果您随后在此服务器上修改选项,则还必须在客户机的 /etc/dhcp/inittab 文件中修改此项。

有关 /etc/dhcp/inittab 文件语法的详细信息,请参阅 dhcp_inittab(4) 手册页。


注 –

如果您向先前的 Oracle Solaris : 发行版的 dhcptags 文件中添加了 DHCP 选项,则必须将这些选项添加到 /etc/dhcp/inittab 文件中。有关更多信息,请参见DHCP 选项信息