dhcrelay(8)                                                        dhcrelay(8)

       dhcrelay - Dynamic Host Configuration Protocol Relay Agent

       dhcrelay  [ -4 ] [ -dqaD ] [ -p port ] [ -c count ] [ -A length ] [ -pf
       pid-file ] [ --no-pid ] [ -m append | replace | forward | discard  ]  [
       -i interface0 [ ...  -i interfaceN ] ] server0 [ ...serverN ]

       dhcrelay  -6 [ -dqI ] [ -p port ] [ -c count ] [ -pf pid-file ] [ --no-
       pid ] [ -s subscriber-id ] -l lower0 [ ...  -l lowerN ] -u upper0 [ ...
       -u upperN ]

       The  Internet Systems Consortium DHCP Relay Agent, dhcrelay, provides a
       means for relaying DHCP and BOOTP requests from a subnet  to  which  no
       DHCP  server is directly connected to one or more DHCP servers on other
       subnets.  It supports both DHCPv4/BOOTP and DHCPv6 protocols.

       The DHCP Relay Agent listens for DHCPv4 or DHCPv6 queries from  clients
       or  other relay agents on one or more interfaces, passing them along to
       ``upstream'' servers or relay agents as specified on the command  line.
       When a reply is received from upstream, it is multicast or unicast back
       downstream to the source of the original request.

       Protocol selection options:

       -6     Run dhcrelay as a DHCPv6 relay agent.  Incompatible with the  -4

       -4     Run dhcrelay as a DHCPv4/BOOTP relay agent.  This is the default
              mode of operation, so the argument is not necessary, but may  be
              specified for clarity.  Incompatible with -6.

       Specifying DHCPv4/BOOTP servers

       In  DHCPv4  mode, a list of one or more server addresses must be speci-
       fied on the  command  line,  to  which  DHCP/BOOTP  queries  should  be

       Options available for both DHCPv4 and DHCPv6:

       -c COUNT
              Maximum  hop  count.  When forwarding packets, dhcrelay discards
              packets which have reached a hop count of COUNT.  Default is 10.
              Maximum is 255.

       -d     Force dhcrelay to run as a foreground process.  Useful when run-
              ning dhcrelay under a debugger, or running  out  of  inittab  on
              System V systems.

       -p PORT
              Listen  and  transmit  on  port PORT.  This is mostly useful for
              debugging purposes.  Default is port  67  for  DHCPv4/BOOTP,  or
              port 547 for DHCPv6.

       -q     Quiet  mode.   Prevents dhcrelay6 from printing its network con-
              figuration on startup.

       -pf pid-file
              Path to alternate pid file.

              Option to disable writing pid files.   By  default  the  program
              will write a pid file.

       Options available in DHCPv4 mode only:

       -a     Append  an  agent option field to each request before forwarding
              it to the server.  Agent option fields in  responses  sent  from
              servers  to  clients  will  be  stripped  before forwarding such
              responses back to the client.  The agent option field will  con-
              tain  two agent options: the Circuit ID suboption and the Remote
              ID suboption.  Currently, the Circuit ID will be  the  printable
              name  of the interface on which the client request was received.
              The client supports inclusion of a Remote ID suboption as  well,
              but this is not used by default.

       -A LENGTH
              Specify  the  maximum  packet  size  to  send  to a DHCPv4/BOOTP
              server.  This might be done to allow sufficient space for  addi-
              tion  of relay agent options while still fitting into the Ether-
              net MTU size.

       -D     Drop packets from upstream servers if they contain  Relay  Agent
              Information   options  that  indicate  they  were  generated  in
              response to a query that came via a different relay  agent.   If
              this  option is not specified, such packets will be relayed any-

       -i ifname
              Listen for DHCPv4/BOOTP queries on interface  ifname.   Multiple
              interfaces  may  be  specified by using more than one -i option.
              If no interfaces are specified on  the  command  line,  dhcrelay
              will  identify all network interfaces, eliminating non-broadcast
              interfaces if possible, and attempt to listen on all of them.

       -m append|replace|forward|discard
              Control the handling of incoming DHCPv4  packets  which  already
              contain  relay  agent  options.   If such a packet does not have
              giaddr set in its header, the DHCP standard  requires  that  the
              packet be discarded.  However, if giaddr is set, the relay agent
              may handle the situation in four ways:  It may  append  its  own
              set  of relay options to the packet, leaving the supplied option
              field intact; it may replace the existing agent option field; it
              may forward the packet unchanged; or, it may discard it.

              To use this option you must also enable the -a option.

       Options available in DHCPv6 mode only:

       -I     Force  use  of  the  DHCPv6 Interface-ID option.  This option is
              automatically sent when there are two or more downstream  inter-
              faces  in  use,  to  disambiguate  between  them.  The -I option
              causes dhcrelay to send the option even if  there  is  only  one
              downstream interface.

       -s subscriber-id
              Add  an option with the specified subscriber-id into the packet.
              This feature is for testing rather than production  as  it  will
              put the same subscriber-id into the packet for all clients.

       -l [address%]ifname[#index]
              Specifies the ``lower'' network interface for DHCPv6 relay mode:
              the interface on which queries will be received from clients  or
              from  other  relay  agents.   At  least  one  -l  option must be
              included in the command line when running in DHCPv6  mode.   The
              interface  name  ifname  is  a  mandatory  parameter.   The link
              address can be specified by address%; if it isn't, dhcrelay will
              use  the  first  non-link-local address configured on the inter-
              face.  The optional #index  parameter  specifies  the  interface

       -u [address%]ifname
              Specifies the ``upper'' network interface for DHCPv6 relay mode:
              the interface to which queries  from  clients  and  other  relay
              agents  should  be  forwarded.   At  least one -u option must be
              included in the command line when running in DHCPv6  mode.   The
              interface  name ifname is a mandatory parameter. The destination
              unicast or multicast address can be specified  by  address%;  if
              not  specified,  the  relay  agent  will  forward  to the DHCPv6
              All_DHCP_Relay_Agents_and_Servers multicast address.

       It is possible to specify the same interface with  different  addresses
       more  than once, and even, when the system supports it, to use the same
       interface as both upper and lower interfaces.

       dhclient(8), dhcpd(8), RFC3315, RFC2132, RFC2131.

       Using the same interface on both upper and lower sides may cause loops,
       so  when running this way, the maximum hop count should be set to a low

       The loopback interface is not (yet) recognized as a valid interface.

       dhcrelay(8) To  learn  more  about  Internet  Systems  Consortium,  see


You can also request any man page by name and (optionally) by section:


Use the DEFAULT collection to view manual pages for third-party software.

©1994 Man-cgi 1.15, Panagiotis Christias
©1996-2019 Modified for NetBSD by Kimmo Suominen