# # proxy.conf - proxy radius and realm configuration directives # # This file is included by default. To disable it, you will need # to modify the PROXY CONFIGURATION section of "radiusd.conf". # ####################################################################### # # Proxy server configuration # # This entry controls the servers behaviour towards ALL other servers # to which it sends proxy requests. # proxy server { # # If the NAS re-sends the request to us, we can immediately re-send # the proxy request to the end server. To do so, use 'yes' here. # # If this is set to 'no', then we send the retries on our own schedule, # and ignore any duplicate NAS requests. # # If you want to have the server send proxy retries ONLY when the NAS # sends it's retries to the server, then set this to 'yes', and # set the other proxy configuration parameters to 0 (zero). # # Additionally, if you want 'failover' to work, the server must manage # retries and timeouts. Therefore, if this is set to yes, then no # failover functionality is possible. # synchronous = no # # The time (in seconds) to wait for a response from the proxy, before # re-sending the proxied request. # # If this time is set too high, then the NAS may re-send the request, # or it may give up entirely, and reject the user. # # If it is set too low, then the RADIUS server which receives the proxy # request will get kicked unnecessarily. # retry_delay = 5 # # The number of retries to send before giving up, and sending a reject # message to the NAS. # retry_count = 3 # # If the home server does not respond to any of the multiple retries, # then FreeRADIUS will stop sending it proxy requests, and mark it 'dead'. # # If there are multiple entries configured for this realm, then the # server will fail-over to the next one listed. If no more are listed, # then no requests will be proxied to that realm. # # # After a configurable 'dead_time', in seconds, FreeRADIUS will # speculatively mark the home server active, and start sending requests # to it again. # # If this dead time is set too low, then you will lose requests, # as FreeRADIUS will quickly switch back to the home server, even if # it isn't up again. # # If this dead time is set too high, then FreeRADIUS may take too long # to switch back to the primary home server. # # Realistic values for this number are in the range of minutes to hours. # (60 to 3600) # dead_time = 120 # An ldflag attribute for all realms to be included in a round-robin # setup must be specified, and that ldflag must be the same for all # realms of the same name. # Currently (0 or fail_over) and (1 or round_robin) are the # supported values for ldflag. Fail over is the default setup. # # DO NOT INCLUDE LOCAL AUTH/ACCT HOST REALMS IN A ROUND-ROBIN QUEUE. # # If all exact matching realms did not respond, we can try the # DEFAULT realm, too. This is what the server normally does. # # This behaviour may be undesired for some cases. e.g. You are proxying # for two different ISP's, and then act as a general dial-up for Gric. # If one of the first two ISP's has their RADIUS server go down, you do # NOT want to proxy those requests to GRIC. Instead, you probably want # to just drop the requests on the floor. In that case, set this value # to 'no'. # # allowed values: {yes, no} # default_fallback = yes # # Older versions of the server would pass proxy requests through the # 'authorize' sections twice; once when the packet was received # from the NAS, and again after the reply was received from the home # server. Now that we have a 'post_proxy' section, the replies from # the home server should be sent through that, instead of through # the 'authorize' section again. # # However, for backwards compatibility, this behaviour is configurable. # The default configuration is 'no', because this option is deprecated # and will be removed in the future. # # allowed values: {yes, no} # post_proxy_authorize = no } ####################################################################### # # Configuration for the proxy realms. # # The information given here is used in conjunction with the 'realms' # file. This format is preferred, as it is more flexible. The realms # listed here take priority over those listed in the 'realms' file. # A standard realm entry. A request from "user@company.com" will be # sent to radius.company.com as "user", unless the 'nostrip' # configuration item is specified. If the 'nostrip' configuration # item is specified, then the request will be proxied as # "user@company.com" # #realm company.com { # type = radius # authhost = radius.company.com:1600 # accthost = radius.company.com:1601 # secret = testing123 #} # A realm entry with an optional fail-over realm. A request from # "user@isp2.com" will be sent to radius.isp2.com as "user@isp2.com", # because the 'nostrip' directive is specified for this realm. # #realm isp2.com { # type = radius # authhost = radius.isp2.com:1645 # accthost = radius.isp2.com:1646 # secret = TheirKey # nostrip #} # # The fail-over realm for isp2.com # #realm isp2.com { # type = radius # authhost = radius2.isp2.com:1645 # accthost = radius2.isp2.com:1646 # secret = TheirKey2 # nostrip #} # # 1st node serv.com...set up for round-robin. # # The load balancing 'ldflag' attribute can be used to perform # load balancing. Allowed values are 'fail_over' and 'round_robin'. # # If there is no ldflag attribute, or it is set to 'fail_over', then # the realms are treated as "fail-over". That is, the first matching # realm is used, unless it is down, in which case the realm "fails # over" to the second matching realm. The process continues until an # active matching realm is found, OR the DEFAULT realm is returned. # # If the ldflag attribute is set to 'round_robin', then all active # realms of the same name are put into a pool internally in the # server, and the proxied requests are evenly divided among the # realms in the pool. For this to work, all realms of the same name # MUST have the same value of their 'ldflag' attributes. Mixing up # different types of load balancing schemes for the same realm will # cause problems. # # The round_robin load balancing method is a probabilistic method # which evenly scatters the requests among the home servers. # # Note that you CANNOT include local auth/acct host realms in a # round-robin queue. Having a server load balance requests to itself # doesn't make any sense, as it only doubles the amount of work # which is needed to be done. # #realm serv.com { # type = radius # authhost = radius.serv.com:1645 # accthost = radius.serv.com:1646 # secret = TheirKey # ldflag = round_robin # nostrip #} # # Another node for serv.com # #realm serv.com { # type = radius # authhost = radius2.serv.com:1645 # accthost = radius2.serv.com:1646 # secret = TheirKey2 # ldflag = round_robin # nostrip #} # # A third round-robin node realm for serv.com # #realm serv.com { # type = radius # authhost = radius3.serv.com:1645 # accthost = radius3.serv.com:1646 # secret = TheirKey2 # ldflag = round_robin # nostrip #} # # # # This is a local realm. The requests are NOT proxied, # but instead are authenticated by the RADIUS server itself. # # You don't need a secret if BOTH 'authhost' and 'accthost' are # set to LOCAL. # #realm bla.com { # type = radius # authhost = LOCAL # accthost = LOCAL #} # # This is a sample entry for iPass. # #realm IPASS { # type = radius # authhost = ipass.server.hostname:11812 # accthost = ipass.server.hostname:11813 # # The shared secret here must be the same # value as the secret of the NetServer found in the # /usr/ipass/raddb/clients file of your NetServer software. # secret = mysecret # nostrip #} # # This realm is used mainly to cancel proxying. You can have # the "realm suffix" module configured to proxy all requests for # a realm, and then later cancel the proxying, based on other # configuration. # # For example, you want to terminate PEAP or EAP-TTLS locally, # you can add the following to the "users" file: # # DEFAULT EAP-Type == PEAP, Proxy-To-Realm := LOCAL # realm LOCAL { type = radius authhost = LOCAL accthost = LOCAL } # # This realm is for requests which don't have an explicit realm # prefix or suffix. User names like "bob" will match this one. # #realm NULL { # type = radius # authhost = radius.company.com:1600 # accthost = radius.company.com:1601 # secret = testing123 #} # # This realm is for ALL OTHER requests. # #realm DEFAULT { # type = radius # authhost = radius.company.com:1600 # accthost = radius.company.com:1601 # secret = testing123 #}