dhclient(8)                                           dhclient(8)

     NAME
          dhclient - Dynamic Host Configuration Protocol Client

     SYNOPSIS
          dhclient [ -4 | -6 ] [ -S ] [ -N [ -N... ] ] [ -T [ -T... ]
          ] [ -P [ -P... ] ] -R ] [ -i ] [ -I ] [ -4o6 port ] [ -D
          LL|LLT ] [ -p port-number ] [ -d ] [ -df duid-lease-file ] [
          -e VAR=value ] [ -q ] [ -1 ] [ -r | -x ] [ -lf lease-file ]
          [ -pf pid-file ] [ --no-pid ] [ -cf config-file ] [ -sf
          script-file ] [ -s server-addr ] [ -g relay ] [ -n ] [ -nw ]
          [ -w ] [ --dad-wait-time seconds ] [ --prefix-len-hint
          length ] [ --decline-wait-time seconds ] [ -v ] [ --version
          ] [ if0 [ ...ifN ] ]

     DESCRIPTION
          The Internet Systems Consortium DHCP Client, dhclient, pro-
          vides a means for configuring one or more network interfaces
          using the Dynamic Host Configuration Protocol, BOOTP proto-
          col, or if these protocols fail, by statically assigning an
          address.

     OPERATION
          The DHCP protocol allows a host to contact a central server
          which maintains a list of IP addresses which may be assigned
          on one or more subnets.  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 pro-
          vides 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.

          There are two versions of the DHCP protocol DHCPv4 and
          DHCPv6.  At startup the client may be started for one or the
          other via the -4 or -6 options.

          On startup, dhclient reads the dhclient.conf for configura-
          tion instructions.  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 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

     Page 1                       Plan 9             (printed 5/25/22)

     dhclient(8)                                           dhclient(8)

          the dhclient.leases file.  In order to prevent the file from
          becoming arbitrarily large, from time to time dhclient cre-
          ates a new dhclient.leases file from its in-core lease data-
          base.  The old version of the dhclient.leases file is
          retained under the name dhclient.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 val-
          idate 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 database, so that the host can boot
          quickly on that network rather than cycling through the list
          of old leases.

     COMMAND LINE
          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 normally identify all network interfaces,
          eliminating non-broadcast interfaces if possible, and
          attempt to configure each interface.

          It is also possible to specify interfaces by name in the
          dhclient.conf file.  If interfaces are specified in this
          way, then the client will only configure interfaces that are
          either specified in the configuration file or on the command
          line, and will ignore all other interfaces.

          The client normally prints no output during its startup
          sequence.  It can be made to emit verbose messages display-
          ing the startup sequence events until it has acquired an
          address by supplying the -v command line argument.  In
          either case, the client logs messages using the syslog(3)
          facility.

     OPTIONS
          -4   Use the DHCPv4 protocol to obtain an IPv4 address and

     Page 2                       Plan 9             (printed 5/25/22)

     dhclient(8)                                           dhclient(8)

               configuration parameters.  This is the default and can-
               not be combined with -6.

          -6   Use the DHCPv6 protocol to obtain whatever IPv6
               addresses are available along with configuration param-
               eters.  It cannot be combined with -4.  The -S -T -P -N
               and -D arguments provide more control over aspects of
               the DHCPv6 processing.  Note: it is not recommended to
               mix queries of different types together or even to
               share the lease file between them.

          -4o6 port
               Participate in the DHCPv4 over DHCPv6 protocol speci-
               fied by RFC 7341.  This associates a DHCPv4 and a
               DHCPv6 client to allow the v4 client to send v4
               requests encapsulated in a v6 packet.  Communication
               between the two clients is done on a pair of UDP sock-
               ets bound to ::1 port and port + 1. Both clients must
               be launched using the same port argument.

          -1   Try to get a lease once.  On failure exit with code 2.
               In DHCPv6 this sets the maximum duration of the initial
               exchange to timeout (from dhclient.conf with a default
               of sixty seconds).

          -d   Force dhclient to run as a foreground process.  Nor-
               mally the DHCP client will run in the foreground until
               is has configured an interface at which time it will
               revert to running in the background.  This option is
               useful when running the client under a debugger, or
               when running it out of inittab on System V systems.
               This implies -v.

          -nw  Become a daemon immediately (nowait) rather than wait-
               ing until an IP address has been acquired.

          -q   Be quiet at startup, this is the default.

          -v   Enable verbose log messages.

          -w   Continue running even if no broadcast interfaces were
               found.  Normally DHCP client will exit if it isn't able
               to identify any network interfaces to configure.  On
               laptop computers and other computers with hot-swappable
               I/O buses, it is possible that a broadcast interface
               may be added after system startup.  This flag can be
               used to cause the client not to exit when it doesn't
               find any such interfaces.  The omshell(1) program can
               then be used to notify the client when a network inter-
               face has been added or removed, so that the client can
               attempt to configure an IP address on that interface.

     Page 3                       Plan 9             (printed 5/25/22)

     dhclient(8)                                           dhclient(8)

          -n   Do not configure any interfaces.  This is most likely
               to be useful in combination with the -w flag.

          -e VAR=value
               Define additional environment variables for the envi-
               ronment where dhclient-script executes.  You may spec-
               ify multiple -e options on the command line.

          -r   Release the current lease and stop the running DHCP
               client as previously recorded in the PID file.  When
               shutdown via this method dhclient-script will be exe-
               cuted with the specific reason for calling the script
               set.  The client normally doesn't release the current
               lease as this is not required by the DHCP protocol but
               some cable ISPs require their clients to notify the
               server if they wish to release an assigned IP address.

          -x   Stop the running DHCP client without releasing the cur-
               rent lease.  Kills existing dhclient process as previ-
               ously recorded in the PID file.  When shutdown via this
               method dhclient-script will be executed with the spe-
               cific reason for calling the script set.

          -p port-number
               The UDP port number on which the DHCP client should
               listen and transmit.  If unspecified, dhclient uses the
               default port of 68.  This is mostly useful for debug-
               ging purposes.  If a different port is specified on
               which the client should listen and transmit, the client
               will also use a different destination port - one less
               than the specified port.

          -s server-addr
               Specify the server IP address or fully qualified domain
               name to use as a destination for DHCP protocol messages
               before dhclient has acquired an IP address.  Normally,
               dhclient transmits these messages to 255.255.255.255
               (the IP limited broadcast address).  Overriding this is
               mostly useful for debugging purposes.  This feature is
               not supported in DHCPv6 (-6) mode.

          -g relay
               Set the giaddr field of all packets to the relay IP
               address simulating a relay agent.  This is for testing
               purposes only and should not be expected to work in any
               consistent or useful way.

          -i   Use a DUID with DHCPv4 clients.  If no DUID is avail-
               able in the lease file one will be constructed and
               saved.  The DUID will be used to construct a RFC4361
               style client id that will be included in the client's
               messages.  This client id can be overridden by setting

     Page 4                       Plan 9             (printed 5/25/22)

     dhclient(8)                                           dhclient(8)

               a client id in the configuration file.  Overriding the
               client id in this fashion is discouraged.

          -I   Use the standard DDNS scheme from RFCs 4701 & 4702.

     Page 5                       Plan 9             (printed 5/25/22)