Subversion Repositories configs

Rev

Rev 4 | Blame | Compare with Previous | Last modification | View Log | RSS feed

# -*- text -*-
######################################################################
#
#       This is a sample configuration for "decoupled" accounting.
#       "Decoupled" accounting is where the accounting packets are
#       NOT written "live" to the back-end database.  This method
#       can only be used if you are not interested in "live"
#       accounting.  i.e. Where you can tolerate delays that may be
#       a few seconds, before accounting packets get written to
#       the DB.
#
#       Oddly enough, this method can speed up the processing of
#       accounting packets, as all database activity is serialized.
#
#       This file is NOT meant to be used as-is.  It needs to be
#       edited to match your local configuration.
#
#       $Id: 199258dd7f3b3a5f3ce23d0a82798b256c85af66 $
#
######################################################################

#  Define a virtual server to write the accounting packets.
#  Any "listen" section that listens on an accounting port should
#  set "virtual_server = write-detail.example.com
server write_detail.example.com {
        accounting {
                #
                #  Write the "detail" files.
                #
                #  See raddb/modules/detail.example.com for more info.
                detail.example.com
        }

        # That's it!
}

#  Define a virtual server to process the accounting packets.
server read-detail.example.com {
        #  Read accounting packets from the detail file(s) for
        #  the home server.
        listen {
                type = detail
                filename = "${radacctdir}/detail.example.com/detail-*:*"
                load_factor = 10
        }

        #  All packets read from the detail file are processed through
        #  the preacct && accounting sections.
        #
        #  The following text is copied verbatim from sites-available/default.
        #  You should edit it for your own local configuration.

#
#  Pre-accounting.  Decide which accounting type to use.
#
preacct {
        preprocess

        #
        #  Ensure that we have a semi-unique identifier for every
        #  request, and many NAS boxes are broken.
        acct_unique

        #
        #  Look for IPASS-style 'realm/', and if not found, look for
        #  '@realm', and decide whether or not to proxy, based on
        #  that.
        #
        #  Accounting requests are generally proxied to the same
        #  home server as authentication requests.
#       IPASS
        suffix
#       ntdomain

        #
        #  Read the 'acct_users' file
        files
}

#
#  Accounting.  Log the accounting data.
#
accounting {
        #
        #  Create a 'detail'ed log of the packets.
        #  Note that accounting requests which are proxied
        #  are also logged in the detail file.
        detail
#       daily

        #  Update the wtmp file
        #
        #  If you don't use "radlast", you can delete this line.
        unix

        #
        #  For Simultaneous-Use tracking.
        #
        #  Due to packet losses in the network, the data here
        #  may be incorrect.  There is little we can do about it.
        radutmp
#       sradutmp

        #  Return an address to the IP Pool when we see a stop record.
#       main_pool

        #
        #  Log traffic to an SQL database.
        #
        #  NOTE! You will have to ensure that any accounting packets
        #  NOT handled by the SQL module (e.g. "stop with zero session length"
        #  result in the accounting section still returning "ok".
        #
        #  Otherwise, the server will think that the accounting packet
        #  was NOT handled properly, and will keep trying to process it
        #  through this virtual server!
        #
        #  See "Accounting queries" in sql.conf
#       sql

        #
        #  Instead of sending the query to the SQL server,
        #  write it into a log file.
        #
#       sql_log

        #  Cisco VoIP specific bulk accounting
#       pgsql-voip

        #  Filter attributes from the accounting response.
        attr_filter.accounting_response

        #
        #  See "Autz-Type Status-Server" for how this works.
        #
#       Acct-Type Status-Server {
#
#       }
}
}