Advertisement
Guest User

Untitled

a guest
Apr 7th, 2016
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 46.81 KB | None | 0 0
  1. ######################################################################
  2. #
  3. # As of 2.0.0, FreeRADIUS supports virtual hosts using the
  4. # "server" section, and configuration directives.
  5. #
  6. # Virtual hosts should be put into the "sites-available"
  7. # directory. Soft links should be created in the "sites-enabled"
  8. # directory to these files. This is done in a normal installation.
  9. #
  10. # If you are using 802.1X (EAP) authentication, please see also
  11. # the "inner-tunnel" virtual server. You wll likely have to edit
  12. # that, too, for authentication to work.
  13. #
  14. # $Id$
  15. #
  16. ######################################################################
  17. #
  18. # Read "man radiusd" before editing this file. See the section
  19. # titled DEBUGGING. It outlines a method where you can quickly
  20. # obtain the configuration you want, without running into
  21. # trouble. See also "man unlang", which documents the format
  22. # of this file.
  23. #
  24. # This configuration is designed to work in the widest possible
  25. # set of circumstances, with the widest possible number of
  26. # authentication methods. This means that in general, you should
  27. # need to make very few changes to this file.
  28. #
  29. # The best way to configure the server for your local system
  30. # is to CAREFULLY edit this file. Most attempts to make large
  31. # edits to this file will BREAK THE SERVER. Any edits should
  32. # be small, and tested by running the server with "radiusd -X".
  33. # Once the edits have been verified to work, save a copy of these
  34. # configuration files somewhere. (e.g. as a "tar" file). Then,
  35. # make more edits, and test, as above.
  36. #
  37. # There are many "commented out" references to modules such
  38. # as ldap, sql, etc. These references serve as place-holders.
  39. # If you need the functionality of that module, then configure
  40. # it in radiusd.conf, and un-comment the references to it in
  41. # this file. In most cases, those small changes will result
  42. # in the server being able to connect to the DB, and to
  43. # authenticate users.
  44. #
  45. ######################################################################
  46.  
  47. #
  48. # In 1.x, the "authorize", etc. sections were global in
  49. # radiusd.conf. As of 2.0, they SHOULD be in a server section.
  50. #
  51. # The server section with no virtual server name is the "default"
  52. # section. It is used when no server name is specified.
  53. #
  54. # We don't indent the rest of this file, because doing so
  55. # would make it harder to read.
  56. #
  57.  
  58. # Authorization. First preprocess (hints and huntgroups files),
  59. # then realms, and finally look in the "users" file.
  60. #
  61. # Any changes made here should also be made to the "inner-tunnel"
  62. # virtual server.
  63. #
  64. # The order of the realm modules will determine the order that
  65. # we try to find a matching realm.
  66. #
  67. # Make *sure* that 'preprocess' comes before any realm if you
  68. # need to setup hints for the remote radius server
  69. authorize {
  70. #
  71. # Security settings. Take a User-Name, and do some simple
  72. # checks on it, for spaces and other invalid characters. If
  73. # it looks like the user is trying to play games, reject it.
  74. #
  75. # This should probably be enabled by default.
  76. #
  77. # See policy.conf for the definition of the filter_username policy.
  78. #
  79. # filter_username
  80.  
  81. #
  82. # The preprocess module takes care of sanitizing some bizarre
  83. # attributes in the request, and turning them into attributes
  84. # which are more standard.
  85. #
  86. # It takes care of processing the 'raddb/hints' and the
  87. # 'raddb/huntgroups' files.
  88. preprocess
  89.  
  90. #
  91. # If you want to have a log of authentication requests,
  92. # un-comment the following line, and the 'detail auth_log'
  93. # section, above.
  94. # auth_log
  95.  
  96. #
  97. # The chap module will set 'Auth-Type := CHAP' if we are
  98. # handling a CHAP request and Auth-Type has not already been set
  99. chap
  100.  
  101. #
  102. # If the users are logging in with an MS-CHAP-Challenge
  103. # attribute for authentication, the mschap module will find
  104. # the MS-CHAP-Challenge attribute, and add 'Auth-Type := MS-CHAP'
  105. # to the request, which will cause the server to then use
  106. # the mschap module for authentication.
  107. mschap
  108.  
  109. #
  110. # If you have a Cisco SIP server authenticating against
  111. # FreeRADIUS, uncomment the following line, and the 'digest'
  112. # line in the 'authenticate' section.
  113. digest
  114.  
  115. #
  116. # The WiMAX specification says that the Calling-Station-Id
  117. # is 6 octets of the MAC. This definition conflicts with
  118. # RFC 3580, and all common RADIUS practices. Un-commenting
  119. # the "wimax" module here means that it will fix the
  120. # Calling-Station-Id attribute to the normal format as
  121. # specified in RFC 3580 Section 3.21
  122. # wimax
  123.  
  124. #
  125. # Look for IPASS style 'realm/', and if not found, look for
  126. # '@realm', and decide whether or not to proxy, based on
  127. # that.
  128. # IPASS
  129.  
  130. #
  131. # If you are using multiple kinds of realms, you probably
  132. # want to set "ignore_null = yes" for all of them.
  133. # Otherwise, when the first style of realm doesn't match,
  134. # the other styles won't be checked.
  135. #
  136. suffix
  137. # ntdomain
  138.  
  139. #
  140. # This module takes care of EAP-MD5, EAP-TLS, and EAP-LEAP
  141. # authentication.
  142. #
  143. # It also sets the EAP-Type attribute in the request
  144. # attribute list to the EAP type from the packet.
  145. #
  146. # As of 2.0, the EAP module returns "ok" in the authorize stage
  147. # for TTLS and PEAP. In 1.x, it never returned "ok" here, so
  148. # this change is compatible with older configurations.
  149. #
  150. # The example below uses module failover to avoid querying all
  151. # of the following modules if the EAP module returns "ok".
  152. # Therefore, your LDAP and/or SQL servers will not be queried
  153. # for the many packets that go back and forth to set up TTLS
  154. # or PEAP. The load on those servers will therefore be reduced.
  155. #
  156. eap {
  157. ok = return
  158. }
  159.  
  160. #
  161. # Pull crypt'd passwords from /etc/passwd or /etc/shadow,
  162. # using the system API's to get the password. If you want
  163. # to read /etc/passwd or /etc/shadow directly, see the
  164. # passwd module in radiusd.conf.
  165. #
  166. # unix
  167.  
  168. #
  169. # Read the 'users' file
  170. files
  171.  
  172. #
  173. # Look in an SQL database. The schema of the database
  174. # is meant to mirror the "users" file.
  175. #
  176. # See "Authorization Queries" in sql.conf
  177. #sql
  178.  
  179. #
  180. # If you are using /etc/smbpasswd, and are also doing
  181. # mschap authentication, the un-comment this line, and
  182. # configure the 'etc_smbpasswd' module, above.
  183. # etc_smbpasswd
  184.  
  185. #
  186. # The ldap module will set Auth-Type to LDAP if it has not
  187. # already been set
  188. # ldap
  189.  
  190. #
  191. # Enforce daily limits on time spent logged in.
  192. # daily
  193.  
  194. #
  195. # Use the checkval module
  196. # checkval
  197.  
  198. expiration
  199. logintime
  200.  
  201. #
  202. # If no other module has claimed responsibility for
  203. # authentication, then try to use PAP. This allows the
  204. # other modules listed above to add a "known good" password
  205. # to the request, and to do nothing else. The PAP module
  206. # will then see that password, and use it to do PAP
  207. # authentication.
  208. #
  209. # This module should be listed last, so that the other modules
  210. # get a chance to set Auth-Type for themselves.
  211. #
  212. pap
  213.  
  214. #
  215. # If "status_server = yes", then Status-Server messages are passed
  216. # through the following section, and ONLY the following section.
  217. # This permits you to do DB queries, for example. If the modules
  218. # listed here return "fail", then NO response is sent.
  219. #
  220. # Autz-Type Status-Server {
  221. #
  222. # }
  223. }
  224.  
  225.  
  226. # Authentication.
  227. #
  228. #
  229. # This section lists which modules are available for authentication.
  230. # Note that it does NOT mean 'try each module in order'. It means
  231. # that a module from the 'authorize' section adds a configuration
  232. # attribute 'Auth-Type := FOO'. That authentication type is then
  233. # used to pick the apropriate module from the list below.
  234. #
  235.  
  236. # In general, you SHOULD NOT set the Auth-Type attribute. The server
  237. # will figure it out on its own, and will do the right thing. The
  238. # most common side effect of erroneously setting the Auth-Type
  239. # attribute is that one authentication method will work, but the
  240. # others will not.
  241. #
  242. # The common reasons to set the Auth-Type attribute by hand
  243. # is to either forcibly reject the user (Auth-Type := Reject),
  244. # or to or forcibly accept the user (Auth-Type := Accept).
  245. #
  246. # Note that Auth-Type := Accept will NOT work with EAP.
  247. #
  248. # Please do not put "unlang" configurations into the "authenticate"
  249. # section. Put them in the "post-auth" section instead. That's what
  250. # the post-auth section is for.
  251. #
  252. authenticate {
  253. #
  254. # PAP authentication, when a back-end database listed
  255. # in the 'authorize' section supplies a password. The
  256. # password can be clear-text, or encrypted.
  257. Auth-Type PAP {
  258. pap
  259. }
  260.  
  261. #
  262. # Most people want CHAP authentication
  263. # A back-end database listed in the 'authorize' section
  264. # MUST supply a CLEAR TEXT password. Encrypted passwords
  265. # won't work.
  266. Auth-Type CHAP {
  267. chap
  268. }
  269.  
  270. #
  271. # MSCHAP authentication.
  272. Auth-Type MS-CHAP {
  273. mschap
  274. }
  275.  
  276. #
  277. # If you have a Cisco SIP server authenticating against
  278. # FreeRADIUS, uncomment the following line, and the 'digest'
  279. # line in the 'authorize' section.
  280. digest
  281.  
  282. #
  283. # Pluggable Authentication Modules.
  284. # pam
  285.  
  286. #
  287. # See 'man getpwent' for information on how the 'unix'
  288. # module checks the users password. Note that packets
  289. # containing CHAP-Password attributes CANNOT be authenticated
  290. # against /etc/passwd! See the FAQ for details.
  291. #
  292. # For normal "crypt" authentication, the "pap" module should
  293. # be used instead of the "unix" module. The "unix" module should
  294. # be used for authentication ONLY for compatibility with legacy
  295. # FreeRADIUS configurations.
  296. #
  297. unix
  298.  
  299. # Uncomment it if you want to use ldap for authentication
  300. #
  301. # Note that this means "check plain-text password against
  302. # the ldap database", which means that EAP won't work,
  303. # as it does not supply a plain-text password.
  304. # Auth-Type LDAP {
  305. # ldap
  306. # }
  307.  
  308. #
  309. # Allow EAP authentication.
  310. eap
  311.  
  312. #
  313. # The older configurations sent a number of attributes in
  314. # Access-Challenge packets, which wasn't strictly correct.
  315. # If you want to filter out these attributes, uncomment
  316. # the following lines.
  317. #
  318. # Auth-Type eap {
  319. # eap {
  320. # handled = 1
  321. # }
  322. # if (handled && (Response-Packet-Type == Access-Challenge)) {
  323. # attr_filter.access_challenge.post-auth
  324. # handled # override the "updated" code from attr_filter
  325. # }
  326. # }
  327. }
  328.  
  329.  
  330. #
  331. # Pre-accounting. Decide which accounting type to use.
  332. #
  333. preacct {
  334. preprocess
  335.  
  336. #
  337. # Session start times are *implied* in RADIUS.
  338. # The NAS never sends a "start time". Instead, it sends
  339. # a start packet, *possibly* with an Acct-Delay-Time.
  340. # The server is supposed to conclude that the start time
  341. # was "Acct-Delay-Time" seconds in the past.
  342. #
  343. # The code below creates an explicit start time, which can
  344. # then be used in other modules.
  345. #
  346. # The start time is: NOW - delay - session_length
  347. #
  348.  
  349. # update request {
  350. # FreeRADIUS-Acct-Session-Start-Time = "%{expr: %l - %{%{Acct-Session-Time}:-0} - %{%{Acct-Delay-Time}:-0}}"
  351. # }
  352.  
  353.  
  354. #
  355. # Ensure that we have a semi-unique identifier for every
  356. # request, and many NAS boxes are broken.
  357. acct_unique
  358.  
  359. #
  360. # Look for IPASS-style 'realm/', and if not found, look for
  361. # '@realm', and decide whether or not to proxy, based on
  362. # that.
  363. #
  364. # Accounting requests are generally proxied to the same
  365. # home server as authentication requests.
  366. # IPASS
  367. suffix
  368. # ntdomain
  369.  
  370. #
  371. # Read the 'acct_users' file
  372. files
  373. }
  374.  
  375. #
  376. # Accounting. Log the accounting data.
  377. #
  378. accounting {
  379. #
  380. # Create a 'detail'ed log of the packets.
  381. # Note that accounting requests which are proxied
  382. # are also logged in the detail file.
  383. detail
  384. # daily
  385.  
  386. # Update the wtmp file
  387. #
  388. # If you don't use "radlast", you can delete this line.
  389. unix
  390.  
  391. #
  392. # For Simultaneous-Use tracking.
  393. #
  394. # Due to packet losses in the network, the data here
  395. # may be incorrect. There is little we can do about it.
  396. radutmp
  397. # sradutmp
  398.  
  399. # Return an address to the IP Pool when we see a stop record.
  400. # main_pool
  401.  
  402. #
  403. # Log traffic to an SQL database.
  404. #
  405. # See "Accounting queries" in sql.conf
  406. #sql
  407.  
  408. #
  409. # If you receive stop packets with zero session length,
  410. # they will NOT be logged in the database. The SQL module
  411. # will print a message (only in debugging mode), and will
  412. # return "noop".
  413. #
  414. # You can ignore these packets by uncommenting the following
  415. # three lines. Otherwise, the server will not respond to the
  416. # accounting request, and the NAS will retransmit.
  417. #
  418. # if (noop) {
  419. # ok
  420. # }
  421.  
  422. #
  423. # Instead of sending the query to the SQL server,
  424. # write it into a log file.
  425. #
  426. # sql_log
  427.  
  428. # Cisco VoIP specific bulk accounting
  429. # pgsql-voip
  430.  
  431. # For Exec-Program and Exec-Program-Wait
  432. exec
  433.  
  434. # Filter attributes from the accounting response.
  435. attr_filter.accounting_response
  436.  
  437. #
  438. # See "Autz-Type Status-Server" for how this works.
  439. #
  440. # Acct-Type Status-Server {
  441. #
  442. # }
  443. }
  444.  
  445.  
  446. # Session database, used for checking Simultaneous-Use. Either the radutmp
  447. # or rlm_sql module can handle this.
  448. # The rlm_sql module is *much* faster
  449. session {
  450. radutmp
  451.  
  452. #
  453. # See "Simultaneous Use Checking Queries" in sql.conf
  454. #sql
  455. }
  456.  
  457.  
  458. # Post-Authentication
  459. # Once we KNOW that the user has been authenticated, there are
  460. # additional steps we can take.
  461. post-auth {
  462. # Get an address from the IP Pool.
  463. # main_pool
  464.  
  465. #
  466. # If you want to have a log of authentication replies,
  467. # un-comment the following line, and the 'detail reply_log'
  468. # section, above.
  469. # reply_log
  470.  
  471. #
  472. # After authenticating the user, do another SQL query.
  473. #
  474. # See "Authentication Logging Queries" in sql.conf
  475. #sql
  476.  
  477. #
  478. # Instead of sending the query to the server,
  479. # write it into a log file.
  480. #
  481. # sql_log
  482.  
  483. #
  484. # Un-comment the following if you have set
  485. # 'edir_account_policy_check = yes' in the ldap module sub-section of
  486. # the 'modules' section.
  487. #
  488. # ldap
  489.  
  490. # For Exec-Program and Exec-Program-Wait
  491. exec
  492.  
  493. #
  494. # Calculate the various WiMAX keys. In order for this to work,
  495. # you will need to define the WiMAX NAI, usually via
  496. #
  497. # update request {
  498. # WiMAX-MN-NAI = "%{User-Name}"
  499. # }
  500. #
  501. # If you want various keys to be calculated, you will need to
  502. # update the reply with "template" values. The module will see
  503. # this, and replace the template values with the correct ones
  504. # taken from the cryptographic calculations. e.g.
  505. #
  506. # update reply {
  507. # WiMAX-FA-RK-Key = 0x00
  508. # WiMAX-MSK = "%{EAP-MSK}"
  509. # }
  510. #
  511. # You may want to delete the MS-MPPE-*-Keys from the reply,
  512. # as some WiMAX clients behave badly when those attributes
  513. # are included. See "raddb/modules/wimax", configuration
  514. # entry "delete_mppe_keys" for more information.
  515. #
  516. # wimax
  517.  
  518. # If there is a client certificate (EAP-TLS, sometimes PEAP
  519. # and TTLS), then some attributes are filled out after the
  520. # certificate verification has been performed. These fields
  521. # MAY be available during the authentication, or they may be
  522. # available only in the "post-auth" section.
  523. #
  524. # The first set of attributes contains information about the
  525. # issuing certificate which is being used. The second
  526. # contains information about the client certificate (if
  527. # available).
  528. #
  529. # update reply {
  530. # Reply-Message += "%{TLS-Cert-Serial}"
  531. # Reply-Message += "%{TLS-Cert-Expiration}"
  532. # Reply-Message += "%{TLS-Cert-Subject}"
  533. # Reply-Message += "%{TLS-Cert-Issuer}"
  534. # Reply-Message += "%{TLS-Cert-Common-Name}"
  535. #
  536. # Reply-Message += "%{TLS-Client-Cert-Serial}"
  537. # Reply-Message += "%{TLS-Client-Cert-Expiration}"
  538. # Reply-Message += "%{TLS-Client-Cert-Subject}"
  539. # Reply-Message += "%{TLS-Client-Cert-Issuer}"
  540. # Reply-Message += "%{TLS-Client-Cert-Common-Name}"
  541. # }
  542.  
  543.  
  544. # If the WiMAX module did it's work, you may want to do more
  545. # things here, like delete the MS-MPPE-*-Key attributes.
  546. #
  547. # if (updated) {
  548. # update reply {
  549. # MS-MPPE-Recv-Key !* 0x00
  550. # MS-MPPE-Send-Key !* 0x00
  551. # }
  552. # }
  553.  
  554. #
  555. # Access-Reject packets are sent through the REJECT sub-section of the
  556. # post-auth section.
  557. #
  558. # Add the ldap module name (or instance) if you have set
  559. # 'edir_account_policy_check = yes' in the ldap module configuration
  560. #
  561. Post-Auth-Type REJECT {
  562. # log failed authentications in SQL, too.
  563. # sql
  564. attr_filter.access_reject
  565. }
  566. }
  567.  
  568. #
  569. # When the server decides to proxy a request to a home server,
  570. # the proxied request is first passed through the pre-proxy
  571. # stage. This stage can re-write the request, or decide to
  572. # cancel the proxy.
  573. #
  574. # Only a few modules currently have this method.
  575. #
  576. pre-proxy {
  577. # attr_rewrite
  578.  
  579. # Uncomment the following line if you want to change attributes
  580. # as defined in the preproxy_users file.
  581. # files
  582.  
  583. # Uncomment the following line if you want to filter requests
  584. # sent to remote servers based on the rules defined in the
  585. # 'attrs.pre-proxy' file.
  586. # attr_filter.pre-proxy
  587.  
  588. # If you want to have a log of packets proxied to a home
  589. # server, un-comment the following line, and the
  590. # 'detail pre_proxy_log' section, above.
  591. # pre_proxy_log
  592. }
  593.  
  594. #
  595. # When the server receives a reply to a request it proxied
  596. # to a home server, the request may be massaged here, in the
  597. # post-proxy stage.
  598. #
  599. post-proxy {
  600.  
  601. # If you want to have a log of replies from a home server,
  602. # un-comment the following line, and the 'detail post_proxy_log'
  603. # section, above.
  604. # post_proxy_log
  605.  
  606. # attr_rewrite
  607.  
  608. # Uncomment the following line if you want to filter replies from
  609. # remote proxies based on the rules defined in the 'attrs' file.
  610. # attr_filter.post-proxy
  611.  
  612. #
  613. # If you are proxying LEAP, you MUST configure the EAP
  614. # module, and you MUST list it here, in the post-proxy
  615. # stage.
  616. #
  617. # You MUST also use the 'nostrip' option in the 'realm'
  618. # configuration. Otherwise, the User-Name attribute
  619. # in the proxied request will not match the user name
  620. # hidden inside of the EAP packet, and the end server will
  621. # reject the EAP request.
  622. #
  623. eap
  624.  
  625. #
  626. # If the server tries to proxy a request and fails, then the
  627. # request is processed through the modules in this section.
  628. #
  629. # The main use of this section is to permit robust proxying
  630. # of accounting packets. The server can be configured to
  631. # proxy accounting packets as part of normal processing.
  632. # Then, if the home server goes down, accounting packets can
  633. # be logged to a local "detail" file, for processing with
  634. # radrelay. When the home server comes back up, radrelay
  635. # will read the detail file, and send the packets to the
  636. # home server.
  637. #
  638. # With this configuration, the server always responds to
  639. # Accounting-Requests from the NAS, but only writes
  640. # accounting packets to disk if the home server is down.
  641. #
  642. # Post-Proxy-Type Fail {
  643. # detail
  644. # }
  645. }
  646.  
  647. ---------------------------------------------------------------------
  648.  
  649.  
  650. # -*- text -*-
  651. ##
  652. ## radiusd.conf -- FreeRADIUS server configuration file.
  653. ##
  654. ## http://www.freeradius.org/
  655. ## $Id$
  656. ##
  657.  
  658. ######################################################################
  659. #
  660. # Read "man radiusd" before editing this file. See the section
  661. # titled DEBUGGING. It outlines a method where you can quickly
  662. # obtain the configuration you want, without running into
  663. # trouble.
  664. #
  665. # Run the server in debugging mode, and READ the output.
  666. #
  667. # $ radiusd -X
  668. #
  669. # We cannot emphasize this point strongly enough. The vast
  670. # majority of problems can be solved by carefully reading the
  671. # debugging output, which includes warnings about common issues,
  672. # and suggestions for how they may be fixed.
  673. #
  674. # There may be a lot of output, but look carefully for words like:
  675. # "warning", "error", "reject", or "failure". The messages there
  676. # will usually be enough to guide you to a solution.
  677. #
  678. # If you are going to ask a question on the mailing list, then
  679. # explain what you are trying to do, and include the output from
  680. # debugging mode (radiusd -X). Failure to do so means that all
  681. # of the responses to your question will be people telling you
  682. # to "post the output of radiusd -X".
  683.  
  684. ######################################################################
  685. #
  686. # The location of other config files and logfiles are declared
  687. # in this file.
  688. #
  689. # Also general configuration for modules can be done in this
  690. # file, it is exported through the API to modules that ask for
  691. # it.
  692. #
  693. # See "man radiusd.conf" for documentation on the format of this
  694. # file. Note that the individual configuration items are NOT
  695. # documented in that "man" page. They are only documented here,
  696. # in the comments.
  697. #
  698. # As of 2.0.0, FreeRADIUS supports a simple processing language
  699. # in the "authorize", "authenticate", "accounting", etc. sections.
  700. # See "man unlang" for details.
  701. #
  702.  
  703. prefix = /usr
  704. exec_prefix = /usr
  705. sysconfdir = /etc
  706. localstatedir = /var
  707. sbindir = ${exec_prefix}/sbin
  708. logdir = /var/log/freeradius
  709. raddbdir = /etc/freeradius
  710. radacctdir = ${logdir}/radacct
  711.  
  712. #
  713. # name of the running server. See also the "-n" command-line option.
  714. name = freeradius
  715.  
  716. # Location of config and logfiles.
  717. confdir = ${raddbdir}
  718. run_dir = ${localstatedir}/run/${name}
  719.  
  720. # Should likely be ${localstatedir}/lib/radiusd
  721. db_dir = ${raddbdir}
  722.  
  723. #
  724. # libdir: Where to find the rlm_* modules.
  725. #
  726. # This should be automatically set at configuration time.
  727. #
  728. # If the server builds and installs, but fails at execution time
  729. # with an 'undefined symbol' error, then you can use the libdir
  730. # directive to work around the problem.
  731. #
  732. # The cause is usually that a library has been installed on your
  733. # system in a place where the dynamic linker CANNOT find it. When
  734. # executing as root (or another user), your personal environment MAY
  735. # be set up to allow the dynamic linker to find the library. When
  736. # executing as a daemon, FreeRADIUS MAY NOT have the same
  737. # personalized configuration.
  738. #
  739. # To work around the problem, find out which library contains that symbol,
  740. # and add the directory containing that library to the end of 'libdir',
  741. # with a colon separating the directory names. NO spaces are allowed.
  742. #
  743. # e.g. libdir = /usr/local/lib:/opt/package/lib
  744. #
  745. # You can also try setting the LD_LIBRARY_PATH environment variable
  746. # in a script which starts the server.
  747. #
  748. # If that does not work, then you can re-configure and re-build the
  749. # server to NOT use shared libraries, via:
  750. #
  751. # ./configure --disable-shared
  752. # make
  753. # make install
  754. #
  755. libdir = /usr/lib/freeradius
  756.  
  757. # pidfile: Where to place the PID of the RADIUS server.
  758. #
  759. # The server may be signalled while it's running by using this
  760. # file.
  761. #
  762. # This file is written when ONLY running in daemon mode.
  763. #
  764. # e.g.: kill -HUP `cat /var/run/radiusd/radiusd.pid`
  765. #
  766. pidfile = ${run_dir}/${name}.pid
  767.  
  768. # chroot: directory where the server does "chroot".
  769. #
  770. # The chroot is done very early in the process of starting the server.
  771. # After the chroot has been performed it switches to the "user" listed
  772. # below (which MUST be specified). If "group" is specified, it switchs
  773. # to that group, too. Any other groups listed for the specified "user"
  774. # in "/etc/group" are also added as part of this process.
  775. #
  776. # The current working directory (chdir / cd) is left *outside* of the
  777. # chroot until all of the modules have been initialized. This allows
  778. # the "raddb" directory to be left outside of the chroot. Once the
  779. # modules have been initialized, it does a "chdir" to ${logdir}. This
  780. # means that it should be impossible to break out of the chroot.
  781. #
  782. # If you are worried about security issues related to this use of chdir,
  783. # then simply ensure that the "raddb" directory is inside of the chroot,
  784. # end be sure to do "cd raddb" BEFORE starting the server.
  785. #
  786. # If the server is statically linked, then the only files that have
  787. # to exist in the chroot are ${run_dir} and ${logdir}. If you do the
  788. # "cd raddb" as discussed above, then the "raddb" directory has to be
  789. # inside of the chroot directory, too.
  790. #
  791. #chroot = /path/to/chroot/directory
  792.  
  793. # user/group: The name (or #number) of the user/group to run radiusd as.
  794. #
  795. # If these are commented out, the server will run as the user/group
  796. # that started it. In order to change to a different user/group, you
  797. # MUST be root ( or have root privleges ) to start the server.
  798. #
  799. # We STRONGLY recommend that you run the server with as few permissions
  800. # as possible. That is, if you're not using shadow passwords, the
  801. # user and group items below should be set to radius'.
  802. #
  803. # NOTE that some kernels refuse to setgid(group) when the value of
  804. # (unsigned)group is above 60000; don't use group nobody on these systems!
  805. #
  806. # On systems with shadow passwords, you might have to set 'group = shadow'
  807. # for the server to be able to read the shadow password file. If you can
  808. # authenticate users while in debug mode, but not in daemon mode, it may be
  809. # that the debugging mode server is running as a user that can read the
  810. # shadow info, and the user listed below can not.
  811. #
  812. # The server will also try to use "initgroups" to read /etc/groups.
  813. # It will join all groups where "user" is a member. This can allow
  814. # for some finer-grained access controls.
  815. #
  816. user = freerad
  817. group = freerad
  818.  
  819. # max_request_time: The maximum time (in seconds) to handle a request.
  820. #
  821. # Requests which take more time than this to process may be killed, and
  822. # a REJECT message is returned.
  823. #
  824. # WARNING: If you notice that requests take a long time to be handled,
  825. # then this MAY INDICATE a bug in the server, in one of the modules
  826. # used to handle a request, OR in your local configuration.
  827. #
  828. # This problem is most often seen when using an SQL database. If it takes
  829. # more than a second or two to receive an answer from the SQL database,
  830. # then it probably means that you haven't indexed the database. See your
  831. # SQL server documentation for more information.
  832. #
  833. # Useful range of values: 5 to 120
  834. #
  835. max_request_time = 30
  836.  
  837. # cleanup_delay: The time to wait (in seconds) before cleaning up
  838. # a reply which was sent to the NAS.
  839. #
  840. # The RADIUS request is normally cached internally for a short period
  841. # of time, after the reply is sent to the NAS. The reply packet may be
  842. # lost in the network, and the NAS will not see it. The NAS will then
  843. # re-send the request, and the server will respond quickly with the
  844. # cached reply.
  845. #
  846. # If this value is set too low, then duplicate requests from the NAS
  847. # MAY NOT be detected, and will instead be handled as seperate requests.
  848. #
  849. # If this value is set too high, then the server will cache too many
  850. # requests, and some new requests may get blocked. (See 'max_requests'.)
  851. #
  852. # Useful range of values: 2 to 10
  853. #
  854. cleanup_delay = 5
  855.  
  856. # max_requests: The maximum number of requests which the server keeps
  857. # track of. This should be 256 multiplied by the number of clients.
  858. # e.g. With 4 clients, this number should be 1024.
  859. #
  860. # If this number is too low, then when the server becomes busy,
  861. # it will not respond to any new requests, until the 'cleanup_delay'
  862. # time has passed, and it has removed the old requests.
  863. #
  864. # If this number is set too high, then the server will use a bit more
  865. # memory for no real benefit.
  866. #
  867. # If you aren't sure what it should be set to, it's better to set it
  868. # too high than too low. Setting it to 1000 per client is probably
  869. # the highest it should be.
  870. #
  871. # Useful range of values: 256 to infinity
  872. #
  873. max_requests = 1024
  874.  
  875. # listen: Make the server listen on a particular IP address, and send
  876. # replies out from that address. This directive is most useful for
  877. # hosts with multiple IP addresses on one interface.
  878. #
  879. # If you want the server to listen on additional addresses, or on
  880. # additionnal ports, you can use multiple "listen" sections.
  881. #
  882. # Each section make the server listen for only one type of packet,
  883. # therefore authentication and accounting have to be configured in
  884. # different sections.
  885. #
  886. # The server ignore all "listen" section if you are using '-i' and '-p'
  887. # on the command line.
  888. #
  889. listen {
  890. # Type of packets to listen for.
  891. # Allowed values are:
  892. # auth listen for authentication packets
  893. # acct listen for accounting packets
  894. # proxy IP to use for sending proxied packets
  895. # detail Read from the detail file. For examples, see
  896. # raddb/sites-available/copy-acct-to-home-server
  897. # status listen for Status-Server packets. For examples,
  898. # see raddb/sites-available/status
  899. # coa listen for CoA-Request and Disconnect-Request
  900. # packets. For examples, see the file
  901. # raddb/sites-available/coa-server
  902. #
  903. type = auth
  904.  
  905. # Note: "type = proxy" lets you control the source IP used for
  906. # proxying packets, with some limitations:
  907. #
  908. # * A proxy listener CANNOT be used in a virtual server section.
  909. # * You should probably set "port = 0".
  910. # * Any "clients" configuration will be ignored.
  911. #
  912. # See also proxy.conf, and the "src_ipaddr" configuration entry
  913. # in the sample "home_server" section. When you specify the
  914. # source IP address for packets sent to a home server, the
  915. # proxy listeners are automatically created.
  916.  
  917. # IP address on which to listen.
  918. # Allowed values are:
  919. # dotted quad (1.2.3.4)
  920. # hostname (radius.example.com)
  921. # wildcard (*)
  922. ipaddr = *
  923.  
  924. # OR, you can use an IPv6 address, but not both
  925. # at the same time.
  926. # ipv6addr = :: # any. ::1 == localhost
  927.  
  928. # Port on which to listen.
  929. # Allowed values are:
  930. # integer port number (1812)
  931. # 0 means "use /etc/services for the proper port"
  932. port = 0
  933.  
  934. # Some systems support binding to an interface, in addition
  935. # to the IP address. This feature isn't strictly necessary,
  936. # but for sites with many IP addresses on one interface,
  937. # it's useful to say "listen on all addresses for eth0".
  938. #
  939. # If your system does not support this feature, you will
  940. # get an error if you try to use it.
  941. #
  942. # interface = eth0
  943.  
  944. # Per-socket lists of clients. This is a very useful feature.
  945. #
  946. # The name here is a reference to a section elsewhere in
  947. # radiusd.conf, or clients.conf. Having the name as
  948. # a reference allows multiple sockets to use the same
  949. # set of clients.
  950. #
  951. # If this configuration is used, then the global list of clients
  952. # is IGNORED for this "listen" section. Take care configuring
  953. # this feature, to ensure you don't accidentally disable a
  954. # client you need.
  955. #
  956. # See clients.conf for the configuration of "per_socket_clients".
  957. #
  958. # clients = per_socket_clients
  959. }
  960.  
  961. # This second "listen" section is for listening on the accounting
  962. # port, too.
  963. #
  964. listen {
  965. ipaddr = *
  966. # ipv6addr = ::
  967. port = 0
  968. type = acct
  969. # interface = eth0
  970. # clients = per_socket_clients
  971. }
  972.  
  973. # hostname_lookups: Log the names of clients or just their IP addresses
  974. # e.g., www.freeradius.org (on) or 206.47.27.232 (off).
  975. #
  976. # The default is 'off' because it would be overall better for the net
  977. # if people had to knowingly turn this feature on, since enabling it
  978. # means that each client request will result in AT LEAST one lookup
  979. # request to the nameserver. Enabling hostname_lookups will also
  980. # mean that your server may stop randomly for 30 seconds from time
  981. # to time, if the DNS requests take too long.
  982. #
  983. # Turning hostname lookups off also means that the server won't block
  984. # for 30 seconds, if it sees an IP address which has no name associated
  985. # with it.
  986. #
  987. # allowed values: {no, yes}
  988. #
  989. hostname_lookups = no
  990.  
  991. # Core dumps are a bad thing. This should only be set to 'yes'
  992. # if you're debugging a problem with the server.
  993. #
  994. # allowed values: {no, yes}
  995. #
  996. allow_core_dumps = no
  997.  
  998. # Regular expressions
  999. #
  1000. # These items are set at configure time. If they're set to "yes",
  1001. # then setting them to "no" turns off regular expression support.
  1002. #
  1003. # If they're set to "no" at configure time, then setting them to "yes"
  1004. # WILL NOT WORK. It will give you an error.
  1005. #
  1006. regular_expressions = yes
  1007. extended_expressions = yes
  1008.  
  1009. #
  1010. # Logging section. The various "log_*" configuration items
  1011. # will eventually be moved here.
  1012. #
  1013. log {
  1014. #
  1015. # Destination for log messages. This can be one of:
  1016. #
  1017. # files - log to "file", as defined below.
  1018. # syslog - to syslog (see also the "syslog_facility", below.
  1019. # stdout - standard output
  1020. # stderr - standard error.
  1021. #
  1022. # The command-line option "-X" over-rides this option, and forces
  1023. # logging to go to stdout.
  1024. #
  1025. destination = files
  1026.  
  1027. #
  1028. # The logging messages for the server are appended to the
  1029. # tail of this file if destination == "files"
  1030. #
  1031. # If the server is running in debugging mode, this file is
  1032. # NOT used.
  1033. #
  1034. file = ${logdir}/radius.log
  1035.  
  1036. #
  1037. # If this configuration parameter is set, then log messages for
  1038. # a *request* go to this file, rather than to radius.log.
  1039. #
  1040. # i.e. This is a log file per request, once the server has accepted
  1041. # the request as being from a valid client. Messages that are
  1042. # not associated with a request still go to radius.log.
  1043. #
  1044. # Not all log messages in the server core have been updated to use
  1045. # this new internal API. As a result, some messages will still
  1046. # go to radius.log. Please submit patches to fix this behavior.
  1047. #
  1048. # The file name is expanded dynamically. You should ONLY user
  1049. # server-side attributes for the filename (e.g. things you control).
  1050. # Using this feature MAY also slow down the server substantially,
  1051. # especially if you do thinks like SQL calls as part of the
  1052. # expansion of the filename.
  1053. #
  1054. # The name of the log file should use attributes that don't change
  1055. # over the lifetime of a request, such as User-Name,
  1056. # Virtual-Server or Packet-Src-IP-Address. Otherwise, the log
  1057. # messages will be distributed over multiple files.
  1058. #
  1059. # Logging can be enabled for an individual request by a special
  1060. # dynamic expansion macro: %{debug: 1}, where the debug level
  1061. # for this request is set to '1' (or 2, 3, etc.). e.g.
  1062. #
  1063. # ...
  1064. # update control {
  1065. # Tmp-String-0 = "%{debug:1}"
  1066. # }
  1067. # ...
  1068. #
  1069. # The attribute that the value is assigned to is unimportant,
  1070. # and should be a "throw-away" attribute with no side effects.
  1071. #
  1072. #requests = ${logdir}/radiusd-%{%{Virtual-Server}:-DEFAULT}-%Y%m%d.log
  1073.  
  1074. #
  1075. # Which syslog facility to use, if ${destination} == "syslog"
  1076. #
  1077. # The exact values permitted here are OS-dependent. You probably
  1078. # don't want to change this.
  1079. #
  1080. syslog_facility = daemon
  1081.  
  1082. # Log the full User-Name attribute, as it was found in the request.
  1083. #
  1084. # allowed values: {no, yes}
  1085. #
  1086. stripped_names = no
  1087.  
  1088. # Log authentication requests to the log file.
  1089. #
  1090. # allowed values: {no, yes}
  1091. #
  1092. auth = no
  1093.  
  1094. # Log passwords with the authentication requests.
  1095. # auth_badpass - logs password if it's rejected
  1096. # auth_goodpass - logs password if it's correct
  1097. #
  1098. # allowed values: {no, yes}
  1099. #
  1100. auth_badpass = no
  1101. auth_goodpass = no
  1102.  
  1103. # Log additional text at the end of the "Login OK" messages.
  1104. # for these to work, the "auth" and "auth_goopass" or "auth_badpass"
  1105. # configurations above have to be set to "yes".
  1106. #
  1107. # The strings below are dynamically expanded, which means that
  1108. # you can put anything you want in them. However, note that
  1109. # this expansion can be slow, and can negatively impact server
  1110. # performance.
  1111. #
  1112. # msg_goodpass = ""
  1113. # msg_badpass = ""
  1114. }
  1115.  
  1116. # The program to execute to do concurrency checks.
  1117. checkrad = ${sbindir}/checkrad
  1118.  
  1119. # SECURITY CONFIGURATION
  1120. #
  1121. # There may be multiple methods of attacking on the server. This
  1122. # section holds the configuration items which minimize the impact
  1123. # of those attacks
  1124. #
  1125. security {
  1126. #
  1127. # max_attributes: The maximum number of attributes
  1128. # permitted in a RADIUS packet. Packets which have MORE
  1129. # than this number of attributes in them will be dropped.
  1130. #
  1131. # If this number is set too low, then no RADIUS packets
  1132. # will be accepted.
  1133. #
  1134. # If this number is set too high, then an attacker may be
  1135. # able to send a small number of packets which will cause
  1136. # the server to use all available memory on the machine.
  1137. #
  1138. # Setting this number to 0 means "allow any number of attributes"
  1139. max_attributes = 200
  1140.  
  1141. #
  1142. # reject_delay: When sending an Access-Reject, it can be
  1143. # delayed for a few seconds. This may help slow down a DoS
  1144. # attack. It also helps to slow down people trying to brute-force
  1145. # crack a users password.
  1146. #
  1147. # Setting this number to 0 means "send rejects immediately"
  1148. #
  1149. # If this number is set higher than 'cleanup_delay', then the
  1150. # rejects will be sent at 'cleanup_delay' time, when the request
  1151. # is deleted from the internal cache of requests.
  1152. #
  1153. # Useful ranges: 1 to 5
  1154. reject_delay = 1
  1155.  
  1156. #
  1157. # status_server: Whether or not the server will respond
  1158. # to Status-Server requests.
  1159. #
  1160. # When sent a Status-Server message, the server responds with
  1161. # an Access-Accept or Accounting-Response packet.
  1162. #
  1163. # This is mainly useful for administrators who want to "ping"
  1164. # the server, without adding test users, or creating fake
  1165. # accounting packets.
  1166. #
  1167. # It's also useful when a NAS marks a RADIUS server "dead".
  1168. # The NAS can periodically "ping" the server with a Status-Server
  1169. # packet. If the server responds, it must be alive, and the
  1170. # NAS can start using it for real requests.
  1171. #
  1172. # See also raddb/sites-available/status
  1173. #
  1174. status_server = yes
  1175. }
  1176.  
  1177. # PROXY CONFIGURATION
  1178. #
  1179. # proxy_requests: Turns proxying of RADIUS requests on or off.
  1180. #
  1181. # The server has proxying turned on by default. If your system is NOT
  1182. # set up to proxy requests to another server, then you can turn proxying
  1183. # off here. This will save a small amount of resources on the server.
  1184. #
  1185. # If you have proxying turned off, and your configuration files say
  1186. # to proxy a request, then an error message will be logged.
  1187. #
  1188. # To disable proxying, change the "yes" to "no", and comment the
  1189. # $INCLUDE line.
  1190. #
  1191. # allowed values: {no, yes}
  1192. #
  1193. proxy_requests = yes
  1194. $INCLUDE proxy.conf
  1195.  
  1196.  
  1197. # CLIENTS CONFIGURATION
  1198. #
  1199. # Client configuration is defined in "clients.conf".
  1200. #
  1201.  
  1202. # The 'clients.conf' file contains all of the information from the old
  1203. # 'clients' and 'naslist' configuration files. We recommend that you
  1204. # do NOT use 'client's or 'naslist', although they are still
  1205. # supported.
  1206. #
  1207. # Anything listed in 'clients.conf' will take precedence over the
  1208. # information from the old-style configuration files.
  1209. #
  1210. $INCLUDE clients.conf
  1211.  
  1212.  
  1213. # THREAD POOL CONFIGURATION
  1214. #
  1215. # The thread pool is a long-lived group of threads which
  1216. # take turns (round-robin) handling any incoming requests.
  1217. #
  1218. # You probably want to have a few spare threads around,
  1219. # so that high-load situations can be handled immediately. If you
  1220. # don't have any spare threads, then the request handling will
  1221. # be delayed while a new thread is created, and added to the pool.
  1222. #
  1223. # You probably don't want too many spare threads around,
  1224. # otherwise they'll be sitting there taking up resources, and
  1225. # not doing anything productive.
  1226. #
  1227. # The numbers given below should be adequate for most situations.
  1228. #
  1229. thread pool {
  1230. # Number of servers to start initially --- should be a reasonable
  1231. # ballpark figure.
  1232. start_servers = 5
  1233.  
  1234. # Limit on the total number of servers running.
  1235. #
  1236. # If this limit is ever reached, clients will be LOCKED OUT, so it
  1237. # should NOT BE SET TOO LOW. It is intended mainly as a brake to
  1238. # keep a runaway server from taking the system with it as it spirals
  1239. # down...
  1240. #
  1241. # You may find that the server is regularly reaching the
  1242. # 'max_servers' number of threads, and that increasing
  1243. # 'max_servers' doesn't seem to make much difference.
  1244. #
  1245. # If this is the case, then the problem is MOST LIKELY that
  1246. # your back-end databases are taking too long to respond, and
  1247. # are preventing the server from responding in a timely manner.
  1248. #
  1249. # The solution is NOT do keep increasing the 'max_servers'
  1250. # value, but instead to fix the underlying cause of the
  1251. # problem: slow database, or 'hostname_lookups=yes'.
  1252. #
  1253. # For more information, see 'max_request_time', above.
  1254. #
  1255. max_servers = 32
  1256.  
  1257. # Server-pool size regulation. Rather than making you guess
  1258. # how many servers you need, FreeRADIUS dynamically adapts to
  1259. # the load it sees, that is, it tries to maintain enough
  1260. # servers to handle the current load, plus a few spare
  1261. # servers to handle transient load spikes.
  1262. #
  1263. # It does this by periodically checking how many servers are
  1264. # waiting for a request. If there are fewer than
  1265. # min_spare_servers, it creates a new spare. If there are
  1266. # more than max_spare_servers, some of the spares die off.
  1267. # The default values are probably OK for most sites.
  1268. #
  1269. min_spare_servers = 3
  1270. max_spare_servers = 10
  1271.  
  1272. # When the server receives a packet, it places it onto an
  1273. # internal queue, where the worker threads (configured above)
  1274. # pick it up for processing. The maximum size of that queue
  1275. # is given here.
  1276. #
  1277. # When the queue is full, any new packets will be silently
  1278. # discarded.
  1279. #
  1280. # The most common cause of the queue being full is that the
  1281. # server is dependent on a slow database, and it has received
  1282. # a large "spike" of traffic. When that happens, there is
  1283. # very little you can do other than make sure the server
  1284. # receives less traffic, or make sure that the database can
  1285. # handle the load.
  1286. #
  1287. # max_queue_size = 65536
  1288.  
  1289. # There may be memory leaks or resource allocation problems with
  1290. # the server. If so, set this value to 300 or so, so that the
  1291. # resources will be cleaned up periodically.
  1292. #
  1293. # This should only be necessary if there are serious bugs in the
  1294. # server which have not yet been fixed.
  1295. #
  1296. # '0' is a special value meaning 'infinity', or 'the servers never
  1297. # exit'
  1298. max_requests_per_server = 0
  1299. }
  1300.  
  1301. # MODULE CONFIGURATION
  1302. #
  1303. # The names and configuration of each module is located in this section.
  1304. #
  1305. # After the modules are defined here, they may be referred to by name,
  1306. # in other sections of this configuration file.
  1307. #
  1308. modules {
  1309. #
  1310. # Each module has a configuration as follows:
  1311. #
  1312. # name [ instance ] {
  1313. # config_item = value
  1314. # ...
  1315. # }
  1316. #
  1317. # The 'name' is used to load the 'rlm_name' library
  1318. # which implements the functionality of the module.
  1319. #
  1320. # The 'instance' is optional. To have two different instances
  1321. # of a module, it first must be referred to by 'name'.
  1322. # The different copies of the module are then created by
  1323. # inventing two 'instance' names, e.g. 'instance1' and 'instance2'
  1324. #
  1325. # The instance names can then be used in later configuration
  1326. # INSTEAD of the original 'name'. See the 'radutmp' configuration
  1327. # for an example.
  1328. #
  1329.  
  1330. #
  1331. # As of 2.0.5, most of the module configurations are in a
  1332. # sub-directory. Files matching the regex /[a-zA-Z0-9_.]+/
  1333. # are loaded. The modules are initialized ONLY if they are
  1334. # referenced in a processing section, such as authorize,
  1335. # authenticate, accounting, pre/post-proxy, etc.
  1336. #
  1337. $INCLUDE ${confdir}/modules/
  1338.  
  1339. # Extensible Authentication Protocol
  1340. #
  1341. # For all EAP related authentications.
  1342. # Now in another file, because it is very large.
  1343. #
  1344. $INCLUDE eap.conf
  1345.  
  1346. # Include another file that has the SQL-related configuration.
  1347. # This is another file only because it tends to be big.
  1348. #
  1349. #$INCLUDE sql.conf
  1350.  
  1351. #
  1352. # This module is an SQL enabled version of the counter module.
  1353. #
  1354. # Rather than maintaining seperate (GDBM) databases of
  1355. # accounting info for each counter, this module uses the data
  1356. # stored in the raddacct table by the sql modules. This
  1357. # module NEVER does any database INSERTs or UPDATEs. It is
  1358. # totally dependent on the SQL module to process Accounting
  1359. # packets.
  1360. #
  1361. # $INCLUDE sql/mysql/counter.conf
  1362.  
  1363. #
  1364. # IP addresses managed in an SQL table.
  1365. #
  1366. # $INCLUDE sqlippool.conf
  1367. }
  1368.  
  1369. # Instantiation
  1370. #
  1371. # This section orders the loading of the modules. Modules
  1372. # listed here will get loaded BEFORE the later sections like
  1373. # authorize, authenticate, etc. get examined.
  1374. #
  1375. # This section is not strictly needed. When a section like
  1376. # authorize refers to a module, it's automatically loaded and
  1377. # initialized. However, some modules may not be listed in any
  1378. # of the following sections, so they can be listed here.
  1379. #
  1380. # Also, listing modules here ensures that you have control over
  1381. # the order in which they are initalized. If one module needs
  1382. # something defined by another module, you can list them in order
  1383. # here, and ensure that the configuration will be OK.
  1384. #
  1385. instantiate {
  1386. #
  1387. # Allows the execution of external scripts.
  1388. # The entire command line (and output) must fit into 253 bytes.
  1389. #
  1390. # e.g. Framed-Pool = `%{exec:/bin/echo foo}`
  1391. exec
  1392.  
  1393. #
  1394. # The expression module doesn't do authorization,
  1395. # authentication, or accounting. It only does dynamic
  1396. # translation, of the form:
  1397. #
  1398. # Session-Timeout = `%{expr:2 + 3}`
  1399. #
  1400. # So the module needs to be instantiated, but CANNOT be
  1401. # listed in any other section. See 'doc/rlm_expr' for
  1402. # more information.
  1403. #
  1404. expr
  1405.  
  1406. #
  1407. # We add the counter module here so that it registers
  1408. # the check-name attribute before any module which sets
  1409. # it
  1410. # daily
  1411. expiration
  1412. logintime
  1413.  
  1414. # subsections here can be thought of as "virtual" modules.
  1415. #
  1416. # e.g. If you have two redundant SQL servers, and you want to
  1417. # use them in the authorize and accounting sections, you could
  1418. # place a "redundant" block in each section, containing the
  1419. # exact same text. Or, you could uncomment the following
  1420. # lines, and list "redundant_sql" in the authorize and
  1421. # accounting sections.
  1422. #
  1423. #redundant redundant_sql {
  1424. # sql1
  1425. # sql2
  1426. #}
  1427. }
  1428.  
  1429. ######################################################################
  1430. #
  1431. # Policies that can be applied in multiple places are listed
  1432. # globally. That way, they can be defined once, and referred
  1433. # to multiple times.
  1434. #
  1435. ######################################################################
  1436. $INCLUDE policy.conf
  1437.  
  1438. ######################################################################
  1439. #
  1440. # Load virtual servers.
  1441. #
  1442. # This next $INCLUDE line loads files in the directory that
  1443. # match the regular expression: /[a-zA-Z0-9_.]+/
  1444. #
  1445. # It allows you to define new virtual servers simply by placing
  1446. # a file into the raddb/sites-enabled/ directory.
  1447. #
  1448. $INCLUDE sites-enabled/
  1449.  
  1450. ######################################################################
  1451. #
  1452. # All of the other configuration sections like "authorize {}",
  1453. # "authenticate {}", "accounting {}", have been moved to the
  1454. # the file:
  1455. #
  1456. # raddb/sites-available/default
  1457. #
  1458. # This is the "default" virtual server that has the same
  1459. # configuration as in version 1.0.x and 1.1.x. The default
  1460. # installation enables this virtual server. You should
  1461. # edit it to create policies for your local site.
  1462. #
  1463. # For more documentation on virtual servers, see:
  1464. #
  1465. # raddb/sites-available/README
  1466. #
  1467. ######################################################################
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement