summaryrefslogtreecommitdiff
path: root/relay/dhcrelay.cat8
blob: 4254a341760c587a5d4e2fb71e3a4bae9d9dbbf4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264



Maintenance Procedures                                dhcrelay(8)



NNNNAAAAMMMMEEEE
     dhcrelay - Dynamic Host Configuration Protocol Relay Agent

SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
     ddddhhhhccccrrrreeeellllaaaayyyy [ ----pppp _p_o_r_t ] [ ----dddd ] [ ----qqqq ] [ ----iiii _i_f_0 [ ............ ----iiii _i_f_N ] ]
     [  ----aaaa ] [ ----AAAA _l_e_n_g_t_h ] [ ----DDDD ] [ ----mmmm _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 ]

DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
     The Internet Software Consortium DHCP Relay Agent, dhcrelay,
     provides a means for relaying DHCP and BOOTP requests from a
     subnet to which no DHCP server is directly to  one  or  more
     DHCP servers on other subnets.

OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN
     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 ori-
     ginal request came.

CCCCOOOOMMMMMMMMAAAANNNNDDDD LLLLIIIINNNNEEEE
     The names of the network  interfaces  that  dhcrelay  should
     attempt  to  configure  may be specified on the command line
     using the ----iiii option.  If no interface names are specified on
     the  command  line dhcrelay will identify all network inter-
     faces, elimininating non-broadcast interfaces  if  possible,
     and attempt to configure each interface.

     If a relay agent is running on a system that is connected to
     one  or  more networks on which no DHCP servers are present,
     and is also connected to one or more networks on which  DHCP
     servers  _a_r_e  connected,  it  is  may not be helpful for the
     relay agent to relay requests from those networks on which a
     DHCP  server already exists.  To avoid such a situation, the
     interfaces on which the relay agent should listen should  be
     specified with the ----iiii flag.

     Note that 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
     provide backup service for each other's networks.

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





SunOS 5.6                 Last change:                          1






Maintenance Procedures                                dhcrelay(8)



     Dhcrelay will normally run in the foreground  until  it  has
     configured  an interface, and then will revert to running in
     the background.  To run force dhcrelay to always  run  as  a
     foreground  process,  the ----dddd 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 annoying in a system startup script -
     to disable this behaviour, specify the ----qqqq flag.

RRRREEEELLLLAAAAYYYY AAAAGGGGEEEENNNNTTTT IIIINNNNFFFFOOOORRRRMMMMAAAATTTTIIIIOOOONNNN OOOOPPPPTTTTIIIIOOOONNNNSSSS
     If the ----aaaa 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 Agent ID suboption.  Currently,
     the Circuit ID will be the printable name of  the  interface
     on  which  the  client  request was received.   The Agent ID
     will be the value that the relay agent stores  in  the  DHCP
     packet's  giaddr field.   The client supports inclusion of a
     Remote ID suboption  as  well,  but  this  is  not  used  by
     default.

     _N_o_t_e: The Agent ID suboption is not defined in  the  current
     Relay  Agent Information Option draft (draft-ietf-dhc-agent-
     options-03.txt), but has been proposed for inclusion in  the
     next draft.

     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 max-
     imum packet size of 576 bytes.

     It is recommended that with the Internet Software Consortium
     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  specifying  the  ----AAAA
     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  running



SunOS 5.6                 Last change:                          2






Maintenance Procedures                                dhcrelay(8)



     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.

     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
     Software  Consortium DHCP Relay Agent may be configured with
     the ----mmmm flag, followed by one of the four keywords  specified
     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 Infor-
     mation 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 Informa-
     tion  option  field  containing  an  Agent ID suboption 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  ----DDDD
     option  is specified, all packets that don't contain a match
     will be dropped.

SSSSPPPPEEEECCCCIIIIFFFFYYYYIIIINNNNGGGG DDDDHHHHCCCCPPPP SSSSEEEERRRRVVVVEEEERRRRSSSS
     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.

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

BBBBUUUUGGGGSSSS
     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  phy-
     sical network to DHCP servers on the same physical network -
     if they do, the server will receive duplicate packets.    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.



SunOS 5.6                 Last change:                          3






Maintenance Procedures                                dhcrelay(8)



AAAAUUUUTTTTHHHHOOOORRRR
     ddddhhhhccccrrrreeeellllaaaayyyy((((8888)))) has been written for the Internet Software  Con-
     sortium  by Ted Lemon <mellon@fugue.com> in cooperation with
     Vixie  Enterprises.   To  learn  more  about  the   Internet
     Software  Consortium,  see  hhhhttttttttpppp::::////////wwwwwwwwwwww....vvvviiiixxxx....ccccoooommmm////iiiisssscccc.... To learn
     more about Vixie Enterprises, see hhhhttttttttpppp::::////////wwwwwwwwwwww....vvvviiiixxxx....ccccoooommmm....

















































SunOS 5.6                 Last change:                          4