Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
dhclient(8)							   dhclient(8)

       dhclient	- Dynamic Host Configuration Protocol Client

       dhclient	[ -Ddq1	] [ -cf	config-file ] [	-lf lease-file ] [ -p port ] [
       -pf pidfile ] [ if0 [ ...ifN ] ]

       The Internet Software Consortium	 DHCP  Client,	dhclient,  provides  a
       means  for configuring one or more network interfaces using the Dynamic
       Host Configuration Protocol, BOOTP  protocol,  or  if  these  protocols
       fail, by	statically assigning an	address.

       The DHCP	protocol allows	a host to contact a central server which main-
       tains a list of IP addresses which may be assigned on one or more  sub-
       nets.	A  DHCP	client may request an address from this	pool, and then
       use it on a temporary basis for communication on	 network.    The  DHCP
       protocol	also provides a	mechanism whereby a client can learn important
       details about the network to which it is	attached, such as the location
       of a default router, the	location of a name server, and so on.

       On startup, dhclient reads the dhclient.conf for	configuration instruc-
       tions.	It then	gets a list of all the	network	 interfaces  that  are
       configured  in the current system.   For	each interface,	it attempts to
       configure the interface using the DHCP protocol.

       In order	to keep	track of  leases  across  system  reboots  and	server
       restarts,  dhclient  keeps a list of leases it has been assigned	in the
       dhclient.leases(5) file.	  On startup, after reading the	 dhclient.conf
       file,  dhclient	reads  the  dhclient.leases file to refresh its	memory
       about what leases it has	been assigned.

       When a new lease	is  acquired,  it  is  appended	 to  the  end  of  the
       dhclient.leases	file.	 In  order  to	prevent	the file from becoming
       arbitrarily  large,  from  time	to  time  dhclient   creates   a   new
       dhclient.leases	file from its in-core lease database.  The old version
       of the dhclient.leases file is retained under  the  name	 dhcpd.leases~
       until the next time dhclient rewrites the database.

       Old  leases are kept around in case the DHCP server is unavailable when
       dhclient	is first invoked (generally during  the	 initial  system  boot
       process).    In	that  event,  old leases from the dhclient.leases file
       which have not yet expired are tested, and if they are determined to be
       valid,  they  are  used	until  either  they  expire or the DHCP	server
       becomes available.

       A mobile	host which may sometimes need to access	a network on which  no
       DHCP server exists may be preloaded with	a lease	for a fixed address on
       that network.   When all	attempts to contact a DHCP server have failed,
       dhclient	 will  try  to	validate the static lease, and if it succeeds,
       will use	that lease until it is restarted.

       A mobile	host may also travel to	some networks on  which	 DHCP  is  not
       available  but  BOOTP  is.    In	 that  case, it	may be advantageous to
       arrange with the	network	administrator for an entry on the BOOTP	 data-
       base,  so  that	the  host can boot quickly on that network rather than
       cycling through the list	of old leases.

       The names of the	network	interfaces that	 dhclient  should  attempt  to
       configure  may be specified on the command line.	 If no interface names
       are specified on	the command line dhclient will	identify  all  network
       interfaces,  elimininating  non-broadcast  interfaces  if possible, and
       attempt to configure each interface.

       The -D flag causes dhclient to save the script it creates  for  use  in
       conjunction with	dhclient-script	in /tmp.

       Dhclient	will normally run in the foreground until it has configured an
       interface, and then will	revert to running in the background.   To  run
       force  dhclient	to  always  run	 as  a foreground process, the -d flag
       should be specified.  This is useful  when  running  dhclient  under  a
       debugger, or when running it out	of inittab on System V systems.

       If  dhclient  should listen and transmit	on a port other	than the stan-
       dard (port 68), the -p flag may used.  It should	be followed by the udp
       port number that	dhclient should	use.  This is mostly useful for	debug-
       ging purposes.  If the -p flag is specified, the	client	will  transmit
       responses  to  servers  at  a port number that is one less than the one
       specified - i.e., if you	specify	-p 68, then the	client will listen  on
       port  68	and transmit to	port 67.  Datagrams that must go through relay
       agents are sent to the port number specified with the -p	flag - if  you
       wish to use alternate port numbers, you must configure any relay	agents
       you are using to	use the	same alternate port numbers.

       The -cf flag may	be used	to change the shell script from	the default of

       The  -lf	 flag  may  be	used  to change	the lease output file from the
       default of /var/db/dhclient.leases.

       The -pf flag may	be used	to change the PID file	from  the  default  of

       The  -q	flag  may  be  used to reduce the amount of screen output from

       The -1 flag cause dhclient to try once to get a lease.	If  it	fails,
       dhclient	exits with exit	code two.

       The syntax of the dhclient.conf(5) file is discussed separately.

       /etc/dhclient.conf,  /var/db/dhclient.leases, /var/db/dhclient.leases~.

       dhclient.conf(5), dhclient.leases(5), dhclient-script(8)

       dhclient(8) has been written for	the Internet  Software	Consortium  by
       Ted Lemon <> in cooperation with	Vixie Enterprises.  To
       learn   more   about   the   Internet	Software    Consortium,	   see	 To  learn  more  about	Vixie Enterprises, see

       This client was substantially modified and enhanced by Elliot Poger for
       use  on	Linux while he was working on the MosquitoNet project at Stan-

       The current version owes	much to	Elliot's Linux enhancements,  but  was
       substantially reorganized and partially rewritten by Ted	Lemon so as to
       use the same networking framework that the Internet Software Consortium
       DHCP  server  uses.   Much system-specific configuration	code was moved
       into a shell script so that as support for more	operating  systems  is
       added,  it  will	 not be	necessary to port and maintain system-specific
       configuration code to these operating  systems  -  instead,  the	 shell
       script can invoke the native tools to accomplish	the same purpose.



Want to link to this manual page? Use this URL:

home | help