


dhcrelay(8)                                           dhcrelay(8)


NNAAMMEE
       dhcrelay - Dynamic Host Configuration Protocol Relay Agent

SSYYNNOOPPSSIISS
       ddhhccrreellaayy [ --pp _p_o_r_t ] [ --dd ] [ --qq ] [ --ii _i_f_0 [ ......  --ii  _i_f_N
       ] ] [ --aa ] [ --cc _c_o_u_n_t ] [ --AA _l_e_n_g_t_h ] [ --DD ] [ --mm _a_p_p_e_n_d |
       _r_e_p_l_a_c_e | _f_o_r_w_a_r_d | _d_i_s_c_a_r_d ] _s_e_r_v_e_r_0 [ _._._._s_e_r_v_e_r_N ]

DDEESSCCRRIIPPTTIIOONN
       The Internet Systems Consortium DHCP Relay  Agent,  dhcre-
       lay, provides a means for relaying DHCP and BOOTP requests
       from a subnet to which no DHCP  server  is  directly  con-
       nected to one or more DHCP servers on other subnets.

OOPPEERRAATTIIOONN
       The  DHCP  Relay  Agent listens for DHCP and BOOTP queries
       and responses.  When a query is received  from  a  client,
       dhcrelay forwards it to the list of DHCP servers specified
       on the command line.  When a  reply  is  received  from  a
       server, it is broadcast or unicast (according to the relay
       agent's ability or the client's request)  on  the  network
       from which the original request came.

CCOOMMMMAANNDD LLIINNEE
       The  names  of the network interfaces that dhcrelay should
       attempt to configure may be specified on the command  line
       using  the --ii option.  If no interface names are specified
       on the command line dhcrelay  will  identify  all  network
       interfaces, elimininating non-broadcast interfaces if pos-
       sible, and attempt to configure each interface.

       The --ii flag can be used to specify the network  interfaces
       on  which  the relay agent should listen.   In general, it
       must listen not only on those network interfaces to  which
       clients are attached, but also on those network interfaces
       to which the  server  (or  the  router  that  reaches  the
       server)  is  attached.    However, in some cases it may be
       necessary to exclude some networks; in this case, you must
       list  all  those  network  interfaces  that  should _n_o_t be
       excluded using the --ii flag.

       In some cases it _i_s helpful for the relay agent to forward
       requests  from  networks on which a DHCP server is running
       to other DHCP servers.   This would be  the  case  if  two
       DHCP servers on different networks were being used to pro-
       vide backup service for each other's networks.

       If dhcrelay should listen and transmit  on  a  port  other
       than  the  standard  (port  67), the --pp flag may used.  It
       should be followed by the udp port  number  that  dhcrelay
       should use.  This is mostly useful for debugging purposes.

       Dhcrelay will normally run in the foreground until it  has
       configured  an  interface, and then will revert to running



                                                                1





dhcrelay(8)                                           dhcrelay(8)


       in the background.  To force dhcrelay to always run  as  a
       foreground process, the --dd flag should be specified.  This
       is useful when running dhcrelay under a debugger, or  when
       running it out of inittab on System V systems.

       Dhcrelay  will normally print its network configuration on
       startup.  This can be unhelpful in a system startup script
       - to disable this behaviour, specify the --qq flag.

RREELLAAYY AAGGEENNTT IINNFFOORRMMAATTIIOONN OOPPTTIIOONNSS
       If the --aa flag is set the relay agent will 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 contain two agent options: the
       Circuit ID suboption and the Remote  ID  suboption.   Cur-
       rently,  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.

       When forwarding packets, dhcrelay discards  packets  which
       have  reached  a  hop  count  of 10.  If a lower or higher
       threshold (up to 255) is desired, depending on your  envi-
       ronment,  you can specify the max hop count threshold as a
       number following the --cc option.

       Relay Agent options are added to a DHCP packet without the
       knowledge of the DHCP client.   The client may have filled
       the DHCP packet option buffer completely,  in  which  case
       there  theoretically isn't any space to add Agent options.
       However, the DHCP server may be  able  to  handle  a  much
       larger  packet  than  most  DHCP clients would send.   The
       current Agent Options draft requires that the relay  agent
       use a maximum packet size of 576 bytes.

       It  is  recommended that with the Internet Systems Consor-
       tium DHCP server, the maximum packet size be set to  about
       1400,  allowing  plenty  of extra space in which the relay
       agent can put the agent option field, while still  fitting
       into  the Ethernet MTU size.  This can be done by specify-
       ing the --AA flag, followed by the  desired  maximum  packet
       size (e.g., 1400).

       Note  that  this  is reasonably safe to do even if the MTU
       between the server and the client is less  than  1500,  as
       long  as the hosts on which the server and client are run-
       ning support IP fragmentation  (and  they  should).   With
       some knowledge as to how large the agent options might get
       in a particular configuration, this parameter can be tuned
       as finely as necessary.




                                                                2





dhcrelay(8)                                           dhcrelay(8)


       It is possible for a relay agent to receive a packet which
       already contains an agent option field.   If  this  packet
       does not have a giaddr set, the standard requires that the
       packet be discarded.

       If giaddr is set, the server may handle the  situation  in
       one  of  four  ways:  it  may  _a_p_p_e_n_d its own set of relay
       options to the packet, leaving the supplied  option  field
       intact.    It may _r_e_p_l_a_c_e the existing agent option field.
       It may _f_o_r_w_a_r_d the packet unchanged.   Or, it may  _d_i_s_c_a_r_d
       it.

       Which of these behaviours is followed by the Internet Sys-
       tems Consortium DHCP Relay Agent may  be  configured  with
       the  --mm  flag, followed by one of the four keywords speci-
       fied in _i_t_a_l_i_c_s above.

       When the relay agent receives a reply from a  server  that
       it's  supposed  to  forward  to  a client, and Relay Agent
       Information option processing is enabled, the relay  agent
       scans  the  packet for Relay Agent Information options and
       removes them.   As it's scanning,  if  it  finds  a  Relay
       Agent Information option field containing an Agent ID sub-
       option that matches one of its IP addresses,  that  option
       is  recognized  as  its own.   If no such option is found,
       the relay agent can either drop the packet,  or  relay  it
       anyway.    If the --DD option is specified, all packets that
       don't contain a match will be dropped.

SSPPEECCIIFFYYIINNGG DDHHCCPP SSEERRVVEERRSS
       The name or IP address of at  least  one  DHCP  server  to
       which  DHCP  and  BOOTP requests should be relayed must be
       specified on the command line.

SSEEEE AALLSSOO
       dhclient(8), dhcpd(8), RFC2132,  RFC2131,  draft-ietf-dhc-
       agent-options-03.txt.

BBUUGGSS
       It  should  be possible for the user to define the Circuit
       ID and Remote ID values on a per-interface basis.

       The relay agent should not relay  packets  received  on  a
       physical network to DHCP servers on the same physical net-
       work - if they do, the server will receive duplicate pack-
       ets.    In  order  to  fix  this, however, the relay agent
       needs to be able to  learn  about  the  network  topology,
       which requires that it have a configuration file.

AAUUTTHHOORR
       ddhhccrreellaayy((88))  has been written for Internet Systems Consor-
       tium by Ted Lemon in cooperation with  Vixie  Enterprises.
       To  learn  more  about  Internet  Systems  Consortium, see
       hhttttppss::////wwwwww..iisscc..oorrgg//iisscc..   To  learn  more   about   Vixie



                                                                3





dhcrelay(8)                                           dhcrelay(8)


       Enterprises, see hhttttpp::////wwwwww..vviixx..ccoomm..
























































                                                                4


