系统管理指南:IP 服务

修改 DHCP 服务选项(任务列表)

您可以更改 DHCP 服务的某些附加功能的值,使用 DHCP 管理程序进行初始配置时可能未提供这些功能。要更改服务选项,您可以使用 DHCP 管理程序中的“修改服务选项”对话框。或者,可以使用 dhcpconfig 命令指定选项。

以下是描述修改 DHCP 服务选项的任务列表。此任务列表包括指向完成每项任务的过程的链接。

任务 

说明 

参考 

更改日志选项。 

启用或禁用日志,并选择一个用于记录 DHCP 事务的 syslog 工具。

如何生成详细的 DHCP 日志消息(DHCP 管理程序)

如何生成详细的 DHCP 日志消息(命令行)

如何启用和禁用 DHCP 事务日志(DHCP 管理程序)

如何启用和禁用 DHCP 事务日志(命令行)

如何将 DHCP 事务记录到单独的 syslog 文件中

更改 DNS 更新选项。 

启用或禁用服务器的功能,以便针对提供主机名的客户机动态添加 DNS 项。确定服务器在尝试更新 DNS 时应花费的最长时间。 

如何针对 DHCP 客户机启用动态 DNS 更新

启用或禁用重复 IP 地址检测功能。 

启用或禁用 DHCP 服务器的功能,以便在为客户机提供 IP 地址之前确定此 IP 地址尚未使用。 

如何自定义 DHCP 性能选项(DHCP 管理程序)

如何自定义 DHCP 性能选项(命令行)

更改 DHCP 服务器用于读取配置信息的选项。 

启用或禁用按指定间隔自动读取 dhcptab 的功能,或者更改读取间隔。

如何自定义 DHCP 性能选项(DHCP 管理程序)

如何自定义 DHCP 性能选项(命令行)

更改中继代理点数/代理数。 

增加或减少在 DHCP 守护进程删除请求之前此请求可经过的网络数。 

如何自定义 DHCP 性能选项(DHCP 管理程序)

如何自定义 DHCP 性能选项(命令行)

更改对提供的 IP 地址进行高速缓存的时间长度。 

增加或减少 DHCP 服务在将所提供的 IP 地址提供给新客户机之前保留此地址的秒数。 

如何自定义 DHCP 性能选项(DHCP 管理程序)

如何自定义 DHCP 性能选项(命令行)

下图显示了 DHCP 管理程序的“修改服务选项”对话框。

图 15–3 DHCP 管理程序中的“修改服务选项”对话框

对话框显示了包含许多选项字段和复选框的“选项”选项卡。文中对此对话框的用途进行了说明。

更改 DHCP 日志选项

DHCP 服务可以将 DHCP 服务消息和 DHCP 事务记录到 syslog 中。有关 syslog 的更多信息,请参见 syslogd(1M)syslog.conf(4) 手册页。

记录到 syslog 中的 DHCP 服务消息包括:

您可以增加使用 DHCP 守护进程的详细选项报告的信息量。详细消息输出可以帮助您对 DHCP 问题进行疑难解答。请参见如何生成详细的 DHCP 日志消息(DHCP 管理程序)

另一种有用的错误诊断技术是事务日志。事务提供了有关 DHCP 服务器或 BOOTP 中继与客户机之间每次交换的信息。DHCP 事务包括以下消息类型:

BOOTP 中继事务包括以下消息类型:

缺省情况下,DHCP 事务日志处于禁用状态。DHCP 事务日志在启用后将缺省使用 syslog 中的 local0 工具。生成的 DHCP 事务消息的 syslog 严重级别为 notice。此严重级别将导致在记录其他系统通知的文件中记录 DHCP 事务。不过,由于使用 local 工具,因此可以独立于其他通知记录 DHCP 事务消息。要单独记录事务消息,您必须编辑 syslog.conf 文件以指定单独的日志文件。有关 syslog.conf 文件的更多信息,请参见 syslog.conf(4) 手册页。

您可以禁用或启用事务日志,并可指定 local0local7 之间的其他 syslog 工具,如如何启用和禁用 DHCP 事务日志(DHCP 管理程序)中所述。在服务器系统的 syslog.conf 文件中,您还可以指示 syslogd 在单独的文件中存储 DHCP 事务消息。有关更多信息,请参见如何将 DHCP 事务记录到单独的 syslog 文件中

Procedure如何生成详细的 DHCP 日志消息(DHCP 管理程序)

  1. 在 DHCP 管理程序中,从“服务”菜单中选择“修改”。

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

    将打开“修改服务选项”对话框并显示“选项”选项卡。请参见图 15–3

  2. 选择“详细日志消息”。

  3. 选择“重新启动服务器”。

    “重新启动服务器”选项位于对话框底部附近。

  4. 单击“确定”。

    对于此会话以及每个后续会话,守护进程将在详细模式下运行,直到重置此选项。详细模式会降低守护进程的效率,因为显示消息要花费时间。

Procedure如何生成详细的 DHCP 日志消息(命令行)

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

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

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

  2. 键入以下命令设置详细模式:


    # /usr/sbin/dhcpconfig -P VERBOSE=true
    

    下次启动 DHCP 服务器时,此服务器将以详细模式运行,直到关闭详细模式。

    要关闭详细模式,请键入以下命令:


    # /usr/sbin/dhcpconfig -P VERBOSE=
    

    此命令不为 VERBOSE 关键字设置任何值,这样会导致从服务器的配置文件中删除此关键字。

    详细模式会降低守护进程的效率,因为显示消息要花费时间。

Procedure如何启用和禁用 DHCP 事务日志(DHCP 管理程序)

此过程可为所有后续 DHCP 服务器会话启用和禁用事务日志。

  1. 在 DHCP 管理程序中,从“服务”菜单中选择“修改”。

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

  2. 选择“将事务处理记录到系统日志设备”。

    要禁用事务日志,请取消选中此选项。

  3. (可选的)选择 0 到 7 之间的本地工具,用于记录 DHCP 事务。

    缺省情况下,在记录系统通知的位置记录 DHCP 事务,具体取决于 syslogd 的配置方式。如果要将 DHCP 事务记录到一个单独的没有记录其他系统通知的文件,请参见如何将 DHCP 事务记录到单独的 syslog 文件中

    启用事务日志之后,消息文件便会迅速变得非常庞大。

  4. 选择“重新启动服务器”。

  5. 单击“确定”。

    守护进程将在选定的 syslog 工具中为此会话以及每个后续会话记录事务,直到禁用日志为止。

Procedure如何启用和禁用 DHCP 事务日志(命令行)

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

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

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

  2. 选择以下步骤之一:

    • 要启用 DHCP 事务日志,请键入以下命令:


      # /usr/sbin/dhcpconfig -P LOGGING_FACILITY=syslog-local-facility
      

      syslog-local-facility 是 0 到 7 之间的一个数字。如果省略此选项,则使用 0。

      缺省情况下,在记录系统通知的位置记录 DHCP 事务,具体取决于 syslogd 的配置方式。如果要将 DHCP 事务记录到一个单独的没有记录其他系统通知的文件,请参见如何将 DHCP 事务记录到单独的 syslog 文件中

      启用事务日志之后,消息文件便会迅速变得非常庞大。

    • 要禁用 DHCP 事务日志,请键入以下命令:


      # /usr/sbin/dhcpconfig -P LOGGING_FACILITY=
      

      请注意,不要为此参数提供任何值。

Procedure如何将 DHCP 事务记录到单独的 syslog 文件中

  1. 成为 DHCP 服务器系统上的超级用户或承担等效角色。

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

    为 DHCP 管理配置文件指定的角色可能没有足够的权限来执行此任务。角色必须拥有编辑 syslog 文件的权限。

  2. 在服务器系统上编辑 /etc/syslog.conf 文件以添加具有如下格式的一行:


    localn.notice     path-to-logfile
    

    n 是您为事务日志指定的 syslog 工具编号,path-to-logfile 是用于记录事务的文件的完整路径。

    例如,您可以添加以下行:

    local0.notice /var/log/dhcpsrvc

    有关 syslog.conf 文件的更多信息,请参见 syslog.conf(4) 手册页。

通过 DHCP 服务器启用动态 DNS 更新

DNS 为 Internet 提供了名称到地址以及地址到名称的服务。进行 DNS 映射之后,便可通过系统的主机名或 IP 地址访问此系统。还可以从系统所在域的外部访问此系统。

DHCP 服务可以通过两种方法使用 DNS:

您可以启用 DHCP 服务,以便针对提供自己主机名的 DHCP 客户机更新 DNS 服务。要使 DNS 更新功能能够正常工作,必须正确设置 DNS 服务器、DHCP 服务器以及 DHCP 客户机。此外,域中的其他系统不得使用请求的主机名。

如果以下陈述成立,则 DHCP 服务器的 DNS 更新功能即可正常工作:

Procedure如何针对 DHCP 客户机启用动态 DNS 更新


注 –

应注意,动态 DNS 更新存在安全风险

缺省情况下,Oracle Solaris : DNS 守护进程 (in.named) 不允许动态更新。动态 DNS 更新的授权在 DNS 服务器系统上的 named.conf 配置文件中授予。没有提供任何其他安全性。您必须仔细权衡此功能为用户提供的便利性和启用动态 DNS 更新时存在的安全风险。


  1. 在 DNS 服务器上,以超级用户的身份编辑 /etc/named.conf 文件。

  2. named.conf 文件中查找适当的域的 zone 部分。

  3. 将 DHCP 服务器的 IP 地址添加到 allow-update 关键字中。

    如果 allow-update 关键字不存在,请插入该关键字。

    例如,如果 DHCP 服务器驻留在地址 10.0.0.110.0.0.2 上,则应按如下方式修改 dhcp.domain.com 区域的 named.conf 文件:


    zone "dhcp.domain.com" in {
                 type master;
                 file "db.dhcp";
                 allow-update { 10.0.0.1; 10.0.0.2; }; 
    };  
     
    zone "10.IN-ADDR.ARPA" in {
                 type master;
                 file "db.10"; 
                 allow-update { 10.0.0.1; 10.0.0.2; };
    }; 

    请注意,必须针对两个区域启用 allow-update,以便允许 DHCP 服务器同时更新 DNS 服务器上的 A 和 PTR 记录。

  4. 在 DHCP 服务器上,启动 DHCP 管理程序。


    # /usr/sadm/admin/bin/dhcpmgr &
    

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

  5. 从“服务”菜单中选择“修改”。

    将打开“修改服务选项”对话框。

  6. 选择“根据用户的要求更新 DNS 主机信息”。

  7. 指定在超时之前等待 DNS 服务器发出响应的秒数,然后单击“确定”。

    缺省值 15 秒应已足够。如果有超时问题,则可以随后增大此值。

  8. 单击“宏”选项卡,并确保指定了正确的 DNS 域。

    必须将带有正确域名的 DNSdmain 选项传递到任何需要动态 DNS 更新支持的客户机。缺省情况下,在服务器宏中指定 DNSdmain,此服务器宏用作绑定到每个 IP 地址的配置宏。

  9. 设置 DHCP 客户机以便在请求 DHCP 服务时指定其主机名。

    如果您使用 Oracle Solaris : DHCP 客户机,请参见如何使 Oracle Solaris : DHCPv4 客户机请求特定的主机名。如果您的客户机不是 Oracle Solaris : DHCP 客户机,请参见 DHCP 客户机文档以获取有关如何指定主机名的信息。

客户机主机名注册

如果让 DHCP 服务器针对放入 DHCP 服务中的 IP 地址生成主机名,则 DHCP 服务器可以在 NIS+、/etc/inet/hosts 或 DNS 名称服务中注册这些主机名。不能在 NIS 中进行主机名注册,因为 NIS 没有提供允许更新程序并传播 NIS 映射的协议。


注 –

仅当 DNS 服务器和 DHCP 服务器在同一系统上运行时,DHCP 服务器才能使用生成的主机名来更新 DNS。


如果 DHCP 客户机提供它自己的主机名,并且 DNS 服务器配置为允许从 DHCP 服务器进行动态更新,则 DHCP 服务器可以代表客户机更新 DNS。即使 DNS 服务器和 DHCP 服务器在不同的系统上运行,也可进行动态更新。有关启用此功能的更多信息,请参见通过 DHCP 服务器启用动态 DNS 更新

下表概括了使用各种名称服务对 DHCP 客户机系统进行的客户机主机名注册。

表 15–2 名称服务中的客户机主机名注册
 

主机名注册者 

名称服务 

DHCP 生成的主机名 

DHCP 客户机提供的主机名 

NIS 

NIS 管理员 

NIS 管理员 

NIS+ 

DHCP 工具 

DHCP 工具 

/etc/hosts

DHCP 工具 

DHCP 工具 

DNS 

DHCP 工具(如果 DNS 服务器与 DHCP 服务器在同一系统上运行) 

DNS 管理员(如果 DNS 服务器在其他系统上运行) 

DHCP 服务器(如果配置为进行动态 DNS 更新) 

DNS 管理员(如果 DHCP 服务器没有配置为进行动态 DNS 更新) 

Oracle Solaris : DHCP 客户机可以在 DHCP 请求中请求特定的主机名,前提是它们已配置为可执行此操作,如如何使 Oracle Solaris : DHCPv4 客户机请求特定的主机名中所述。请参阅其他 DHCP 客户机的供应商文档以确定是否支持此功能。

自定义 DHCP 服务器的性能选项

您可以更改影响 DHCP 服务器性能的选项。这些选项在下表中介绍。

表 15–3 影响 DHCP 服务器性能的选项

服务器选项 

说明 

关键字 

BOOTP 中继代理的最大跃点数 

如果请求经过的 BOOTP 中继代理数超过给定数量,则此请求会被丢弃。缺省的中继代理的最大跃点数为 4。对于大多数网络而言,四个跃点可能已经足够。如果 DHCP 请求经过多个 BOOTP 中继代理之后才到达 DHCP 服务器,则网络所需的跃点数可能超过四个。

RELAY_HOPS=integer

检测重复地址 

缺省情况下,服务器在将 IP 地址提供给客户机之前会对此地址执行 ping 操作。如果系统没有对 ping 操作做出响应,则表明尚未使用此地址。您可以禁用此功能,以便缩短服务器提供地址所花费的时间。但是,禁用此功能会存在使用重复 IP 地址的风险。

ICMP_VERIFY=TRUE/FALSE

按指定间隔自动重新装入 dhcptab

可以将服务器设置为按指定的间隔(以分钟为单位)自动读取 dhcptab。如果网络配置信息并非频繁更改且没有多台 DHCP 服务器,则无需自动重新装入 dhcptab。另外,请注意 DHCP 管理程序使您可以选择在更改数据之后让服务器重新装入 dhcptab

RESCAN_INTERVAL=min

按指定间隔对所提供的 IP 地址进行高速缓存 

服务器将 IP 地址提供给客户机之后,便会对此地址进行高速缓存。对所提供的地址进行高速缓存之后,服务器便不会再提供此地址。您可以更改对所提供的地址进行高速缓存的秒数。缺省值是 10 秒。在速度较慢的网络上,您可能需要延长对所提供的地址进行高速缓存的时间。

OFFER_CACHE_TIMEOUT=sec

以下过程介绍如何更改这些选项。

Procedure如何自定义 DHCP 性能选项(DHCP 管理程序)

  1. 在 DHCP 管理程序中,从“服务”菜单中选择“修改”。

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

  2. 更改所需的选项。

    有关选项的信息,请参见表 15–3

  3. 选择“重新启动服务器”。

  4. 单击“确定”。

Procedure如何自定义 DHCP 性能选项(命令行)

如果通过此过程更改选项,则仅当重新启动 DHCP 服务器之后才能使用已更改的选项。

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

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

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

  2. 修改一个或多个性能选项:


    # /usr/sbin/dhcpconfig -P keyword=value,keyword=value...
    

    keyword=value 可以是以下任一关键字:

    RELAY_HOPS=integer

    指定在守护进程删除 DHCP 或 BOOTP 数据报之前可以执行的中继代理的最大跃点数。

    ICMP_VERIFY=TRUE/FALSE

    启用或禁用重复 IP 地址自动检测功能。建议不要将此关键字设置为 FALSE

    RESCAN_INTERVAL=minutes

    指定 DHCP 服务器应当用于安排自动重新读取 dhcptab 信息的间隔(以分钟为单位)。

    OFFER_CACHE_TIMEOUT=seconds

    指定 DHCP 服务器应当对所提供的地址进行高速缓存的秒数,这是为了搜索 DHCP 客户机而延长的时间。缺省设置为 10 秒。


示例 15–1 设置 DHCP 性能选项

以下是如何指定所有命令选项的示例。


# dhcpconfig -P RELAY_HOPS=2,ICMP_VERIFY=TRUE,\
RESCAN_INTERVAL=30,OFFER_CACHE_TIMEOUT=20