{
    "mode": "man",
    "parameter": "dhclient",
    "section": "8",
    "url": "https://www.chedong.com/phpMan.php/man/dhclient/8/json",
    "generated": "2026-06-03T02:32:26Z",
    "synopsis": "dhclient [ -4 | -6 ] [ -S ] [ -N [ -N...  ] ] [ -T [ -T...  ] ] [ -P [ -P...  ] ] -R ] [ -i ]\n[ -I ] [ -4o6 port ] [ -D LL|LLT ] [ -p port-number ] [ -d ] [ -df  duid-lease-file  ]  [  -e\nVAR=value  ] [ -q ] [ -1 ] [ -r | -x ] [ -lf lease-file ] [ -pf pid-file ] [ --no-pid ] [ -cf\nconfig-file ] [ -sf script-file ] [ -s server-addr ] [ -g relay ] [ -n ] [ -nw ]  [  -w  ]  [\n--dad-wait-time seconds ] [ --prefix-len-hint length ] [ --decline-wait-time seconds ] [ -v ]\n[ --version ] [ if0 [ ...ifN ] ]",
    "sections": {
        "NAME": {
            "content": "dhclient - Dynamic Host Configuration Protocol Client\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "dhclient [ -4 | -6 ] [ -S ] [ -N [ -N...  ] ] [ -T [ -T...  ] ] [ -P [ -P...  ] ] -R ] [ -i ]\n[ -I ] [ -4o6 port ] [ -D LL|LLT ] [ -p port-number ] [ -d ] [ -df  duid-lease-file  ]  [  -e\nVAR=value  ] [ -q ] [ -1 ] [ -r | -x ] [ -lf lease-file ] [ -pf pid-file ] [ --no-pid ] [ -cf\nconfig-file ] [ -sf script-file ] [ -s server-addr ] [ -g relay ] [ -n ] [ -nw ]  [  -w  ]  [\n--dad-wait-time seconds ] [ --prefix-len-hint length ] [ --decline-wait-time seconds ] [ -v ]\n[ --version ] [ if0 [ ...ifN ] ]\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "The Internet Systems Consortium DHCP Client, dhclient, provides a means for  configuring  one\nor  more network interfaces using the Dynamic Host Configuration Protocol, BOOTP protocol, or\nif these protocols fail, by statically assigning an address.\n",
            "subsections": []
        },
        "OPERATION": {
            "content": "The DHCP protocol allows a host to contact a central server which maintains a list of IP  ad‐\ndresses  which  may be assigned on one or more subnets.  A DHCP client may request an address\nfrom this pool, and then use it on a temporary basis for communication on network.  The  DHCP\nprotocol  also  provides  a  mechanism whereby a client can learn important details about the\nnetwork to which it is attached, such as the location of a default router, the location of  a\nname server, and so on.\n\nThere  are two versions of the DHCP protocol DHCPv4 and DHCPv6.  At startup the client may be\nstarted for one or the other via the -4 or -6 options.\n\nOn startup, dhclient reads the dhclient.conf for configuration instructions.  It then gets  a\nlist  of  all the network interfaces that are configured in the current system.  For each in‐\nterface, it attempts to configure the interface using the DHCP protocol.\n\nIn order to keep track of leases across system reboots and server restarts, dhclient keeps  a\nlist  of  leases it has been assigned in the dhclient.leases file.  On startup, after reading\nthe dhclient.conf file, dhclient reads the dhclient.leases file to refresh its  memory  about\nwhat leases it has been assigned.\n\nWhen  a new lease is acquired, it is appended to the end of the dhclient.leases file.  In or‐\nder to prevent the file from becoming arbitrarily large, from time to time dhclient creates a\nnew  dhclient.leases  file  from  its  in-core  lease  database.   The  old  version  of  the\ndhclient.leases file is retained under the name dhclient.leases~ until the next time dhclient\nrewrites the database.\n\nOld  leases are kept around in case the DHCP server is unavailable when dhclient is first in‐\nvoked (generally during the initial system boot process).  In that event, old leases from the\ndhclient.leases  file which have not yet expired are tested, and if they are determined to be\nvalid, they are used until either they expire or the DHCP server becomes available.\n\nA mobile host which may sometimes need to access a network on which no DHCP server exists may\nbe  preloaded with a lease for a fixed address on that network.  When all attempts to contact\na DHCP server have failed, dhclient will try to validate the static lease,  and  if  it  suc‐\nceeds, will use that lease until it is restarted.\n\nA  mobile  host may also travel to some networks on which DHCP is not available but BOOTP is.\nIn that case, it may be advantageous to arrange with the network administrator for  an  entry\non  the BOOTP database, so that the host can boot quickly on that network rather than cycling\nthrough the list of old leases.\n",
            "subsections": []
        },
        "COMMAND LINE": {
            "content": "The names of the network interfaces that dhclient should attempt to configure may  be  speci‐\nfied  on  the command line.  If no interface names are specified on the command line dhclient\nwill normally identify all network interfaces, eliminating non-broadcast interfaces if possi‐\nble, and attempt to configure each interface.\n\nIt  is  also possible to specify interfaces by name in the dhclient.conf file.  If interfaces\nare specified in this way, then the client will only configure  interfaces  that  are  either\nspecified  in the configuration file or on the command line, and will ignore all other inter‐\nfaces.\n\nThe client normally prints no output during its startup sequence.  It can  be  made  to  emit\nverbose  messages  displaying the startup sequence events until it has acquired an address by\nsupplying the -v command line argument.  In either case, the client logs messages  using  the\nsyslog(3) facility.\n",
            "subsections": []
        },
        "OPTIONS": {
            "content": "",
            "subsections": [
                {
                    "name": "-4",
                    "content": "is the default and cannot be combined with -6.\n",
                    "flag": "-4"
                },
                {
                    "name": "-6",
                    "content": "configuration  parameters.  It cannot be combined with -4.  The -S -T -P -N and -D ar‐\nguments provide more control over aspects of the DHCPv6 processing.  Note: it  is  not\nrecommended to mix queries of different types together or even to share the lease file\nbetween them.\n",
                    "flag": "-6"
                },
                {
                    "name": "-4o6",
                    "content": "Participate in the DHCPv4 over DHCPv6 protocol specified by RFC 7341.  This associates\na  DHCPv4  and a DHCPv6 client to allow the v4 client to send v4 requests encapsulated\nin a v6 packet.  Communication between the two clients is done on a pair of UDP  sock‐\nets  bound to ::1 port and port + 1. Both clients must be launched using the same port\nargument.\n"
                },
                {
                    "name": "-1",
                    "content": "mum  duration of the initial exchange to timeout (from dhclient.conf with a default of\nsixty seconds).\n",
                    "flag": "-1"
                },
                {
                    "name": "-d",
                    "content": "the  foreground  until  is has configured an interface at which time it will revert to\nrunning in the background.  This option is useful when running the client under a  de‐\nbugger, or when running it out of inittab on System V systems.  This implies -v.\n",
                    "flag": "-d"
                },
                {
                    "name": "-nw",
                    "content": "acquired.\n"
                },
                {
                    "name": "-q",
                    "content": "",
                    "flag": "-q"
                },
                {
                    "name": "-v",
                    "content": "",
                    "flag": "-v"
                },
                {
                    "name": "-w",
                    "content": "will exit if it isn't able to identify any network interfaces to configure.  On laptop\ncomputers and other computers with hot-swappable I/O buses,  it  is  possible  that  a\nbroadcast interface may be added after system startup.  This flag can be used to cause\nthe client not to exit when it doesn't find any such interfaces.  The omshell(1)  pro‐\ngram  can then be used to notify the client when a network interface has been added or\nremoved, so that the client can attempt to configure an IP address on that interface.\n",
                    "flag": "-w"
                },
                {
                    "name": "-n",
                    "content": "the -w flag.\n",
                    "flag": "-n"
                },
                {
                    "name": "-e",
                    "content": "Define additional environment variables for the environment where dhclient-script exe‐\ncutes.  You may specify multiple -e options on the command line.\n",
                    "flag": "-e"
                },
                {
                    "name": "-r",
                    "content": "the PID file.  When shutdown via this method dhclient-script will be executed with the\nspecific reason for calling the script set.  The client normally doesn't  release  the\ncurrent lease as this is not required by the DHCP protocol but some cable ISPs require\ntheir clients to notify the server if they wish to release an assigned IP address.\n",
                    "flag": "-r"
                },
                {
                    "name": "-x",
                    "content": "dhclient  process  as  previously  recorded  in  the PID file.  When shutdown via this\nmethod dhclient-script will be executed with  the  specific  reason  for  calling  the\nscript set.\n",
                    "flag": "-x"
                },
                {
                    "name": "-p",
                    "content": "The  UDP port number on which the DHCP client should listen and transmit.  If unspeci‐\nfied, dhclient uses the default port of 68.  This is mostly useful for debugging  pur‐\nposes.   If a different port is specified on which the client should listen and trans‐\nmit, the client will also use a different destination port - one less than the  speci‐\nfied port.\n",
                    "flag": "-p"
                },
                {
                    "name": "-s",
                    "content": "Specify  the  server IP address or fully qualified domain name to use as a destination\nfor DHCP protocol messages before dhclient has  acquired  an  IP  address.   Normally,\ndhclient  transmits  these  messages  to 255.255.255.255 (the IP limited broadcast ad‐\ndress).  Overriding this is mostly useful for debugging purposes.  This feature is not\nsupported in DHCPv6 (-6) mode.\n",
                    "flag": "-s"
                },
                {
                    "name": "-g",
                    "content": "Set  the giaddr field of all packets to the relay IP address simulating a relay agent.\nThis is for testing purposes only and should not be expected to work in any consistent\nor useful way.\n",
                    "flag": "-g"
                },
                {
                    "name": "-i",
                    "content": "constructed and saved.  The DUID will be used to construct a RFC4361 style  client  id\nthat  will  be included in the client's messages.  This client id can be overridden by\nsetting a client id in the configuration file.  Overriding the client id in this fash‐\nion is discouraged.\n",
                    "flag": "-i"
                },
                {
                    "name": "-I",
                    "content": "--decline-wait-time seconds\nSpecify  the  time (in seconds) that an IPv4 client should wait after declining an ad‐\ndress before issuing a discover.  The default is 10  seconds  as  recommended  by  RFC\n2131, Section 3.1.5.  A value of zero equates to no wait at all.\n\n--version Print version number and exit.\n\nOptions available for DHCPv6 mode:\n",
                    "flag": "-I"
                },
                {
                    "name": "-S",
                    "content": "address).  This implies -6.  It also doesn't rewrite the lease database.\n",
                    "flag": "-S"
                },
                {
                    "name": "-T -T -6",
                    "content": "ables the normal address query.  See -N to restore it.\n",
                    "flag": "-6"
                },
                {
                    "name": "-P -6",
                    "content": "query.  See -N to restore it.  Multiple prefixes can be  requested  with  multiple  -P\nflags.  Note only one requested interface is allowed.\n",
                    "flag": "-6"
                },
                {
                    "name": "-R -N -T -P",
                    "content": "tions.  Normally even if the command line includes a number of these the  client  will\nbe  willing  to  accept the best lease it can even if the lease doesn't include all of\nthe requested items.  This option causes the client to only accept leases that include\nall of the requested items.\n\nNote  well:  enabling this may prevent the client from using any leases it receives if\nthe servers aren't configured to supply all of the items.\n",
                    "flag": "-P"
                },
                {
                    "name": "-D",
                    "content": "Override the default when selecting the type of  DUID  to  use.   By  default,  DHCPv6\ndhclient creates an identifier based on the link-layer address (DUID-LL) if it is run‐\nning in stateless mode (with -S, not requesting an address), or it creates an  identi‐\nfier  based  on the link-layer address plus a timestamp (DUID-LLT) if it is running in\nstateful mode (without -S, requesting an address).  When DHCPv4 is configured to use a\nDUID  using  -i  option the default is to use a DUID-LLT.  -D overrides these default,\nwith a value of either LL or LLT.\n",
                    "flag": "-D"
                },
                {
                    "name": "-N -6",
                    "content": "operation  after using -T or -P.  Multiple addresses can be requested with multiple -N\nflags.\n\n--address-prefix-len length\nSpecify the length of the prefix for IPv6 addresses. This value is passed by  dhclient\ninto  the client script via the environment variable, ip6prefixlen, when binding IPv6\naddresses.  The default value is 128.  Alternatively you may  change  the  default  at\ncompile time by setting DHCLIENTDEFAULTPREFIXLEN in includes/site.h.\n\n--dad-wait-time seconds\nSpecify  maximum  time  (in seconds) that the client should wait for the duplicate ad‐\ndress detection (DAD) to complete on an interface. This value  is  propagated  to  the\ndhclient  script in a dadwaittime environment variable. If any of the IPv6 addresses\non the interface are tentative (DAD is in progress), the  script  will  wait  for  the\nspecified  number  of seconds for DAD to complete. If the script ignores this variable\nthe parameter has no effect.\n\n--prefix-len-hint length\nWhen used in conjunction with -P, it directs the client to use the given length to use\na prefix hint of, \"::/length\", when requesting new prefixes.\n\nModifying default file locations: The following options can be used to modify the locations a\nclient uses for its files.  They can be particularly useful if, for example, /var/lib/dhcp or\n/var/run have not been mounted when the DHCP client is started.\n",
                    "flag": "-6"
                },
                {
                    "name": "-cf",
                    "content": "Path    to   the   client   configuration   file.    If   unspecified,   the   default\n/etc/dhcp/dhclient.conf is used.  See dhclient.conf(5) for a description of this file.\n"
                },
                {
                    "name": "-df",
                    "content": "Path to a secondary lease file.  If the primary lease file doesn't contain a DUID this\nfile  will  be searched.  The DUID read from the secondary will be written to the pri‐\nmary.  This option can be used to allow an IPv4 instance of the client to share a DUID\nwith  an IPv6 instance.  After starting one of the instances the second can be started\nwith this option pointing to the lease file of the first instance.  There  is  no  de‐\nfault.   If  no file is specified no search is made for a DUID should one not be found\nin the main lease file.\n"
                },
                {
                    "name": "-lf",
                    "content": "Path   to   the    lease    database    file.     If    unspecified,    the    default\n/var/lib/dhcp/dhclient.leases  is  used.   See dhclient.leases(5) for a description of\nthis file.\n"
                },
                {
                    "name": "-pf",
                    "content": "Path to the process ID file.  If unspecified,  the  default  /var/run/dhclient.pid  is\nused.\n"
                },
                {
                    "name": "--no-pid",
                    "content": "Option  to  disable  writing pid files.  By default the program will write a pid file.\nIf the program is invoked with this option it will not attempt to  kill  any  existing\nclient processes even if invoked with -r or -x.\n",
                    "long": "--no-pid"
                },
                {
                    "name": "-sf",
                    "content": "Path to the network configuration script invoked by dhclient when it gets a lease.  If\nunspecified, the default /sbin/dhclient-script is used.  See dhclient-script(8) for  a\ndescription of this file.\n"
                }
            ]
        },
        "PORTS": {
            "content": "During  operations  the  client  may  use  multiple UDP ports to provide different functions.\nWhich ports are opened depends on both the way you compiled your code and  the  configuration\nyou supply.  The following should provide you an idea of what ports may be in use.\n\nNormally  a DHCPv4 client will open a raw UDP socket to receive and send most DHCPv4 packets.\nIt also opens a fallback UDP socket for use in sending unicast packets.  Normally these  will\nboth use the well known port number for BOOTPC.\n\nFor  DHCPv6  the  client  opens a UDP socket on the well known client port and a fallback UDP\nsocket on a random port for use in sending unicast messages.  Unlike DHCPv4  the  well  known\nsocket doesn't need to be opened in raw mode.\n\nIf  you have included an omapi port statement in your configuration file then the client will\nopen a TCP socket on that port to listen for OMPAI connections.  When something connects  an‐\nother port will be used for the established connection.\n\nWhen DDNS is enabled at compile time (see includes/site.h) the client will open both a v4 and\na v6 UDP socket on random ports.  These ports are not opened unless/until  the  client  first\nattempts  to  do  an  update.   If the client is not configured to do updates, the ports will\nnever be opened.\n",
            "subsections": []
        },
        "CONFIGURATION": {
            "content": "The syntax of the dhclient.conf(5) file is discussed separately.\n",
            "subsections": []
        },
        "OMAPI": {
            "content": "The DHCP client provides some ability to control it while it is running, without stopping it.\nThis  capability  is  provided  using  OMAPI,  an API for manipulating remote objects.  OMAPI\nclients connect to the client using TCP/IP, authenticate, and can then examine  the  client's\ncurrent status and make changes to it.\n\nRather than implementing the underlying OMAPI protocol directly, user programs should use the\ndhcpctl API or OMAPI itself.  Dhcpctl is a wrapper that  handles  some  of  the  housekeeping\nchores  that OMAPI does not do automatically.  Dhcpctl and OMAPI are documented in dhcpctl(3)\nand omapi(3).  Most things you'd want to do with the client can be done  directly  using  the\nomshell(1) command, rather than having to write a special program.\n",
            "subsections": []
        },
        "THE CONTROL OBJECT": {
            "content": "The control object allows you to shut the client down, releasing all leases that it holds and\ndeleting any DNS records it may have added.  It also allows you to pause the  client  -  this\nunconfigures any interfaces the client is using.  You can then restart it, which causes it to\nreconfigure those interfaces.  You would normally pause the client prior to going into hiber‐\nnation  or  sleep on a laptop computer.  You would then resume it after the power comes back.\nThis allows PC cards to be shut down while the computer is hibernating or sleeping, and  then\nreinitialized to their previous state once the computer comes out of hibernation or sleep.\n\nThe control object has one attribute - the state attribute.  To shut the client down, set its\nstate attribute to 2.  It will automatically do a DHCPRELEASE.  To pause it,  set  its  state\nattribute to 3.  To resume it, set its state attribute to 4.\n",
            "subsections": []
        },
        "ENVIRONMENT VARIABLES": {
            "content": "The  following environment variables may be defined to override the builtin defaults for file\nlocations.  Note that use of the related command-line options will ignore  the  corresponding\nenvironment variable settings.\n\nPATHDHCLIENTCONF\nThe dhclient.conf configuration file.\n\nPATHDHCLIENTDB\nThe dhclient.leases database.\n\nPATHDHCLIENTPID\nThe dhclient PID file.\n\nPATHDHCLIENTSCRIPT\nThe dhclient-script file.\n",
            "subsections": []
        },
        "FILES": {
            "content": "",
            "subsections": [
                {
                    "name": "/sbin/dhclient-script,         /etc/dhcp/dhclient.conf,        /var/lib/dhcp/dhclient.leases,",
                    "content": ""
                },
                {
                    "name": "/var/run/dhclient.pid, /var/lib/dhcp/dhclient.leases~.",
                    "content": ""
                }
            ]
        },
        "SEE ALSO": {
            "content": "dhcpd(8),  dhcrelay(8),  dhclient-script(8),  dhclient.conf(5),   dhclient.leases(5),   dhcp-\neval(5).\n",
            "subsections": []
        },
        "AUTHOR": {
            "content": "dhclient(8) To learn more about Internet Systems Consortium, see https://www.isc.org\n\nThis client was substantially modified and enhanced by Elliot Poger for use on Linux while he\nwas working on the MosquitoNet project at Stanford.\n\nThe current version owes much to Elliot's Linux enhancements, but was  substantially  reorga‐\nnized  and  partially  rewritten by Ted Lemon so as to use the same networking framework that\nthe Internet Systems Consortium DHCP server uses.  Much  system-specific  configuration  code\nwas moved into a shell script so that as support for more operating systems is added, it will\nnot be necessary to port and maintain system-specific configuration code to  these  operating\nsystems  -  instead, the shell script can invoke the native tools to accomplish the same pur‐\npose.\n\ndhclient(8)",
            "subsections": []
        }
    },
    "summary": "dhclient - Dynamic Host Configuration Protocol Client",
    "flags": [
        {
            "flag": "-4",
            "long": null,
            "arg": null,
            "description": "is the default and cannot be combined with -6."
        },
        {
            "flag": "-6",
            "long": null,
            "arg": null,
            "description": "configuration parameters. It cannot be combined with -4. The -S -T -P -N and -D ar‐ guments 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."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Participate in the DHCPv4 over DHCPv6 protocol specified 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."
        },
        {
            "flag": "-1",
            "long": null,
            "arg": null,
            "description": "mum duration of the initial exchange to timeout (from dhclient.conf with a default of sixty seconds)."
        },
        {
            "flag": "-d",
            "long": null,
            "arg": null,
            "description": "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 de‐ bugger, or when running it out of inittab on System V systems. This implies -v."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "acquired."
        },
        {
            "flag": "-q",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-v",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-w",
            "long": null,
            "arg": null,
            "description": "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) pro‐ gram can then be used to notify the client when a network interface has been added or removed, so that the client can attempt to configure an IP address on that interface."
        },
        {
            "flag": "-n",
            "long": null,
            "arg": null,
            "description": "the -w flag."
        },
        {
            "flag": "-e",
            "long": null,
            "arg": null,
            "description": "Define additional environment variables for the environment where dhclient-script exe‐ cutes. You may specify multiple -e options on the command line."
        },
        {
            "flag": "-r",
            "long": null,
            "arg": null,
            "description": "the PID file. When shutdown via this method dhclient-script will be executed 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."
        },
        {
            "flag": "-x",
            "long": null,
            "arg": null,
            "description": "dhclient process as previously recorded in the PID file. When shutdown via this method dhclient-script will be executed with the specific reason for calling the script set."
        },
        {
            "flag": "-p",
            "long": null,
            "arg": null,
            "description": "The UDP port number on which the DHCP client should listen and transmit. If unspeci‐ fied, dhclient uses the default port of 68. This is mostly useful for debugging pur‐ poses. If a different port is specified on which the client should listen and trans‐ mit, the client will also use a different destination port - one less than the speci‐ fied port."
        },
        {
            "flag": "-s",
            "long": null,
            "arg": null,
            "description": "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 ad‐ dress). Overriding this is mostly useful for debugging purposes. This feature is not supported in DHCPv6 (-6) mode."
        },
        {
            "flag": "-g",
            "long": null,
            "arg": null,
            "description": "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."
        },
        {
            "flag": "-i",
            "long": null,
            "arg": null,
            "description": "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 a client id in the configuration file. Overriding the client id in this fash‐ ion is discouraged."
        },
        {
            "flag": "-I",
            "long": null,
            "arg": null,
            "description": "--decline-wait-time seconds Specify the time (in seconds) that an IPv4 client should wait after declining an ad‐ dress before issuing a discover. The default is 10 seconds as recommended by RFC 2131, Section 3.1.5. A value of zero equates to no wait at all. --version Print version number and exit. Options available for DHCPv6 mode:"
        },
        {
            "flag": "-S",
            "long": null,
            "arg": null,
            "description": "address). This implies -6. It also doesn't rewrite the lease database."
        },
        {
            "flag": "-6",
            "long": null,
            "arg": null,
            "description": "ables the normal address query. See -N to restore it."
        },
        {
            "flag": "-6",
            "long": null,
            "arg": null,
            "description": "query. See -N to restore it. Multiple prefixes can be requested with multiple -P flags. Note only one requested interface is allowed."
        },
        {
            "flag": "-P",
            "long": null,
            "arg": null,
            "description": "tions. Normally even if the command line includes a number of these the client will be willing to accept the best lease it can even if the lease doesn't include all of the requested items. This option causes the client to only accept leases that include all of the requested items. Note well: enabling this may prevent the client from using any leases it receives if the servers aren't configured to supply all of the items."
        },
        {
            "flag": "-D",
            "long": null,
            "arg": null,
            "description": "Override the default when selecting the type of DUID to use. By default, DHCPv6 dhclient creates an identifier based on the link-layer address (DUID-LL) if it is run‐ ning in stateless mode (with -S, not requesting an address), or it creates an identi‐ fier based on the link-layer address plus a timestamp (DUID-LLT) if it is running in stateful mode (without -S, requesting an address). When DHCPv4 is configured to use a DUID using -i option the default is to use a DUID-LLT. -D overrides these default, with a value of either LL or LLT."
        },
        {
            "flag": "-6",
            "long": null,
            "arg": null,
            "description": "operation after using -T or -P. Multiple addresses can be requested with multiple -N flags. --address-prefix-len length Specify the length of the prefix for IPv6 addresses. This value is passed by dhclient into the client script via the environment variable, ip6prefixlen, when binding IPv6 addresses. The default value is 128. Alternatively you may change the default at compile time by setting DHCLIENTDEFAULTPREFIXLEN in includes/site.h. --dad-wait-time seconds Specify maximum time (in seconds) that the client should wait for the duplicate ad‐ dress detection (DAD) to complete on an interface. This value is propagated to the dhclient script in a dadwaittime environment variable. If any of the IPv6 addresses on the interface are tentative (DAD is in progress), the script will wait for the specified number of seconds for DAD to complete. If the script ignores this variable the parameter has no effect. --prefix-len-hint length When used in conjunction with -P, it directs the client to use the given length to use a prefix hint of, \"::/length\", when requesting new prefixes. Modifying default file locations: The following options can be used to modify the locations a client uses for its files. They can be particularly useful if, for example, /var/lib/dhcp or /var/run have not been mounted when the DHCP client is started."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Path to the client configuration file. If unspecified, the default /etc/dhcp/dhclient.conf is used. See dhclient.conf(5) for a description of this file."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Path to a secondary lease file. If the primary lease file doesn't contain a DUID this file will be searched. The DUID read from the secondary will be written to the pri‐ mary. This option can be used to allow an IPv4 instance of the client to share a DUID with an IPv6 instance. After starting one of the instances the second can be started with this option pointing to the lease file of the first instance. There is no de‐ fault. If no file is specified no search is made for a DUID should one not be found in the main lease file."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Path to the lease database file. If unspecified, the default /var/lib/dhcp/dhclient.leases is used. See dhclient.leases(5) for a description of this file."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Path to the process ID file. If unspecified, the default /var/run/dhclient.pid is used."
        },
        {
            "flag": "",
            "long": "--no-pid",
            "arg": null,
            "description": "Option to disable writing pid files. By default the program will write a pid file. If the program is invoked with this option it will not attempt to kill any existing client processes even if invoked with -r or -x."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Path to the network configuration script invoked by dhclient when it gets a lease. If unspecified, the default /sbin/dhclient-script is used. See dhclient-script(8) for a description of this file."
        }
    ],
    "examples": [],
    "see_also": [
        {
            "name": "dhcpd",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/dhcpd/8/json"
        },
        {
            "name": "dhcrelay",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/dhcrelay/8/json"
        },
        {
            "name": "dhclient-script",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/dhclient-script/8/json"
        },
        {
            "name": "dhclient.conf",
            "section": "5",
            "url": "https://www.chedong.com/phpMan.php/man/dhclient.conf/5/json"
        },
        {
            "name": "dhclient.leases",
            "section": "5",
            "url": "https://www.chedong.com/phpMan.php/man/dhclient.leases/5/json"
        },
        {
            "name": "eval",
            "section": "5",
            "url": "https://www.chedong.com/phpMan.php/man/eval/5/json"
        }
    ],
    "tldr": {
        "source": "official",
        "description": "DHCP client.",
        "examples": [
            {
                "description": "Get an IP address for the `eth0` interface",
                "command": "sudo dhclient {{eth0}}"
            },
            {
                "description": "Release an IP address for the `eth0` interface",
                "command": "sudo dhclient -r {{eth0}}"
            }
        ]
    }
}