DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
Configuring a Dynamic Host Configuration Protocol (DHCP) server

Configuring a Dynamic Host Configuration Protocol (DHCP) server

The Dynamic Host Configuration Protocol allows a host on a network to receive configuration parameters including an IP address at boot time. DHCP is an extension of the Bootstrap Protocol (BOOTP), but differs in that DHCP can provide a complete set of TCP/IP configuration parameters and allows the dynamic assignment of IP addresses for a fixed lease. DHCP offers the following advantages to you as a network administrator: SCO DHCP provides a graphical administration utility, the DHCP Server Manager, to configure and maintain DHCP service.


NOTE: UnixWare® 7 also provides a DHCP client capability (see dhcpc(1Mtcp)). You can use the Network Configuration Manager to configure a system's LAN interface to obtain its basic TCP/IP settings using dhcpc.

SCO DHCP implements the server aspects of the Dynamic Host Configuration Protocol as defined in the Internet standards: RFC 1534, RFC 1542, RFC 2131, and RFC 2132.

The SCO DHCP server receives IP addresses from the Address Allocation Server (AAS), which provides the same service to other network services that assign temporary IP addresses. See ``Configuring an Address Allocation Server (AAS)''.

The configuration parameters supplied by the SCO DHCP server include those supported by BOOTP, the set of parameters specified for DHCP, and user-defined parameters.

When to use SCO DHCP

The purpose of DHCP is to deliver configuration information to individual network hosts and to reduce the administrative work involved in configuring larger IP networks. DHCP can provide configuration information to any host directly connected to the network, either permanently or temporarily. The type of IP address assignment, however, depends upon the type of host.

Network hosts best suited to dynamic address assignment are desktop and laptop PCs that are routinely connected and disconnected from the network. Users of such machines typically do not require constant connection to the network. Dynamic assignment allocates them the address they need, for only the period of time that they need it, without requiring any action by you.

Other network hosts that provide a service on the network, such as routers, gateways or print servers are better suited to manual address assignment. This method gives them the same address every time they boot and you only have to configure the address once.


NOTE: If the DHCP server goes down, any machines about to boot or reboot, such as a router or print server, will not be able to receive their IP address and configuration parameters until the DHCP server is brought back up.

DHCP cannot provide configuration parameters to remote hosts connected to the network via PPP or SLIP. Pools of IP addresses configured in the Address Allocation Server for use by PPP clients should not normally be shared with those pools configured for use by DHCP clients.

How the SCO DHCP server works

``Steps in serving configuration parameters to a DHCP client'' shows the steps that the SCO DHCP server normally undertakes to service a DHCP client with its configuration parameters.

Steps in serving configuration parameters to a DHCP client

The numbered steps in the figure show the sequence of events:

  1. When the SCO DHCP server receives a ``discover'' message from a client requesting configuration parameters, it constructs the set of parameters corresponding to the client from the DHCP configuration file. This set of parameters can be built from any combination of global options, subnet-specific options, class-specific options, and client-specific options. See ``DHCP options''.

  2. If there is no entry for the client in the configuration file, or if the client's entry does not contain an IP address, the DHCP server leases an IP address to the client from the Address Allocation Server (AAS).

    If the client's entry in the configuration file already contains an IP address, the DHCP server assigns that address to the client. See ``Manually assigning IP addresses''.

  3. If requested, the AAS server allocates a dynamically assigned IP address for the DHCP server to assign (see ``Dynamically assigning IP addresses''). The AAS server takes the address from a pool of addresses that are consistent with the client's subnet.

  4. The DHCP server constructs an ``offer'' message containing the client's configuration parameters (including an IP address) and sends it to the client.

  5. The server waits for a ``request'' from the client accepting the parameters and address.

  6. After the client accepts the offered parameters, the server sends an ``ack'' (acknowledgment) message completing the process.
Steps 5 and 6 are repeated whenever a DHCP client needs to renew the lease on its IP address. If the server sends a ``nak'' (negative acknowledgment) message instead of an ``ack'' message in step 6, the client must start again from step 1. This may happen if the requested IP address is no longer available.

For more information on DHCP message types and message exchange, see RFC 2131.

More than one SCO DHCP server can be configured on a network, if necessary, but these servers cannot share the same pool(s) of addresses. The DHCP server can configure clients on different subnets by using BOOTP gateways. See ``Setting up a BOOTP gateway'' for more information.

Manually assigning IP addresses

You can manually assign an IP address to a particular client by creating an entry for the client in the DHCP Server Manager and entering the IP address in the client's entry. The DHCP server always assigns this address to the client. Manually assigned addresses cannot belong to any address pools maintained by the AAS. The lease for a manually assigned address is infinite. See ``Configuring DHCP client option sets''.

Dynamically assigning IP addresses

If there is no entry for the client in the configuration file, or if the client's entry does not contain an IP address, the DHCP server requests one from the Address Allocation Server. The AAS allocates an address from the address pool assigned to the client's subnet in the DHCP configuration file. If a subnet does not have an address pool configured, addresses cannot be allocated to clients on that subnet. Although there is no guarantee that the client will receive the same IP address it received last time, the AAS always attempts to do so. A DHCP client can also request a specific IP address. See ``IP address assignment priority''.

Every address offered by the DHCP server has either a fixed or infinite lease. See ``The lease for an assigned IP address''.


NOTE: RFC 2131 also specifies an address allocation method called Automatic Allocation. In the SCO DHCP implementation, this is essentially a dynamically assigned address with an infinite lease.

IP address assignment priority

The DHCP server dynamically assigns IP addresses using the following priorities:

  1. Previous Address -- The DHCP server always assigns the address previously assigned to the client unless the address is unavailable.

  2. Requested Address -- If the previous address is unavailable, the DHCP server assigns the addresses requested by the client. (A DHCP client can request a specific IP address by using the ``Requested IP Address'' option in the ``discover'' message. In most cases, this is the previous address.)

  3. Arbitrary Address -- If the previous and requested address(es) are unavailable, the DHCP server assigns an arbitrary address from the configured pool.

The lease for an assigned IP address

When assigning an address pool to a subnet, you can also establish a default lease time and a maximum lease time for those addresses. The server uses the default lease time unless the client requests a specific lease time using the ``IP Address Lease Time'' option in either a ``discover'' message or a ``request'' message. If the client requests a lease time greater than the maximum, the server offers the maximum lease time.

Both the default and maximum leases can be configured to a maximum of 136 years. There is no minimum lease. Both leases can also be specified as infinite.

Clients can request an extension of the address lease. In addition to default and maximum lease times, you can configure the lease renewal and rebind time for the addresses in the pool. The DHCP server sends the lease renewal and rebind times to the client in the ``ack'' message. The server defines these values as percentages of the lease. The default renewal time in 50%, suggesting the client request a renewal when the lease is half over. The rebind time is the point at which the server suggests the client broadcast a renewal request. This is a second renewal attempt and accommodates multiple DHCP servers that may be sharing the address pool. The default is 90%. See ``Configuring subnet option sets'' for information about specifying leases and renewal information.

To prevent an address from being assigned to more than one client at the same time, DHCP temporarily reserves the address until the client accepts or rejects it. You can configure this initial reservation time in the DHCP configuration database as a server parameter. See ``Specifying DHCP server parameters''. After the client accepts the address, the DHCP server notifies AAS that the address has been leased. If the AAS is not notified, the address can be reallocated by the address server after the reservation time expires.

A leased IP address becomes available again when either the DHCP server receives a ``release'' message from the client or the lease expires. To account for the possibility of drift between the clocks of the server and client, you can specify a Lease Padding parameter which extends the length of the lease. The default is 1% of the lease. The unpadded lease is known to the client. The DHCP server knows the padded lease so preventing the server from thinking that the lease expired before the client does. See ``Specifying DHCP server parameters''.

DHCP options

The DHCP server can configure a client with any of the options specified in RFC 2132. DHCP uses the same request and reply packet format as BOOTP so configuration options are carried in the portion of the BOOTP packet reserved for vendor extensions. DHCP terms this the ``options'' field and expands it from 64 bytes to 312 bytes.

Multiple sets of DHCP options can be specified in the DHCP configuration database. The following table shows the possible types of option sets and their precedence:

Option set type Precedence Description
Client Highest Generally used to specify a static IP address for an individual client. The DHCP server automatically assigns this address to the client rather than using one obtained from the address pool assigned to the subnet. You can also create a client entry without a static address, if you need to specify unique option values for the client but still want its IP address to be assigned dynamically. A DHCP client identifies itself to the server using its network hardware (MAC) address, or using an identifier if it is an opaque client. As many sets of client options can be created as are needed.
User class Offered to any client that specifies the user class identifier in the ``discover'' message. As many sets of user class options can be created as are needed.
Subnet Includes the name of the address pool from which the DHCP server draws IP addresses to allocate to clients, the default and maximum leases for these addresses, and lease renewal and rebind times, along with a set of DHCP options specific to the subnet. As many sets of subnet options can be created as are needed.
Global Lowest Applies to all DHCP clients. Only one set of global options can be created.

The set of global DHCP options, for example, applies to all clients, whereas a set of subnet options applies only to the clients on a specified subnet. If you configure the same option in more than one set of options, the precedence of the option type decides which the DHCP server offers to the client.

For example, if the ``LPR Servers'' option is specified in both the subnet set of options and the global set of options, the DHCP server configures the client with the LPR Servers information defined for the subnet.

An additional class of options is vendor class options. These are intended to provide information that is specific to a particular vendor's hardware. These options are offered to any client that specifies the vendor class identifier in the ``discover'' message. As many sets of vendor class options can be created as are needed for different types of client hardware. It is also possible to redefine a standard option (with codes in the range 1 through 254) for use by a vendor class. Such a redefined option is called a ``vendor-specific option'', and is only visible to the vendor class for which it is defined. Vendor class options are delivered ``encapsulated'' to the client and so are not affected by precedence rules that the server applies to other options.

Mapping sets of DHCP options to a network

``Mapping sets of DHCP options to a network'' shows an example of how the option sets defined on the DHCP server can be considered as creating a map of the configuration parameters needed by DHCP clients:

Option overload

Although the DHCP client can specify a larger response packet size, the practical limit for DHCP options is 274 bytes. (An additional 192 bytes can be provided if the option overload feature is enabled. Option overload is a server parameter.) Each option consists of a 2-byte header and the option data, such as an integer or an array of IP addresses. A single option cannot exceed 255 bytes of data.

If the server finds that the configured options exceed the allowable limit, it uses as many options as possible starting from the top of the configured options list and sends an error message to /var/adm/log/syslog. Clients can send a configured options list in the ``discover'' message. In the situation mentioned above, this ``Parameters Request List'' takes precedence over any other configured options.

Default option values

Some DHCP options have default values. If you configure an option that has a default value and do not configure a value for the option, the DHCP server sends the default value. The following table lists DHCP options that have default values.

Option name Default value
Broadcast address Network/subnet number with all 1's for the host
Router discovery 1 (enable)
IP forwarding 0 (disable)
Non-local source routing 0 (disallow)
TCP keepalive garbage 0 (disable)
Default IP time to live 64
Ethernet encapsulation 0 (RFC 894, Ethernet version 2)
Default TCP keepalive interval 0 (no keepalives)
Time offset Obtained from host
Boot file size Obtained from host
See RFC 2132 for descriptions of these options.

User-defined and vendor-specific options

In addition to the DHCP options specified in RFC 2132, you can define new options with codes in the range 128 through 254. These user-defined options become part of the total set of DHCP options configurable globally or for any client, subnet, user class or vendor class. To define a new option, you need to specify the following information for it:

For vendor classes, you can define new DHCP options with codes in the range 1 through 254. Such vendor-specific options override any existing standard or user-defined global option, and they only apply to hardware in the vendor class for which they are defined. Details of their definition are normally provided in the documentation supplied by the hardware manufacturer.

Making DHCP work with BOOTP

The SCO DHCP server, in.dhcpd, does not support BOOTP clients directly. It can be configured to forward BOOTP requests to the BOOTP server, in.bootpd, as follows:

  1. Edit the file /etc/inetd.conf on the server. Make a backup copy of the file in case you need to recover the old version.

  2. Comment out the following entry in /etc/inetd.conf by inserting a ``#'' character at the start of the line:
    bootps dgram udp wait root /usr/sbin/in.bootpd in.bootpd
    

  3. Uncomment the following entries in /etc/inetd.conf by removing the ``#'' characters from the start of both lines:
    #bootps dgram/i udp wait root /usr/sbin/in.dhcpd in.dhcpd -b bootps-alt
    #bootps-alt dgram udp wait root /usr/sbin/in.bootpd in.bootpd -S
    
    The first entry configures dhcpd to forward BOOTP requests to bootpd on port bootps-alt (defined as 950 in /etc/services). The second entry configures bootpd to listen in slave mode on port bootps-alt.

  4. Save the file and exit.

  5. To enable the services, force inetd to re-read /etc/inetd.conf by sending it a SIGHUP signal:

    kill -HUP `cat /etc/saf/inetd/_pid`

    or by stopping and restarting it:

    sacadm -k -p inetd
    sacadm -s -p inetd

See the dhcpd(1Mtcp) and bootpd(1Mtcp) manual pages for more information.

The DHCP Server Manager interface

You can start the DHCP Server Manager in the following ways:

For more information on using SCOadmin managers, see ``Administering your system with SCOadmin''.

Depending upon the selection made in the View menu, the main screen of the DHCP Server Manager shows global entries, subnet entries, client entries, user classes, vendor classes, or user-defined options that you have configured. Use View -> Expand to examine the complete details for a selected entry in the list, and View -> Collapse to display just its name and description. You can also expand and collapse individual entries by double-clicking on them. You can expand and collapse all entries using View -> Expand All and View -> Collapse All.

With the DHCP Server Manager, you can perform the following tasks:

Specifying user-defined and vendor-specific options

You can define new options that are not available in the set of global options. These are termed ``user-defined options'' and are assigned codes in the range 128 through 254.

When configuring options for a vendor class, you can also define vendor-specific options that are unique to an individual vendor class. Vendor class options can be assigned codes in the range 1 through 254. This means that you can redefine any standard global option if this is required by a particular vendor's hardware. This redefined option only applies to the vendor class for which it is defined.

To create a new user-defined or vendor-specific option using the DHCP Server Manager:

  1. If you want to add a global user-defined option, select View -> User Defined Options, and then select Entry -> Add.

    If you want to add a vendor-specific option, click on the Add button next to the list of defined options on the Vendor Generic Options Configuration screen.

  2. Enter the following information for the user-defined option:

    Identifier
    A numeric identifier for the option in the range 128 through 254 (1 through 254 for vendor-specific options). A name for the option will be generated with the format ``optionxxx'' where xxx is the numeric identifier.

    Description
    An additional text string describing the option.

    Type
    Select the data type of the option from the list. Possible values are:

    8-bit integer

    Unsigned 8-bit integer

    16-bit integer

    Unsigned 16-bit integer

    32-bit integer

    Unsigned 32-bit integer

    Boolean
    0 for false, 1 for true

    IP address
    in dotted decimal notation

    String
    text

    Binary
    hexadecimal number

    Array
    If you selected an integer or an IP address type, select this if the option can consist of more than one value. An array can be interpreted as a set of individual values or as a range of values.

    Min value
    If the type is an integer, enter the minimum allowed value.

    Max value
    If the type is an integer, enter the maximum allowed value.

    Min length
    If the type is string or binary, enter the minimum length in bytes allowed.

    If the type is an array of integers or IP addresses, enter the minimum number of entries allowed.


    Max length
    If the type is string or binary, enter the maximum length in bytes allowed.

    If the type is an array of integers or IP addresses, enter the maximum number of entries allowed.

  3. Click on OK when you have finished configuring the option.
Once a user-defined option has been added, it is available to be assigned a value in a client, user class, vendor class, subnet, or global set of options.

To modify a user-defined or vendor-specific option using the DHCP Server Manager:

  1. If you want to modify a global user-defined option, select View -> User Defined Options, select the option from those listed, then select Entry -> Modify.

    If you want to modify a vendor-specific option, select the option from the list of defined options on the Vendor Generic Options Configuration screen, and click on Modify.

  2. Make the necessary changes and click on OK.


NOTE: You cannot change the Identifier or Name.

To delete a user-defined or vendor-specific option using the DHCP Server Manager:

  1. If you want to delete a global user-defined option, select View -> User Defined Options, select the option from those listed, then select Entry -> Delete.

    If you want to delete a vendor-specific option, select the option from the list of defined options on the Vendor Generic Options Configuration screen, and click on Delete.

  2. When asked to confirm that you want to delete the option, click on OK.

Configuring DHCP options

Global DHCP options are parameters which are not specific to individual subnets and are usually the same for all hosts. Examples are the list of DNS name servers and the name of the local domain.

You can also define DHCP options for sets of subnet, vendor class, user class, and client options by clicking on Generic while defining or modifying an option set. The options defined within a set of options always override the globally defined option. An option defined within a set can override that defined in other sets according to the precedence of the set. See ``DHCP options'' for more information.


NOTE: You can define additional options (user-defined options) with codes in the range 128 through 254 as described in ``Specifying user-defined and vendor-specific options''. Such an option definition applies globally to all subnet, vendor class, user class, and client sets. It is indicated by the tag (global) in the list of available DHCP options.

When configuring a vendor class, you can define vendor-specific options with codes in the range 1 through 254. A vendor-specific option definition only applies to the vendor class for which it is defined. It is indicated by the tag (vendor) in the list of available DHCP options for the vendor class.


To configure options using the DHCP Server Manager:

  1. To add or modify global options, select View -> Global Options. Select Entry -> Add if no options are currently defined, or otherwise select Entry -> Modify.

    To modify options defined within an option set, select one of Subnets, Clients, User Classes, Vendor Classes, or User Defined Options from the View menu. Select the option set from those listed, and select Entry -> Modify.

  2. Configure the options that you want to apply by moving them from the ``Unused'' list to the ``Configured'' list.

    To add an option, highlight the option in the ``Unused'' list and click on Add -> to move it to the ``Configured'' list. Enter the value(s) for the option and click on OK.

    To modify an option within a set, highlight it in the ``Configured'' list and click on Edit value. Change its value(s) and then click on OK.

    To delete an option from a set, highlight it in the ``Configured'' list and click on LEFT ARROW Remove to move it to the ``Unused'' list.

  3. If you are defining the set of options for a vendor class, you can create a vendor-specific option by redefining an existing global option. To do this, highlight the global option in the ``Unused'' list and click on Add.

    Once you have defined a vendor-specific option, you can select it for use by the vendor class by moving the option to the ``Configured'' list and defining its value.

    To modify an existing vendor-specific option, highlight it in the ``Unused'' list and click on Modify.

    To delete an existing vendor-specific option, highlight it in the ``Unused'' list and click on Delete.

  4. Click on OK when the ``Configured'' list contains the list of desired options in the set.
An alternative way of removing an option from the global set is to select View -> Global Options, select the option to be deleted from those listed, then select Entry -> Delete. Click on OK when prompted to confirm the deletion.

Configuring subnet option sets

You can add subnets configured on your network that have DHCP clients. For existing subnet entries, you can change the address pool, default lease parameters and DHCP options. You can also access the Address Allocation Server from the Subnet Entry screen and modify address pools to facilitate the changes you need to make. If you need to change a subnet address, you must first delete the subnet entry and then define it again with the new subnet address.

Adding a subnet option set

To add a subnet definition using the DHCP Server Manager:

  1. Select View -> Subnets.

  2. Select Entry -> Add.

  3. Enter the subnet's IP address in dot notation, the subnet mask, the address pool assigned to the subnet and an optional description.


    NOTE: To define or modify an address pool, click on Address pools to invoke the Address Allocation Manager.

  4. Click on Lease to enter the default lease parameters:

    Default lease time
    To set an infinite default lease, click on Unlimited. Otherwise, click on Limited and enter the lease in days, hours and minutes. The lease must be greater than 0, and less than or equal to 49,674 days (approximately 136 years).

    Maximum lease time
    To set an infinite maximum lease, click on Unlimited. Otherwise, click on Limited and enter the maximum lease in days, hours and minutes. The lease must be greater than 0, and less than or equal to 49,674 days.

    Renewal on (percent)
    Enter the lease renewal time as a percentage of the lease. The default value is 75% of the lease, suggesting the client request a renewal when the lease is three-quarters over.

    Rebind on (percent)
    Enter the lease rebind time as a percentage of the lease. The rebind time defines when a client makes a second attempt to renew its lease if the first attempt failed. The default is 90% of the lease, suggesting the client make a second attempt to renew the lease when 10% of the lease remains.

  5. To configure DHCP options that are specific to the subnet you are adding, click on Generic. See ``Configuring DHCP options'' for more information.

  6. Click on OK.

Modifying a subnet option set

To modify a subnet definition using the DHCP Server Manager:

  1. Select View -> Subnets.

  2. Highlight the subnet you want to change and select Entry -> Modify.

  3. Make the necessary changes and click on OK.


    NOTE: You cannot change the subnet address.

Deleting a subnet option set

To delete a subnet definition using the DHCP Server Manager:

  1. Select View -> Subnets.

  2. Highlight the subnet you want to delete.

  3. Select Entry -> Delete.

  4. When asked to confirm that you want to delete the subnet, click on OK.

Specifying vendor class option sets

If you need to group machines according to their hardware or software configuration, and these machines need options other than standard options, you can define vendor classes to achieve this. A client of a particular vendor class will then receive the appropriate vendor-specific information and parameters.

Adding a vendor class option set

To define a vendor class using the DHCP Server Manager:

  1. Select View -> Vendor Classes.

  2. Select Entry -> Add.

  3. Enter an Identifier (a text string) and a description for the entry. This corresponds to the vendor-specific string that the DHCP client will use to identify itself to the DHCP server in its ``discover'' message.

  4. Click on Generic to configure the options for this vendor class. You can also define new option types (vendor-specific options) that must be uniquely specified for client hardware from different manufacturers. See ``Configuring DHCP options'' for more information.

  5. Click on OK.

Modifying a vendor class option set

To modify a vendor class using the DHCP Server Manager:

  1. Select View -> Vendor Classes.

  2. Highlight the vendor class you want to change and select Entry -> Modify.

  3. Make the necessary changes and click on OK.


NOTE: You cannot change the Identifier.

Deleting a vendor class option set

To delete a vendor class using the DHCP Server Manager:

  1. Select View -> Vendor Classes.

  2. Highlight the vendor class you want to delete.

  3. Select Entry -> Delete.

  4. When asked to confirm that you want to delete the vendor class, click on OK.

Specifying user class option sets

If you need to group machines according to department, work group, or physical location, and you want to provide the same options to all clients in the group, you can add user classes to achieve this. You might, for example, want different groups to use different print or DNS servers.


NOTE: Clients in these groups must be configured to request the user class.

Adding a user class option set

To define a user class using the DHCP Server Manager:

  1. Select View -> User Classes.

  2. Select Entry -> Add.

  3. Enter an Identifier (a text string) and a description for the entry.

  4. Click on Generic to configure the options for this user class. See ``Configuring DHCP options'' for more information.

  5. Click on OK.

Modifying a user class option set

To modify a user class using the DHCP Server Manager:

  1. Select View -> User Classes.

  2. Highlight the user class you want to change and select Entry -> Modify.

  3. Make the necessary changes and click on OK.


    NOTE: You cannot change the Identifier.

Deleting a user class option set

To delete a user class using the DHCP Server Manager:

  1. Select View -> User Classes.

  2. Highlight the user class you want to delete.

  3. Select Entry -> Delete.

  4. When asked to confirm that you want to delete the user class, click on OK.

Configuring DHCP client option sets

If a DHCP client requires a custom set of options but not a fixed address, you can create an entry without defining an IP address or host name.

Machines such as networked printers, print servers, DNS servers, and file servers require fixed IP addresses so that clients can locate them. Some of these machines may also be capable of obtaining configuration parameters as DHCP clients.

Adding a client option set

To define a client configuration using the DHCP Server Manager:

  1. Select View -> Clients.

  2. Select Entry -> Add.

  3. Enter the following information about the client:

    Client identifier type
    Select Hardware if the client identifies itself to the server using the MAC address of its network adapter. Select Opaque if the client identifies itself using a string.

    Client identifier
    If the client identifier type is Opaque, enter the string that a client uses to identify itself.

    Hardware type
    If the client identifier type is Hardware, select the frame type that it uses: Ethernet for Ethernet II (traditional Ethernet) framing or IEEE 802 for IEEE 802.n framing.

    IEEE 802.3 frames can use the same network topology as Ethernet II frames but their structure is different. Most TCP/IP networks are configured to use Ethernet II framing.

    If your network has a Token Ring or Token Bus topology, select IEEE 802.


    Hardware address
    If the client identifier type is Hardware, enter the MAC address of its network adapter. Enter the address in hexadecimal and do not use colon notation. For example, you would enter ``0000c034f152'' rather than ``00:00:c0:34:f1:52''.

    Description
    An optional short description of the client.

  4. To define a static IP address for the client, click on Client. Enter the client's IP address in dot notation and click on OK. The IP address must not belong to an address pool that has been configured for dynamic address allocation.


    NOTE: Do not define an IP address if you only want to assign specific DHCP options to the client. DHCP will dynamically obtain an address from the AAS server and assign it to the client.

  5. To configure DHCP options that are specific to the client you are defining, click on Generic. See ``Configuring DHCP options'' for more information.

  6. Click on OK.

Modifying a client option set

To modify a client configuration using the DHCP Server Manager:

  1. Select View -> Clients.

  2. Highlight the client you want to change and select Entry -> Modify.

  3. Make the necessary changes and click on OK.


    NOTE: You cannot change the Hardware address or the Client identifier type.

Deleting a client option set

To delete a client configuration using the DHCP Server Manager:

  1. Select View -> Clients.

  2. Highlight the client you want to delete.

  3. Select Entry -> Delete.

  4. When asked to confirm that you want to delete the client, click on OK.

Specifying DHCP server parameters

To specify DHCP server parameters using the DHCP Server Manager:

  1. Select Server -> Edit Server Parameters.

  2. You can specify the following parameters:

    Initial lease reservation time
    Define the time in minutes for which an address is reserved while the server offers it to a client. The lease begins when the client accepts the address. This reservation period prevents an address from being offered to more than one client at the same time. The default value is 10 minutes.

    Pad lease by (percent)
    Enter the amount of time, as a percentage of the lease, that you want to extend the lease to allow for clock drift between the server and the client. The default is 1% of the lease. The unpadded lease is known to the client. The DHCP server knows the padded lease so preventing the server from thinking that the lease has expired before the client does.

    Probe addresses
    Specify if you want the server to ping an address before it is allocated to make sure it is free.

    DHCP option overload
    Specify if you wish to use option overload. Enabling this option allows the server to use the sname or file fields to carry DHCP options if the options field is full.

    Click on OK.
To specify the location of the Address Allocation Server (AAS) using the DHCP Server Manager:

  1. Select Server -> Address Allocation Server.

  2. If the AAS server runs on the same host as the DHCP server, select Local.

    If the AAS server does not run on the same host as the DHCP server, select Remote, enter the IP address of the AAS server, and enter a password that will authenticate the DHCP server to the AAS server.

  3. Click on OK.

Troubleshooting DHCP

Use these procedures for solving the following problems with DHCP:

Cannot boot client

If a particular client will not boot, the problem may center on IP address assignment. If the DHCP server dynamically assigns an address to the client, first check /var/adm/log/syslog and search for the ``No available addresses'' message. This indicates that all the addresses in the pool assigned to the client's subnet have been allocated. There are a number of actions you could take:

  1. Reconfigure the address pool with more addresses, provided you have unused addresses available on the subnet. You can use the Address pools button in the Subnet Entry screen to invoke the Address Allocation Manager.

  2. Review the address pool's current allocation information in the Address Allocation Manager and look for any disabled addresses. Enabling these addresses will make them available again. See ``Releasing, disabling, and re-enabling addresses'' in "Configuring the Address Allocation Server (AAS)".

  3. Review the allocated addresses in the address pool's current allocation information and try to identify addresses that you know are not really in use even though they are allocated. These would probably be addresses with long or infinite leases (lease duration) which were allocated to temporary network machines such as laptop PCs. (This is the result of setting a long or infinite default lease time when configuring the subnet for DHCP.) Release any allocated addresses that are not in use. See ``Releasing, disabling, and re-enabling addresses'' in "Configuring the Address Allocation Server (AAS)".
After you have increased the number of addresses available in the pool, restart the DHCP client.

Another possibility is that the DHCP client may require certain vendor-specific options to be provided by the DHCP server so that the client can boot successfully. You must define a set of vendor-specific options within a vendor class and assign values to these. The data in these options will be assigned only to DHCP clients which specify the identifier for the vendor class. The identifier must be defined to be the same as the string that the clients use to identify their hardware type to the server. The documentation supplied by the hardware manufacturer should detail the vendor class identifier as well as the DHCP option codes, data types, and values of any vendor-specific options that the clients will require. See ``Specifying vendor class option sets'' for more information.

DHCP cannot find AAS

If the DHCP server cannot find the Address Allocation Server, that server may be down and needs to be restarted using the Address Allocation Manager.

Clients not being configured with all options

If a client has been configured with an IP address and DHCP options, but not with all the options you specified in the DHCP Server Manager, too many options may have been specified for the client. The DHCP server has a 274-byte practical limit for DHCP options (466 bytes if the Option Overload feature is enabled). Check /var/adm/log/syslog for one or more messages of the form ``Option code did not fit in packet''. This indicates that the DHCP server did not send all the options specified for the client because the total size of all the client's options exceeded the ``options'' field size. Follow the steps below to determine why there may be too many options:

  1. Check to see if the option overload parameter is specified in the DHCP server parameters. Setting this parameter allows the server to use the ``sname'' and ``file'' fields of the ``offer'' message, which provides an additional 192 bytes for options. See ``Specifying DHCP server parameters''.

  2. Check the values configured for the options sent to the client in the appropriate DHCP option list (subnet, client, user class, vendor class or global). You can specify an array of values for some options, such as an array of IP addresses for the Routers option. Arrays that consist of many nonsequential values consume space in the ``options'' field which excludes options found farther down on the configured list from being sent in the ``offer'' message. For arrays of IP addresses, a single range of addresses consumes the least space.

  3. Determine if the client included a ``parameter request list'' in the ``discover'' message by examining the client's DHCP configuration. These options take precedence over the options you have configured for the client, subnet and classes in the DHCP Server Manager. If the options requested by the client are different from the options configured by you, the total group of options may exceed the size limitation. Depending upon the total size of all the configured options, the options you've configured which are toward the bottom of the list may be excluded from the ``offer'' message sent to the client. If this scenario is true, you will have to select the most important options for the client and eliminate the less important ones.

For more about DHCP

To obtain more information about DHCP, see the following manual pages:

Manual page Information provided
aasd(1Mtcp) Address Allocation Server daemon
aasd.conf(4tcp) Address Allocation Server daemon configuration file
bootpd(1Mtcp) Internet Bootstrap Protocol server daemon
bootpgw(1Mtcp) Internet Bootstrap Protocol gateway daemon
dhcpd(1Mtcp) Dynamic Host Configuration Protocol daemon
dhcpd.conf(4tcp) Dynamic Host Configuration Protocol daemon configuration file
To get more information about DHCP, see the following Request for Comments (RFCs). For information on how to obtain RFCs, see ``Obtaining RFCs from the Internet''.

RFC Title
1122 Requirements for Internet Hosts -- Communication Layers
1534 Interoperation Between DHCP and BOOTP
1542 Clarifications and Extensions for the Bootstrap Protocol
2131 Dynamic Host Configuration Protocol
2132 DHCP Options and BOOTP Vendor Extensions


© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 22 April 2004