DHCP(7) — Special Files
NAME
DHCP, dhcp − Dynamic Host Configuration Protocol (DHCP) introductory information
DESCRIPTION
The Dynamic Host Configuration Protocol (DHCP) enables you to automatically assign IP addresses to clients on networks from a pool of addresses. The IP address assignment and configuration occurs automatically whenever appropriate client systems (workstations and portable computers) attach to a network. The Tru64 UNIX implementation of DHCP is based on the JOIN product by JOIN Systems, Inc. (JOIN is a trademark of JOIN Systems, Inc.)
Using DHCP has the following advantages:
•Automates IP address administration
•Provides central configuration of network computers
•Eliminates duplicate IP addresses
•Supports older style BOOTP (on clients only)
DHCP Environment
DHCP is based on the client-server model, in which client systems request resources from other systems called servers. A server is any host system or process that provides a network service. A client is any host system or process that uses services from a server.
A single host, or server, can provide more than one service. Servers are passive; they do not call clients, they wait for clients to call them.
The client always initiates the DHCP request. The server answers the request, subject to its own configuration rules.
DHCP Software
The DHCP software contains the following components:
•Daemon programs that handle communications between the server (joind) and the client (joinc)
•A graphical user interface program (xjoin) that sets up the dynamic DHCP databases
•Configuration files that contain information needed to start the DHCP daemons
•Administrative commands, such as programs that enable you to configure and maintain DHCP
The following sections briefly describe these components. For additional information, see the Network Administration: Services guide and the JOIN Server Administrator’s Guide. The latter is provided by JOIN Systems, Inc. in HTML format, and it can be accessed by opening the following file with a web browser:
/usr/doc/join/TOC.html
DHCP Daemons
On the Tru64 UNIX system, the DHCP daemons (joind and joinc) reside in the /usr/sbin directory. The following sections describe the daemons and their tasks.
The joind Daemon
The joind DHCP server daemon performs the following tasks:
•Reads the /etc/bootptab configuration file and the /etc/join/server.pcy policy file.
•Listens for client hosts requesting BOOTP or DHCP information.
•Responds to each client with an Internet address and other information that allows the client to boot and configure its TCP/IP stack.
•Supports both BOOTP and DHCP requests making the bootpd daemon no longer necessary on the server.
The joinc Daemon
The joinc DHCP client daemon performs the following tasks:
•Reads the /etc/join/client.pcy policy file.
•Starts the DHCP protocol handshake if requested to configure an interface.
•Sends a request to the broadcast address for the network or subnet.
•Receives configuration information, configures and brings up the interface, and then sleeps in the background until it needs to renew the lease.
•Brings down the interface if it cannot renew a lease.
The xjoin Graphical User Interface Program
The xjoin graphical user interface program resides in the /usr/bin/X11 directory, and enables you to configure the DHCP server and set up the DHCP dynamic databases.
DHCP Configuration Files
The /etc/bootptab file contains entries for DHCP and BOOTP clients. You add, delete, and modify entries in this file by using the xjoin program. The entries are then used by the joind server daemon to configure the DHCP and BOOTP clients.
The following table describes additional DHCP configuration files that reside in the /etc/join directory:
| File | Function |
| client.pcy | Governs the behavior of a DHCP client |
| namepool | Specifies names for dynamic host name assignment |
| netmasks | Contains an entry for each netmask that is other than the standard A, B, or C masks |
| nets | Specifies the networks to administer with the joind daemon |
| server.pcy | Governs the behavior of a DHCP server |
The client.pcy and server.pcy files contain information about remote systems contacted by DHCP, the devices used to contact these systems, the times to contact the systems, and the level of access that remote systems can have to the local system. You must edit the client.pcy file using an editor. You modify the server.pcy file by using the xjoin program. Configuring these files is optional.
The other files are configured by using the xjoin program.
Database Files
Starting with DHCP Version 2.3.n, DHCP database files are stored in a new format, one that is incompatible with older formats. An online document explains the reasons behind this change, lists the files that are affected, and provides instructions for converting the files to the new format. The document, README-DB237, and a conversion utility, conv185-237, are located in the /etc/join directory.
Administrative Commands
The following table lists the DHCP administrative commands and their functions. These commands are used by joind, joinc, or xjoin, and are not typically run by administrators.
| Command | Function |
| bptojdb | Converts bootptab entries into static IP entries for JOIN databases |
| checkdba | Checks the JOIN IP address lease database for internal consistency |
| dhcpcemu | Emulates a DHCP client |
| dhcpconf | Controls invocation of DHCP on the client |
| dhcpparm | Prints client DHCP parameters |
| jdbdump | Dumps fields from the DHCP dynamic databases |
| jdbmod | Adds, modifies, or deletes data in the DHCP dynamic database |
| jdbreg | Registers hosts in the DHCP dynamic databases |
| jdpshow | Displays the contents of a specific JOIN server database |
| probenis | Checks for the existence of a NIS server on the network |
| shleases | Displays a client’s IP address leases |
| showdbs | Displays the contents of the server’s dynamic database |
| showdhc | Displays a client’s configuration files |
| showhash | Dumps raw hash table contents for debugging use |
| showtree | Dumps raw binary tree contents for debugging use |
RESTRICTIONS
A cluster member should never be a DHCP client. It should always use static addressing.
If a cluster is to support a DHCP server, there can be only one DHCP server for all the cluster members using a common database with failover.
SEE ALSO
Commands: bptojdb(8), checkdba(8), dhcpcemu(8), dhcpconf(8), dhcpparm(8), jdbdump(8), jdbmod(8), jdbreg(8), jdbshow(8), probenis(8), shleases(8), showdbs(8), showdhc(8), xjoin(8)
Files: bootptab(4) client.pcy(4), dhcptags(4), namepool(4), netmasks(4), nets(4), server.pcy(4)
Technical Overview, Network Administration: Services, JOIN Server Administrator’s Guide (/usr/doc/join/TOC.html), /etc/join/README-DB237