Pull fix from branch_1_1, so proxied EAP replies work
[freeradius.git] / raddb / proxy.conf
1 #
2 # proxy.conf - proxy radius and realm configuration directives
3 #
4 # This file is included by default.  To disable it, you will need
5 # to modify the PROXY CONFIGURATION section of "radiusd.conf".
6 #
7 #######################################################################
8 #
9 #  Proxy server configuration
10 #
11 #  This entry controls the servers behaviour towards ALL other servers
12 #  to which it sends proxy requests.
13 #
14 proxy server {
15 #
16 #  The time (in seconds) to wait for a response from the proxy, before
17 #  re-sending the proxied request.
18 #
19 #  If this time is set too high, then the NAS may re-send the request,
20 #  or it may give up entirely, and reject the user.
21 #
22 #  If it is set too low, then the RADIUS server which receives the proxy
23 #  request will get kicked unnecessarily.
24 #
25         retry_delay = 5
26
27 #
28 #  The number of retries to send before giving up, and sending a reject
29 #  message to the NAS.
30 #
31         retry_count = 3
32
33 #
34 #  If the home server does not respond to any of the multiple retries,
35 #  then FreeRADIUS will stop sending it proxy requests, and mark it 'dead'.
36 #
37 #  If there are multiple entries configured for this realm, then the
38 #  server will fail-over to the next one listed.  If no more are listed,
39 #  then no requests will be proxied to that realm.
40 #
41 #
42 #  After a configurable 'dead_time', in seconds, FreeRADIUS will
43 #  speculatively mark the home server active, and start sending requests
44 #  to it again.
45 #
46 #  If this dead time is set too low, then you will lose requests,
47 #  as FreeRADIUS will quickly switch back to the home server, even if
48 #  it isn't up again.
49 #
50 #  If this dead time is set too high, then FreeRADIUS may take too long
51 #  to switch back to the primary home server.
52 #
53 #  Realistic values for this number are in the range of minutes to hours.
54 #  (60 to 3600)
55 #
56         dead_time = 120
57
58 #  An ldflag attribute for all realms to be included in a round-robin 
59 #  setup must be specified, and that ldflag must be the same for all
60 #  realms of the same name.
61 #  Currently (0 or fail_over) and (1 or round_robin) are the 
62 #  supported values for ldflag.  Fail over is the default setup.
63 #
64 #  DO NOT INCLUDE LOCAL AUTH/ACCT HOST REALMS IN A ROUND-ROBIN QUEUE.
65
66
67 #
68 #  If all exact matching realms did not respond, we can try the
69 #  DEFAULT realm, too.  This is what the server normally does.
70 #
71 #  This behaviour may be undesired for some cases.  e.g. You are proxying
72 #  for two different ISP's, and then act as a general dial-up for Gric.
73 #  If one of the first two ISP's has their RADIUS server go down, you do
74 #  NOT want to proxy those requests to GRIC.  Instead, you probably want
75 #  to just drop the requests on the floor.  In that case, set this value
76 #  to 'no'.
77 #
78 #  allowed values: {yes, no}
79 #
80         default_fallback = yes
81
82 }
83
84 #######################################################################
85 #
86 #  Configuration for the proxy realms.
87 #
88 #  The information given here is used in conjunction with the 'realms'
89 #  file.  This format is preferred, as it is more flexible.  The realms
90 #  listed here take priority over those listed in the 'realms' file.
91
92 #  A standard realm entry. A request from "user@company.com" will be
93 #  sent to radius.company.com as "user", unless the 'nostrip'
94 #  configuration item is specified.  If the 'nostrip' configuration
95 #  item is specified, then the request will be proxied as
96 #  "user@company.com"
97 #
98 #realm company.com {
99 #       type            = radius
100 #       authhost        = radius.company.com:1600
101 #       accthost        = radius.company.com:1601
102 #       secret          = testing123
103 #}
104
105 #  A realm entry with an optional fail-over realm.  A request from
106 #  "user@isp2.com" will be sent to radius.isp2.com as "user@isp2.com",
107 #  because the 'nostrip' directive is specified for this realm.
108 #
109 #realm isp2.com {
110 #       type        = radius
111 #       authhost    = radius.isp2.com:1645
112 #       accthost    = radius.isp2.com:1646
113 #       secret      = TheirKey
114 #       nostrip
115 #}
116 #
117 #  The fail-over realm for isp2.com
118 #
119 #realm isp2.com {
120 #       type        = radius
121 #       authhost    = radius2.isp2.com:1645
122 #       accthost    = radius2.isp2.com:1646
123 #       secret      = TheirKey2
124 #       nostrip
125 #}
126
127 #
128 #  1st node serv.com...set up for round-robin.
129 #
130 #  The load balancing 'ldflag' attribute can be used to perform
131 #  load balancing.  Allowed values are 'fail_over' and 'round_robin'.
132 #
133 #  If there is no ldflag attribute, or it is set to 'fail_over', then
134 #  the realms are treated as "fail-over".  That is, the first matching
135 #  realm is used, unless it is down, in which case the realm "fails
136 #  over" to the second matching realm.  The process continues until an
137 #  active matching realm is found, OR the DEFAULT realm is returned.
138 #
139 #  If the ldflag attribute is set to 'round_robin', then all active
140 #  realms of the same name are put into a pool internally in the
141 #  server, and the proxied requests are evenly divided among the
142 #  realms in the pool.  For this to work, all realms of the same name
143 #  MUST have the same value of their 'ldflag' attributes.  Mixing up
144 #  different types of load balancing schemes for the same realm will
145 #  cause problems.
146 #
147 #  The round_robin load balancing method is a probabilistic method
148 #  which evenly scatters the requests among the home servers.
149 #
150 #  Note that you CANNOT include local auth/acct host realms in a
151 #  round-robin queue.  Having a server load balance requests to itself
152 #  doesn't make any sense, as it only doubles the amount of work
153 #  which is needed to be done.
154 #
155 #realm serv.com {
156 #       type        = radius
157 #       authhost    = radius.serv.com:1645
158 #       accthost    = radius.serv.com:1646
159 #       secret      = TheirKey
160 #       ldflag      = round_robin
161 #       nostrip
162 #}
163
164 #
165 #  Another node for serv.com
166 #
167 #realm serv.com {
168 #       type        = radius
169 #       authhost    = radius2.serv.com:1645
170 #       accthost    = radius2.serv.com:1646
171 #       secret      = TheirKey2
172 #       ldflag      = round_robin
173 #       nostrip
174 #}
175
176 #
177 #  A third round-robin node realm for serv.com
178 #
179 #realm serv.com {
180 #       type        = radius
181 #       authhost    = radius3.serv.com:1645
182 #       accthost    = radius3.serv.com:1646
183 #       secret      = TheirKey2
184 #       ldflag      = round_robin
185 #       nostrip
186 #}
187 #
188 #
189
190 #
191 #  This is a local realm.  The requests are NOT proxied,
192 #  but instead are authenticated by the RADIUS server itself.
193 #
194 #  You don't need a secret if BOTH 'authhost' and 'accthost' are
195 #  set to LOCAL.
196 #
197 #realm bla.com {
198 #       type            = radius
199 #       authhost        = LOCAL
200 #       accthost        = LOCAL
201 #}
202
203 #
204 #  This is a sample entry for iPass.
205 #
206 #realm IPASS {
207 #       type            = radius
208 #       authhost        = ipass.server.hostname:11812
209 #       accthost        = ipass.server.hostname:11813
210 #
211         #  The shared secret here must be the same
212         #  value as the secret of the NetServer found in the
213         #  /usr/ipass/raddb/clients file of your NetServer software.
214 #       secret          = mysecret
215 #       nostrip
216 #}
217
218 #
219 #  This realm is used mainly to cancel proxying.  You can have
220 #  the "realm suffix" module configured to proxy all requests for
221 #  a realm, and then later cancel the proxying, based on other
222 #  configuration.
223 #
224 #  For example, you want to terminate PEAP or EAP-TTLS locally,
225 #  you can add the following to the "users" file:
226 #
227 #  DEFAULT EAP-Type == PEAP, Proxy-To-Realm := LOCAL
228 #
229 realm LOCAL {
230         type            = radius
231         authhost        = LOCAL
232         accthost        = LOCAL
233 }
234
235 #
236 #  This realm is for requests which don't have an explicit realm
237 #  prefix or suffix.  User names like "bob" will match this one.
238 #
239 #realm NULL {
240 #       type            = radius
241 #       authhost        = radius.company.com:1600
242 #       accthost        = radius.company.com:1601
243 #       secret          = testing123
244 #}
245
246 #
247 #  This realm is for ALL OTHER requests.
248 #
249 #realm DEFAULT {
250 #       type            = radius
251 #       authhost        = radius.company.com:1600
252 #       accthost        = radius.company.com:1601
253 #       secret          = testing123
254 #}