8:dhcpcd

From Linux Man Pages

Jump to: navigation, search
      dhcpcd - DHCP client daemon
      

Contents

SYNOPSIS

      dhcpcd    [-dknrBCDHKNRSTY]    [-z <reboot    timeout>]    [-t <timeout>]   [-c <ExecFilePath>]   [-h <hostname>]
           [-i <vendorClassID>]  [-I <clientID>]  [-l <leasetime>]   [-s [ipaddr]]   [-G [gateway]]   [-w <windowsize>]
           [-L <ConfigDir>] [interface]

DESCRIPTION

      dhcpcd is an implementation of the DHCP client specified in RFC2131 (when -r option is not specified) and RFC1541
      (when -r option is specified).
 
      It gets the host information (IP address, netmask, broadcast address, etc.) from a DHCP server and configures the
      network  interface  of  the  machine  on  which it is running. It also tries to renew the lease time according to
      RFC2131 or RFC1541 (obsolete).


OPTIONS

      -d     With this flag dhcpcd will syslog(LOG_DEBUG,...) messages for about every step it does.  It's  recommended
             to  use  this  option since it doesn't really produce too much output but will greatly help in resolving a
             problems if any.  dhcpcd uses LOCAL0 syslog facility for its output. To catch dhcpcd debugging output  add
             the following line to /etc/syslog.conf file:
 
             local0.*     /var/log/dhcpcd.log
 
             and then refresh syslogd daemon:
 
             kill -1 `cat /var/run/syslogd.pid`
 
      -k     Sends  SIGHUP  signal  to  the dhcpcd process that is currently running. If dhcpcd receives SIGHUP it will
             send DCHP_RELEASE message to the server and destroy dhcpcd cache. In a case dhcpcd receives SIGTERM  which
             is  normally  used by shutdown(8) when rebooting the system dhcpcd will not send DHCP_RELEASE and will not
             destroy cache. When system boots dhcpcd will use cache to request the same IP  address  from  DHCP  server
             which was assigned before the system went down.
 
      -n     Sends  SIGALRM  signal to the dhcpcd process that is currently running which forces dhcpcd to try to renew
             the lease. If dhcpcd is not running, the flag is ignored and dhcpcd follows the normal startup  procedure.
 
      -r     Makes dhcpcd RFC1541 (obsolete) compliant.  dhcpcd is RFC2131 compliant unless this option is specified.
 
      -B     Requests broadcast response from DHCP server.
 
      -C     Forces dhcpcd to calculate checksum on received packets.
 
      -D     Forces dhcpcd to set domainname of the host to the domainname option supplied by DHCP server.
 
      -H     Forces  dhcpcd  to  set  hostname  of the host to the hostname option supplied by DHCP server.  By default
             dhcpcd will NOT set hostname of the host to the hostname option received from DHCP server.
 
      -K     Keep the searchlist from an existing resolv.conf when replacing the file.   dhcpcd  will  add  it  to  the
             domainname received from the DHCP server.
 
      -L <ConfigDir>
             dhcpcd  will use <ConfigDir> directory instead of default /var/lib/dhcpcd/ to store configuration informa-
             tion.
 
      -S     Forces dhcpcd to send second DHCP_DISCOVER message even after receiving DHCP_OFFER on the first one.  Some
             DHCP servers expect the client to send second DHCP_DISCOVER message before replying on DHCP_REQUEST.
 
      -R     Prevents dhcpcd from replacing existing /etc/resolv.conf file.
 
      -Y     Prevents  dhcpcd  from replacing existing /etc/yp.conf file. Domainname is not updated unless -D is speci-
             fied.
 
      -N     Prevents dhcpcd from replacing existing /etc/ntp.conf file.
 
      -T     Test case, when dhcpcd goes through the DHCP negotiation  sequence  but  doesn't  actually  configure  the
             interface.  It  does  however write the <ConfigDir>/dhcpcd-<interface>.info and <ConfigDir>/dhcpcd-<inter-
             face>.cache files and it does attempt to execute /sbin/dhcpd.exe script. The pathname of  dhcpcd.exe  exe-
             cutable  script  can  be  changed with -c  <ExecFilePath> option.  -T option is used primarily for testing
             DHCP servers, for obtaining multiple IP addresses for the same dummy interface, and/or configuring virtual
             interfaces in conjunction with -L  <ConfigDir> and -I  <ClientID> options.
 
      -z <reboottimeout>
             Specifies  (in  seconds)  for  how  long dhcpcd will stay in the INIT-REBOOT state (requesting the last IP
             address it had again).  The default is 5 seconds, and after this time, dhcpcd will go into the INIT  state
             (broadcasting  DHCPDISCOVERs). Note that dhcpcd also makes this transition when a DHCPNAK is received. The
             timeout can prevent dhcpcd from being stuck in this state, when there is no server which is configured  to
             be authoritative to reply with DHCPNAK, and a long -t timeout is used (to keep dhcpcd running. (This time-
             out is only relevant when there is already a cache file from a previous run for the interface.)
 
      -t <timeout>
             Specifies (in seconds ) for how long dhcpcd will try to get an IP address.  The  default  is  60  seconds.
             dhcpcd  will  not fork into background until it gets a valid IP address in which case dhcpcd will return 0
             to the parent process.  In a case dhcpcd times out before receiving a valid IP address  from  DHCP  server
             dhcpcd will return exit code 1 to the parent process.
 
      -c <ExecFilePath>
             dhcpcd  will  try to execute <ExecFilePath> script instead of default /sbin/dhcpd.exe script every time it
             configures or brings down the interface. See the description of dhcpcd.exe script in FILES section  below.
 
      -h <hostname>
             specifies  a string used for the hostname option field when dhcpcd sends DHCP messages. Some DHCP servers,
             notably those used by @Home Networks, require the hostname option field containing a  specific  string  in
             the DHCP messages from clients.
 
      -i <vendorClassID>
             Specifies  the  vendor  class  identifier  string.  dhcpcd uses the default vendor class identifier string
             (system name, system release, and machine type) if it is not specified.
 
      -I <ClientID>
             Specifies the client identifier string.  dhcpcd uses the default client identifier  (MAC  address  of  the
             network interface) if it is not specified.
 
      -l <leasetime>
             Specifies  (in  seconds) the recommended lease time to the server. (Note that the server can override this
             value if it sees fit). This  value  is  used  in  the  DHCP_DISCOVER  message.  The  default  is  infinite
             (0xffffffff).
 
      -s [ipaddr]
             Sends  DHCP_INFORM message to DHCP server using ipaddr.  The optional ipaddr parameter must be in the form
             xxx.xxx.xxx.xxx.  If no ipaddr parameter is given on the command line dhcpcd will use the IP address  cur-
             rently  assigned  to  the interface.  If there is no IP address currently assigned to the interface dhcpcd
             will use previously obtained IP address stored in <ConfigDir>/dhcpcd-<interface>.cache file.
 
      -G [gateway]
             Prevents dhcpcd from installing default routes provided by DHCP server.  If optional  gateway  ip  address
             parameter is supplied then use it for default route.
 
      -w <windowsize>
             Specifies the window size for the gateway route. Default = 32768.
 
      interface
             Specifies the network interface name (eth0, eth1, etc.).  dhcpcd uses the network interface eth0 unless an
             explicit name is specified.

FILES

      /var/lib/dhcpcd/
             Default <ConfigDir> directory used for storing files created by dhcpcd.  See option -L <ConfigDir>  above.
 
      <ConfigDir>/dhcpcd-<interface>.info
             file  in  which dhcpcd saves the host information. The word <interface> is actually replaced with the net-
             work interface name like eth0 to which dhcpcd is attached.
 
      /sbin/dhcpd.exe
             script file, which dhcpcd will try to execute whenever it configures or brings  down  the  interface.  The
             path  to this executable script can be changed with -c  <ExecFilePath> option.  Dhcpcd passes 3 parameters
             to dhcpcd.exe script:
 
      dhcpcd.exe <HostInfoFilePath> <up|down|new> [-d]
             The first parameter <HostInfoFilePath> is path to dhcpcd-<interface>.info file. The  word  <interface>  is
             actually  replaced  with  interface  name  dhcpcd is attached to, e.g. "eth0". The second parameter values
             <up|down|new> mean the interface has been brought up with the same IP address as before  ("up"),  or  with
             the  new  IP address ("new"), or the interface has been brought down ("down"). Parameter -d is passed in a
             case dhcpcd has been started with -d debug flag.
 
      <ConfigDir>/dhcpcd-<interface>.cache
             Cache file containing the previously assigned IP address and some other things.  The word  <interface>  is
             actually replaced with the network interface name like eth0 to which dhcpcd is attached.
 
      /etc/resolv.conf
             file  created  by  dhcpcd  when the client receives DNS and domain name options.  The old /etc/resolv.conf
             file is renamed to /etc/resolv.conf.sv and will be restored back when dhcpcd exits for any reason.
 
      /etc/yp.conf
             file created by dhcpcd when the client receives NIS options.  The old  /etc/yp.conf  file  is  renamed  to
             /etc/yp.conf.sv and is restored back when dhcpcd exits for any reason.
 
      /etc/ntp.conf
             file  created  by  dhcpcd  when the client receives NTP options.  The old /etc/ntp.conf file is renamed to
             /etc/ntp.conf.sv and is restored back when dhcpcd exits for any reason.
 
      /var/run/dhcpcd-<interface>.pid
             file containing the process id of dhcpcd.  The word <interface> is  actually  replaced  with  the  network
             interface name like eth0 to which dhcpcd is attached.

RELATED

      Dynamic  Host  Configuration  Protocol,  RFC2131 and RFC1541 (obsolete) DHCP Options and BOOTP Vendor Extensions,
      RFC2132

BUGS

      dhcpcd uses time(3) to calculate the lease expiration time.  If the system time is changed while  the  client  is
      running, the lease expiration time may not be predictable.

CATEGORY

Personal tools