Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ in.dhcpd(1M) — SunOS 5.6

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

dhcp_config(1M)

dhtadm(1M)

pntadm(1M)

syslogd(1M)

dhcp(4)

dhcp_network(4)

dhcptab(4)

ethers(4)

hosts(4)

netmasks(4)

nsswitch.conf(4)

attributes(5)

in.dhcpd(1M)

NAME

in.dhcpd − Dynamic Host Configuration Protocol server

SYNOPSIS

/usr/lib/inet/in.dhcpd [ −denv ] [ −b  automatic | manual ] [ −h relay_hops ]

[ −i interface, ... ] [ −o DHCP_offer_Time_to_Live ] [ −t dhcptab_rescan_interval ]

/usr/lib/inet/in.dhcpd −r IP_address | hostname, ... [ −dv ] [ −h relay_hops ]

[ −i interface, ...]

DESCRIPTION

in.dhcpd is a daemon that responds to Dynamic Host Configuration Protocol (DHCP) requests and optionally to BOOTP protocol requests.  The daemon forks a copy of itself that runs as a background process.  It must be run as root.  The daemon has two run modes, DHCP server (with optional BOOTP compatibility mode) and BOOTP relay agent mode.  The first synopsis illustrates the options available in the DHCP/BOOTP server mode.  The second synopsis illustrates the options available when the daemon is run in BOOTP relay agent mode. 

The DHCP and BOOTP protocols are used to provide configuration parameters to Internet hosts.  Client machines are allocated their IP addresses as well as other host configuration parameters through this mechanism. 

The DHCP/BOOTP server manages two types of databases:

dhcptab database (see dhcptab(4))
dhcp network databases (see dhcp_network(4))

The dhcptab database contains macro definitions defined using a termcap-like syntax which permits network administrators to define groups of DHCP configuration parameters to be returned to clients.  A DHCP/BOOTP server will return hostname, network broadcast address, network subnet mask, or IP maximum transfer unit (MTU) if requested by a client attached to the same network as the server without having to be explicitly configured in the dhcptab. 

The dhcp network databases contain client identifier to IP address mappings.  These databases are named after the network they support.  For example, 10_0_0_0 is the dhcp network database for the 10.0.0.0 network. 

The dhcp network databases are consulted during runtime.  A client request received from a network for which no dhcp network database exists is ignored. 

Multiple DHCP servers on the same network operate much more efficiently if they share DHCP databases through NIS+ or NFS.  Sharing allows DHCP servers to communicate through a common datastore, increasing redundancy and balancing load among cooperating servers. 

The hosts database is consulted if the clients request their hostname.  See hosts(4) and nsswitch.conf(4) for more details. 

This command may change in future releases of Solaris software.  Scripts, programs, or procedures that use this command might need modification when upgrading to future Solaris software releases. 

OPTIONS

−b  automatic | manual
This option enables BOOTP compatibility mode, allowing the DHCP server to respond to BOOTP clients.  The option argument specifies whether the DHCP server should automatically allocate permanent lease IP addresses to requesting BOOTP clients if the clients are not registered in the server’s database (automatic) or respond only to BOOTP clients who have been manually registered in the server’s databases (manual).  This option only affects DHCP server mode. 

−d Debugging mode.  The daemon remains as a foreground process, and displays verbose messages as it processes DHCP and/or BOOTP datagrams.  Messages are displayed on the current TTY.  This option can be used in both DHCP/BOOTP server mode and BOOTP relay agent mode. 

−h relay_hops
Specifies the maximum number of relay agent hops that can occur before the daemon drops the DHCP/BOOTP datagram.  The default number of relay agent hops is 4.  This option affects both DHCP/BOOTP server mode and BOOTP relay agent mode. 

−i interface, ...
Selects the network interfaces that the daemon should monitor for DHCP/BOOTP datagrams.  The daemon will ignore DHCP/BOOTP datagrams on network interfaces not specified in this list.  This option is only useful on machines that have multiple network interfaces.  If this option is not specified, then the daemon will listen for DHCP/BOOTP datagrams on all network interfaces.  The option argument consists of a comma-separated list of interface names.  It affects both DHCP/BOOTP server and BOOTP relay agent run modes. 

−n Disable automatic duplicate IP address detection.  When this option is specified, the DHCP server will not attempt to verify that an IP address it is about to offer a client is not in use.  By default, the DHCP server pings an IP address before offering it to a DHCP/BOOTP client, to verify that the address is not in use by another machine. 

−o DHCP_offer_Time_To_Live
Specifies the number of seconds the DHCP server should cache the offers it has extended to discovering DHCP clients.  The default setting is 10 seconds.  On slow network media, this value can be increased to compensate for slow network performance.  This option only affects DHCP server mode. 

−r IP_address | hostname, ...
This option enables BOOTP relay agent mode.  The option argument specifies a comma-separated list of IP addresses or hostnames of DHCP or BOOTP servers to which the relay agent is to forward BOOTP requests.  When the daemon is started in this mode, any DHCP databases are ignored, and the daemon simply acts as a BOOTP relay agent. 

A BOOTP relay agent listens to UDP port 68, and forwards BOOTP request packets received on this port to the destinations specified on the command line.  It supports the BROADCAST flag described in RFC 1542.  A BOOTP relay agent can run on any machine that has knowledge of local routers, and thus does not have to be an Internet gateway machine. 

Note that the proper entries must be made to the netmasks database so that the DHCP server being served by the BOOTP relay agents can identify the subnet mask of the foreign BOOTP/DHCP client’s network.  See netmasks(4) for the format and use of this database. 

−t dhcptab_rescan_interval
Specifies the interval in minutes that the DHCP server should use to schedule the automatic rereading of the dhcptab information.  By default, the DHCP server reads the dhcptab database at startup or upon receipt of a SIGHUP signal.  Typically, one would use this option if the changes to the dhcptab are relatively frequent.  Once the contents of the dhcptab have stabilized, one can turn off this option to avoid needless reinitialization from the dhcptab. 

−v Verbose mode.  The daemon displays more messages than in the default mode.  Note that verbose mode can reduce daemon efficiency due to the time taken to display messages.  Messages are displayed to the current TTY if the debugging option is used; otherwise, messages are logged to the syslogd facility.  This option can be used in both DHCP/BOOTP server mode and BOOTP relay agent mode. 

EXAMPLES

The following command starts a DHCP server in BOOTP compatibility mode, permitting the server to automatically allocate permanent IP addresses to BOOTP clients which are not registered in the server’s database; limits the server’s attention to incoming datagrams on network devices le2 and tr0; drops BOOTP packets whose hop count exceeds 2; configures the DHCP server to cache extended DHCP offers for 15 seconds; and schedules dhcptab rescans to occur every 10 minutes:

# in.dhcpd −i le2,tr0 −h 2 −o 15 −t 10 −b automatic

The following command starts the daemon in BOOTP relay agent mode, registering the hosts bladerunner and 10.0.0.5 as relay destinations, with debugging and verbose modes enabled, and drops BOOTP packets whose hop count exceeds 5:

# in.dhcpd −d −v −h 5 −r bladerunner,10.0.0.5

FILES

/var/dhcp/dhcptab file or NIS+ table

/var/dhcp/NNN_NNN_NNN_NNN
where NNN_NNN_NNN_NNN are database files(s) or NIS+ table(s) which are named for the network they support.  For example, 10_0_0_0 is the dhcp network database which serves the 10.0.0.0 network.  See dhcp_network(4) for more details. 

/etc/hosts file or NIS+ table

/etc/init.d/dhcp file

/etc/default/dhcp configuration file.  See dhcp(4) for more details. 

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Availability SUNWdhcsu

SEE ALSO

dhcp_config(1M), dhtadm(1M), pntadm(1M), syslogd(1M), dhcp(4), dhcp_network(4), dhcptab(4), ethers(4), hosts(4), netmasks(4), nsswitch.conf(4), attributes(5)

Alexander, S., and R. Droms, DHCP Options and BOOTP Vendor Extensions, RFC 2132, Silicon Graphics, Inc., Bucknell University, March 1997.

Droms, R., Interoperation Between DHCP and BOOTP, RFC 1534, Bucknell University, October 1993.

Droms, R., Dynamic Host Configuration Protocol, RFC 2131, Bucknell University, March 1997.

Wimer, W., Clarifications and Extensions for the Bootstrap Protocol, RFC 1542, Carnegie Mellon University, October 1993.

SunOS 5.6  —  Last change: 9 May 1997

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026