Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    NEW Package: freeRADIUS 2.x

    Scheduled Pinned Locked Moved pfSense Packages
    628 Posts 80 Posters 830.9k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      markuhde
      last edited by

      Thanks, I edited those lines, FreeRADIUS still just locks at 25% CPU load when started. If you are interested to help troubleshoot the package, I can give you login credentials if you PM me. Unfortunately, I can't pay anything since I'm doing this work for free for a non-profit camp…

      [2.1-BETA1][admin@glacierfire.glaciercamp]/root(1): radiusd -X
      FreeRADIUS Version 2.2.0, for host amd64-portbld-freebsd8.3, built on Dec 20 2012 at 23:20:32
      Copyright (C) 1999-2012 The FreeRADIUS server project and contributors.
      There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
      PARTICULAR PURPOSE.
      You may redistribute copies of FreeRADIUS under the terms of the
      GNU General Public License v2.
      Starting - reading configuration files …
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/radiusd.conf
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/clients.conf
      including files in directory /usr/pbi/freeradius-amd64/etc/raddb/modules/
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/wimax
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/always
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/attr_filter
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/attr_rewrite
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/cache
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/chap
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/checkval
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/counter
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/cui
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/detail
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/detail.example.com
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/detail.log
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/dhcp_sqlippool
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/sql/mysql/ippool-dhcp.conf
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/digest
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/dynamic_clients
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/echo
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/etc_group
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/exec
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/expiration
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/expr
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/files
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/inner-eap
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/ippool
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/krb5
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/ldap
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/linelog
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/otp
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/logintime
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/mac2ip
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/mac2vlan
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/mschap
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/ntlm_auth
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/opendirectory
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/pam
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/pap
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/passwd
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/perl
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/policy
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/preprocess
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/radrelay
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/radutmp
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/realm
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/redis
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/rediswho
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/replicate
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/smbpasswd
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/smsotp
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/soh
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/sql_log
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/sqlcounter_expire_on_login
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/sradutmp
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/unix
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/acct_unique
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/motp
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/modules/datacounter_acct
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/eap.conf
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/policy.conf
      including files in directory /usr/pbi/freeradius-amd64/etc/raddb/sites-enabled/
      including configuration file /usr/pbi/freeradius-amd64/etc/raddb/sites-enabled/default
      main {
      allow_core_dumps = no
      }
      including dictionary file /usr/pbi/freeradius-amd64/etc/raddb/dictionary
      main {
      name = "radiusd"
      prefix = "/usr/pbi/freeradius-amd64"
      localstatedir = "/var"
      sbindir = "/usr/pbi/freeradius-amd64/sbin"
      logdir = "/var/log"
      run_dir = "/var/run"
      libdir = "/usr/pbi/freeradius-amd64/lib/freeradius-2.1.12"
      radacctdir = "/var/log/radacct"
      hostname_lookups = no
      max_request_time = 30
      cleanup_delay = 5
      max_requests = 1024
      pidfile = "/var/run/radiusd.pid"
      checkrad = "/usr/pbi/freeradius-amd64/sbin/checkrad"
      debug_level = 0
      proxy_requests = yes
      log {
      stripped_names = no
      auth = yes
      auth_badpass = no
      auth_goodpass = no
      msg_badpass = ""
      msg_goodpass = ""
      }
      security {
      max_attributes = 200
      reject_delay = 1
      status_server = no
      }
      }
      radiusd: #### Loading Realms and Home Servers ####
      radiusd: #### Loading Clients ####
      client teakettle2 {
      ipaddr = 172.21.12.2
      require_message_authenticator = no
      secret = "mqh6rWnxbTkgQkVn"
      shortname = "teakettle2"
      nastype = "other"
      }
      client cafeteria {
      ipaddr = 172.21.12.3
      require_message_authenticator = no
      secret = "8UmEX8Xr6sRz64R4"
      shortname = "cafeteria"
      nastype = "other"
      }
      client lodgelobby {
      ipaddr = 172.21.12.4
      require_message_authenticator = no
      secret = "5TEEQULqqTB49bYc"
      shortname = "lodgelobby"
      nastype = "other"
      }
      client conferenceroom {
      ipaddr = 172.21.12.5
      require_message_authenticator = no
      secret = "5vQTATZSLBGqKNhx"
      shortname = "conferenceroom"
      nastype = "other"
      }
      client sector1 {
      ipaddr = 172.21.12.6
      require_message_authenticator = no
      secret = "LgVKSbJ6eRcwdJzU"
      shortname = "sector1"
      nastype = "other"
      }
      client sector2 {
      ipaddr = 172.21.12.7
      require_message_authenticator = no
      secret = "aHfBaTuxytqLKXFG"
      shortname = "sector2"
      nastype = "other"
      }
      client sector3 {
      ipaddr = 172.21.12.8
      require_message_authenticator = no
      secret = "ZubfCx8NZ2z6uTyJ"
      shortname = "sector3"
      nastype = "other"
      }
      client sector4 {
      ipaddr = 172.21.12.9
      require_message_authenticator = no
      secret = "mnSmhmWezPySNpbw"
      shortname = "sector4"
      nastype = "other"
      }
      client 5sector1 {
      ipaddr = 172.21.12.10
      require_message_authenticator = no
      secret = "rsFmNjDNAEFGhWvP"
      shortname = "5sector1"
      nastype = "other"
      }
      client midway {
      ipaddr = 172.21.12.12
      require_message_authenticator = no
      secret = "UF4KbWRT7KGPbY2s"
      shortname = "midway"
      nastype = "other"
      }
      radiusd: #### Instantiating modules ####
      instantiate {
      Module: Linked to module rlm_exec
      Module: Instantiating module "exec" from file /usr/pbi/freeradius-amd64/etc/raddb/modules/exec
        exec {
      wait = no
      input_pairs = "request"
      shell_escape = yes
        }
      Module: Linked to module rlm_expr
      Module: Instantiating module "expr" from file /usr/pbi/freeradius-amd64/etc/raddb/modules/expr
      Module: Linked to module rlm_counter
      Module: Instantiating module "daily" from file /usr/pbi/freeradius-amd64/etc/raddb/modules/counter
        counter daily {
      filename = "/var/log/radacct/timecounter/db.daily"
      key = "User-Name"
      reset = "daily"
      count-attribute = "Acct-Session-Time"
      counter-name = "Daily-Session-Time"
      check-name = "Max-Daily-Session"
      reply-name = "Session-Timeout"
      cache-size = 5000
        }
      rlm_counter: Counter attribute Daily-Session-Time is number 11273
      rlm_counter: Current Time: 1361209237 [2013-02-18 10:40:37], Next reset 1361257200 [2013-02-19 00:00:00]
      Module: Instantiating module "weekly" from file /usr/pbi/freeradius-amd64/etc/raddb/modules/counter
        counter weekly {
      filename = "/var/log/radacct/timecounter/db.weekly"
      key = "User-Name"
      reset = "weekly"
      count-attribute = "Acct-Session-Time"
      counter-name = "Weekly-Session-Time"
      check-name = "Max-Weekly-Session"
      reply-name = "Session-Timeout"
      cache-size = 5000
        }
      rlm_counter: Counter attribute Weekly-Session-Time is number 11275
      rlm_counter: Current Time: 1361209237 [2013-02-18 10:40:37], Next reset 1361689200 [2013-02-24 00:00:00]
      Module: Instantiating module "monthly" from file /usr/pbi/freeradius-amd64/etc/raddb/modules/counter
        counter monthly {
      filename = "/var/log/radacct/timecounter/db.monthly"
      key = "User-Name"
      reset = "monthly"
      count-attribute = "Acct-Session-Time"
      counter-name = "Monthly-Session-Time"
      check-name = "Max-Monthly-Session"
      reply-name = "Session-Timeout"
      cache-size = 5000
        }
      rlm_counter: Counter attribute Monthly-Session-Time is number 11277
      rlm_counter: Current Time: 1361209237 [2013-02-18 10:40:37], Next reset 1362121200 [2013-03-01 00:00:00]
      Module: Instantiating module "forever" from file /usr/pbi/freeradius-amd64/etc/raddb/modules/counter
        counter forever {
      filename = "/var/log/radacct/timecounter/db.forever"
      key = "User-Name"
      reset = "never"
      count-attribute = "Acct-Session-Time"
      counter-name = "Forever-Session-Time"
      check-name = "Max-Forever-Session"
      reply-name = "Session-Timeout"
      cache-size = 5000
        }
      rlm_counter: Counter attribute Forever-Session-Time is number 11279
      rlm_counter: Current Time: 1361209237 [2013-02-18 10:40:37], Next reset 0 [2013-02-18 10:00:00]
      rlm_counter: add_defaults: Start
      ^C
      [2.1-BETA1][admin@glacierfire.glaciercamp]/root(2):

      1 Reply Last reply Reply Quote 0
      • N
        Nachtfalke
        last edited by

        Hi again,

        I did and upgrade of an "old" pfsense 2.1-BETA0 with freeradius2.1.12 to todays pfsense snapshot and freeradius2.2.0

        Service started and no problems with high CPU usage.
        But nevertheless there is something which needs to be corrected and please make sure you did that.

        Edit the freeradius.inc file:

        
        vi /usr/local/pkg/freeradius.inc
        
        

        Remove this line 83:

        exec("chown -R root:wheel " . FREERADIUS_BASE . "/etc/raddb && chown -R root:wheel " . FREERADIUS_BASE . "/lib/freeradius-2.1.12 && chown -R root:wheel /var/log/radacct");
        

        With this line:

        [code]exec("chown -R root:wheel " . FREERADIUS_BASE . "/etc/raddb && chown -R root:wheel " . FREERADIUS_BASE . "/lib/freeradius-2.2.0 && chown -R root:wheel /var/log/radacct");[/code]
        

        Remove this line 216:

        libdir = \${exec_prefix}/lib/freeradius-2.1.12
        

        with this line:

        libdir = \${exec_prefix}/lib/freeradius-2.2.0
        

        Save the freeradius.inc

        Now go to Diagnoctics –> Command Prompt and put the following into the PHP Execute:

        require_once('/usr/local/pkg/freeradius.inc');
        freeradius_install_command();
        

        This command will take some time. It will recreate all folders and config files and restart freeradius service.
        After that try again if it is working.

        Question:
        Do you "just" have problems with high CPU usage or do you have problems with freeradius at all? Does it show you "Ready to process requests" ?

        PS: No need to SSH and no need to pay money. Use your money for usefull things or donate to pfsense but not to me ;-)

        1 Reply Last reply Reply Quote 0
        • M
          markuhde
          last edited by

          No, it's not just high CPU usage, it doesn't work, never gets to ready to process. I sent you exactly what it does :) I edited those files but I never ran that command you told me to, just did that. It still gets stuck on the same line (add defaults: start). Here's the radiusd thread causing the 25% CPU use:

          59445 root        119    0 34040M  9348K CPU1    1  1:13 100.00% radiusd

          100% use on that virtual core, it's like it's pegging it out in some kind of loop. Always worked fine on 32-bit. Maybe a complete system reinstall as 64-bit is in order, but it won't be able to happen for a month or so (though the RADIUS is only needed for youth camps come summer, right now it's all rental groups that don't get to bypass the proxy server :) )

          1 Reply Last reply Reply Quote 0
          • N
            Nachtfalke
            last edited by

            Perhaps just try with a complete fresh install.

            Do not mix architectures between snapshots. Just start with amd64 and stay on amd64 or do a fresh install.
            And after you installed the freeradius2 package again, do the changes, run the command I wrote and then try again :-)

            1 Reply Last reply Reply Quote 0
            • M
              markuhde
              last edited by

              Yeah, but I can't do a fresh install for about three weeks :) Going to just do that!

              1 Reply Last reply Reply Quote 0
              • N
                Nachtfalke
                last edited by

                Is freeradius2 starting if you remove all config entries from config.xml file and do a fresh freeradius2 installation ?
                The only thing you need to configure is a listening interface and then freeradius must start. If it starts it could be an config problem - some special char or some syntax error.

                Just a suggestion.

                1 Reply Last reply Reply Quote 0
                • M
                  markuhde
                  last edited by

                  Nope, I tried that already, no luck. I actually deleted my entire configuration and started over. Thus why there's no users except the one test user…

                  1 Reply Last reply Reply Quote 0
                  • A
                    AJOto
                    last edited by

                    Try to install and….

                    $ pkg_add -r http://files.pfsense.org/packages/8/All/freeradius-2.1.12_1.tbz
                    tar: Failed to set default locale
                    tar: Failed to set default locale
                    tar: tar: Failed to set default locale
                    Failed to set default locale
                    tar: Failed to set default locale
                    tar: Failed to set default locale
                    tar: Failed to set default locale
                    tar: Failed to set default locale
                    tar: Failed to set default locale
                    
                    ************************************************************
                    
                    The OpenLDAP client package has been successfully installed.
                    
                    Edit
                      /usr/local/etc/openldap/ldap.conf
                    to change the system-wide client defaults.
                    
                    Try `man ldap.conf' and visit the OpenLDAP FAQ-O-Matic at
                      http://www.OpenLDAP.org/faq/index.cgi?file=3
                    for more information.
                    
                    ************************************************************
                    
                    tar: Failed to set default locale
                    tar: Failed to set default locale
                    tar: Failed to set default locale
                    tar: Failed to set default locale
                    tar: Failed to set default locale
                    
                    ====
                    Note that some of the standard modules are provided as separate
                    ports since they require extra dependencies:
                    
                    bsddb           databases/py-bsddb
                    gdbm            databases/py-gdbm
                    sqlite3		databases/py-sqlite3
                    tkinter         x11-toolkits/py-tkinter
                    
                    Install them as needed.
                    ====
                    
                    tar: Failed to set default locale
                    tar: Failed to set default locale
                    tar: Failed to set default locale
                    tar: Failed to set default locale
                    tar: Failed to set default locale
                    Removing stale symlinks from /usr/bin...
                        Skipping /usr/bin/perl
                        Skipping /usr/bin/perl5
                        Removing /usr/local/bin/perl5.14.2 installed by an older perl port
                    Done.
                    Creating various symlinks in /usr/bin...
                        Symlinking /usr/local/bin/perl5.12.4 to /usr/bin/perl
                        Symlinking /usr/local/bin/perl5.12.4 to /usr/bin/perl5
                    Done.
                    cd: can't cd to /usr/include
                    Cleaning up /etc/make.conf... Done.
                    Spamming /etc/make.conf... Done.
                    tar: Failed to set default locale
                    tar: Failed to set default locale
                    tar: Failed to set default locale
                    tar: Failed to set default locale
                    tar: Failed to set default locale
                    tar: Failed to set default locale
                    tar: Failed to set default locale
                    tar: Failed to set default locale
                    tar: Failed to set default locale
                    tar: Failed to set default locale
                    tar: Failed to set default locale
                    tar: Failed to set default locale
                    pkg_add: warning: package 'libxml2-2.7.8_3' requires 'libiconv-1.14', but 'libiconv-1.13.1_1' is installed
                    tar: Failed to set default locale
                    tar: Failed to set default locale
                    tar: Failed to set default locale
                    pkg_add: warning: package 'postgresql-client-8.4.12' requires 'libiconv-1.14', but 'libiconv-1.13.1_1' is installed
                    
                    The PostgreSQL port has a collection of "side orders":
                    
                    postgresql-docs
                      For all of the html documentation
                    
                    p5-Pg
                      A perl5 API for client access to PostgreSQL databases.
                    
                    postgresql-tcltk 
                      If you want tcl/tk client support.
                    
                    postgresql-jdbc
                      For Java JDBC support.
                    
                    postgresql-odbc
                      For client access from unix applications using ODBC as access
                      method. Not needed to access unix PostgreSQL servers from Win32
                      using ODBC. See below.
                    
                    ruby-postgres, py-PyGreSQL
                      For client access to PostgreSQL databases using the ruby & python
                      languages.
                    
                    postgresql-plperl, postgresql-pltcl & postgresql-plruby
                      For using perl5, tcl & ruby as procedural languages.
                    
                    postgresql-contrib
                      Lots of contributed utilities, postgresql functions and
                      datatypes. There you find pg_standby, pgcrypto and many other cool
                      things.
                    
                    etc...
                    
                    ===> Setting user and group in radiusd.conf
                    ===> Creating users and/or groups.
                    Using existing group 'freeradius'.
                    Using existing user 'freeradius'.
                    ===> Bootstrapping default certificates, please wait...
                    tar: tar: Failed to set default localeFailed to set default locale
                    
                    ===> Adjusting ownership of directory /usr/local/etc/raddb
                    ===> Adjusting ownership of directory /var/log/radacct
                    ===> Adjusting ownership of directory /var/run/radiusd
                    ===> Adjusting ownership of /var/log/radius.log
                    ===> Adjusting ownership of /var/log/radutmp
                    ===> Adjusting ownership of /var/log/radwtmp
                    ===> Updating libdir in /usr/local/etc/raddb/radiusd.conf
                    pkg_add: warning: package 'freeradius-2.1.12_1' requires 'libiconv-1.14', but 'libiconv-1.13.1_1' is installed
                    
                    ===============================================================================
                    
                    To enable FreeRADIUS, put the following line in /etc/rc.conf
                    
                    radiusd_enable="YES"
                    
                    The sample configuration can be found at
                    /usr/local/share/examples/freeradius/raddb
                    
                    If you are upgrading FreeRADIUS, you are advised to use this as a reference
                    for updating your configuration.
                    
                    FreeRADIUS will look for its configuration directory at
                    /usr/local/etc/raddb by default.
                    
                    If you did not already have a configuration at this location, the sample
                    configuration has been copied to this location and has been bootstrapped.
                    
                    If you wish to point FreeRADIUS to a configuration at a different
                    location, put the following line in /etc/rc.conf
                    
                    radiusd_flags="-d /path/to/raddb"
                    
                    To start the server in normal (daemon) mode, run:
                    
                    /usr/local/etc/rc.d/radiusd start
                    
                    and to stop the server, run:
                    
                    /usr/local/etc/rc.d/radiusd stop
                    
                    To start the server in debugging mode, run:
                    
                    /usr/local/etc/rc.d/radiusd debug
                    
                    You are advised to make cautious changes to the configuration, and to test
                    frequently, using debugging mode where necessary. Try to resist the
                    temptation to disable or delete things that you don't understand - you may
                    well break things!
                    
                    The documentation has been installed at /usr/local/share/doc/freeradius
                    
                    Useful configuration advice can be found in the FreeRADIUS Wiki at
                    http://wiki.freeradius.org
                    
                    ===============================================================================
                    
                    1 Reply Last reply Reply Quote 0
                    • N
                      Nachtfalke
                      last edited by

                      @AJOto:

                      Try to install and….

                      $ pkg_add -r http://files.pfsense.org/packages/8/All/freeradius-2.1.12_1.tbz
                      (...)
                      
                      

                      What do you want to do?

                      If you want to use freeradius2 package on pfsense then just go to
                      System –> Package Manager --> Available Packages
                      and install freeradius2

                      No need to do that manual from the console and it will not work.

                      1 Reply Last reply Reply Quote 0
                      • A
                        AJOto
                        last edited by

                        @Nachtfalke:

                        @AJOto:

                        Try to install and….

                        $ pkg_add -r http://files.pfsense.org/packages/8/All/freeradius-2.1.12_1.tbz
                        (...)
                        
                        

                        What do you want to do?

                        If you want to use freeradius2 package on pfsense then just go to
                        System –> Package Manager --> Available Packages
                        and install freeradius2

                        No need to do that manual from the console and it will not work.

                        System –> Package Manager --> Available Packages
                        and install freeradius2
                        But dont RUN :(

                        I tried all ways to install ... but this package does not want to start

                        $ radiusd -X
                        FreeRADIUS Version 2.2.0, for host i386-portbld-freebsd8.3, built on Dec 20 2012 at 23:43:04
                        Copyright (C) 1999-2012 The FreeRADIUS server project and contributors. 
                        There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A 
                        PARTICULAR PURPOSE. 
                        You may redistribute copies of FreeRADIUS under the terms of the 
                        GNU General Public License v2\. 
                        Starting - reading configuration files ...
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/radiusd.conf
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/clients.conf
                        including files in directory /usr/pbi/freeradius-i386/etc/raddb/modules/
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/wimax
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/always
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/attr_filter
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/attr_rewrite
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/cache
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/chap
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/checkval
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/counter
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/cui
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/detail
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/detail.example.com
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/detail.log
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/dhcp_sqlippool
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/sql/mysql/ippool-dhcp.conf
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/digest
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/dynamic_clients
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/echo
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/etc_group
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/exec
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/expiration
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/expr
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/files
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/inner-eap
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/ippool
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/krb5
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/ldap
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/linelog
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/otp
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/logintime
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/mac2ip
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/mac2vlan
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/mschap
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/ntlm_auth
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/opendirectory
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/pam
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/pap
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/passwd
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/perl
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/policy
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/preprocess
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/radrelay
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/radutmp
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/realm
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/redis
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/rediswho
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/replicate
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/smbpasswd
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/smsotp
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/soh
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/sql_log
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/sqlcounter_expire_on_login
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/sradutmp
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/unix
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/acct_unique
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/motp
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/modules/datacounter_acct
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/eap.conf
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/policy.conf
                        including files in directory /usr/pbi/freeradius-i386/etc/raddb/sites-enabled/
                        including configuration file /usr/pbi/freeradius-i386/etc/raddb/sites-enabled/default
                        main {
                        	allow_core_dumps = no
                        }
                        including dictionary file /usr/pbi/freeradius-i386/etc/raddb/dictionary
                        main {
                        	name = "radiusd"
                        	prefix = "/usr/pbi/freeradius-i386"
                        	localstatedir = "/var"
                        	sbindir = "/usr/pbi/freeradius-i386/sbin"
                        	logdir = "/var/log"
                        	run_dir = "/var/run"
                        	libdir = "/usr/pbi/freeradius-i386/lib/freeradius-2.1.12"
                        	radacctdir = "/var/log/radacct"
                        	hostname_lookups = yes
                        	max_request_time = 30
                        	cleanup_delay = 5
                        	max_requests = 1024
                        	pidfile = "/var/run/radiusd.pid"
                        	checkrad = "/usr/pbi/freeradius-i386/sbin/checkrad"
                        	debug_level = 0
                        	proxy_requests = yes
                         log {
                        	stripped_names = yes
                        	auth = yes
                        	auth_badpass = yes
                        	auth_goodpass = yes
                        	msg_badpass = ""
                        	msg_goodpass = ""
                         }
                         security {
                        	max_attributes = 200
                        	reject_delay = 1
                        	status_server = no
                         }
                        }
                        radiusd: #### Loading Realms and Home Servers ####
                        radiusd: #### Loading Clients ####
                         client system {
                        	ipaddr = 192.168.1.1
                        	require_message_authenticator = no
                        	secret = "*******"
                        	shortname = "system"
                        	nastype = "other"
                         }
                        radiusd: #### Instantiating modules ####
                         instantiate {
                         Module: Linked to module rlm_exec
                         Module: Instantiating module "exec" from file /usr/pbi/freeradius-i386/etc/raddb/modules/exec
                          exec {
                        	wait = no
                        	input_pairs = "request"
                        	shell_escape = yes
                          }
                         Module: Linked to module rlm_expr
                         Module: Instantiating module "expr" from file /usr/pbi/freeradius-i386/etc/raddb/modules/expr
                         Module: Linked to module rlm_counter
                         Module: Instantiating module "daily" from file /usr/pbi/freeradius-i386/etc/raddb/modules/counter
                          counter daily {
                        	filename = "/var/log/radacct/timecounter/db.daily"
                        	key = "User-Name"
                        	reset = "daily"
                        	count-attribute = "Acct-Session-Time"
                        	counter-name = "Daily-Session-Time"
                        	check-name = "Max-Daily-Session"
                        	reply-name = "Session-Timeout"
                        	cache-size = 5000
                          }
                        rlm_counter: Counter attribute Daily-Session-Time is number 11273
                        rlm_counter: Current Time: 1364223550 [2013-03-25 16:59:10], Next reset 1364248800 [2013-03-26 00:00:00]
                        gdbm fatal: read error
                        
                        1 Reply Last reply Reply Quote 0
                        • N
                          Nachtfalke
                          last edited by

                          gdbm fatal: read error
                          

                          I saw this problem several times in other threads. In most cases it was a problem with the pfsense installation.
                          Can you try to do a fresh installation of pfsense and try the package again ?

                          In general freeradius2 should start after you setup a listening interface.

                          1 Reply Last reply Reply Quote 0
                          • S
                            Slam
                            last edited by

                            Thanks for this great contribution.

                            I am currently testing pfsense 2.0.3 with freeradius2 in appliance only mode.

                            I think I've found a small bug, if a radius user is created with an email address .i.e "tom@example.com" and "Amount of traffic" is set, this user is unable to login.

                            I've added "@" to /usr/local/etc/raddb/scripts/datacounter_*.sh files on the line

                            USERNAME=`echo -n "$1" | sed 's/[^0-9a-zA-Z.:_-[color=red]@]/X/g'

                            I am able to log on with "tom@example.com", however traffic accounting completely stops, for all users not just ones with @ in their names, if I remove my changes from  /usr/local/etc/raddb/scripts/datacounter_acct.sh, accounting works again but not for @ usernames.

                            Any help?

                            1 Reply Last reply Reply Quote 0
                            • N
                              Nachtfalke
                              last edited by

                              You probably need to modify that on both functions:

                              freeradius_datacounter_auth_resync()
                              freeradius_datacounter_acct_resync()
                              

                              Further you need to restart pfsense to recreate the .sh files.

                              Or you go to diagnostics –> command prompt:

                              require_once("/usr/local/pkg/freeradius.inc");
                              freeradius_datacounter_auth_resync();
                              freeradius_datacounter_acct_resync();

                              1 Reply Last reply Reply Quote 0
                              • S
                                Slam
                                last edited by

                                Thanks.

                                I had the same results, I even commented out the realms section where it denies @ logins, still nothing.

                                1 Reply Last reply Reply Quote 0
                                • N
                                  Nachtfalke
                                  last edited by

                                  @Abdsalem:

                                  Thanks.

                                  I had the same results, I even commented out the realms section where it denies @ logins, still nothing.

                                  Hmm, I am no coding expert so I am not sure why this is happening but I found the follwoing:

                                  http://php.net/manual/de/language.operators.php
                                  So it seems that  @  is an operator in PHP.

                                  And in function:
                                  function freeradius_modulesdatacounter_resync()
                                  we need the username (%{request:User-Name}) from freeradius and this could perhaps cause problems.

                                  Is there a way to just get the value of  %{request:User-Name}  without doing any special with it ?

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    Slam
                                    last edited by

                                    Thanks, Im no coder either :0)

                                    It could be my regex skills are also crap, but I thought I'd mention it as I noticed 1 or 2 posts on this thread pointing to this symptom, Ive since moved to an external radius server, just need to work out all the correct configs for it.

                                    But without @ username, the pfsense package worked great, I had 2 pfsense fr2 syncing with eachother with no problems.

                                    Cheers

                                    1 Reply Last reply Reply Quote 0
                                    • P
                                      pszafer
                                      last edited by

                                      hello,
                                      first @ is not operator in php.
                                      second, both functions You mentioned are bash scripts, so it doesn't matter.

                                      USERNAME=`echo -n "\$1" | sed 's/[^0-9a-zA-Z.:_-@]/X/g'
                                      ```this changes special characters to X. But finally it's just name of file so it doesn't matter if you save it with X as tomXmail.com or tom@mail.com.
                                      
                                      I don't use this function, but I'll try to help:
                                      1\. Do You have only one backslash before $1 in USERNAME?
                                      2\. Give me ouput (You can cut it, but I need sample name of username file (path /var/log/radacct/datacounter/\$TIMERANGE/max-octets-\$USERNAME"):
                                      You can do this command and paste somewhere.
                                      

                                      ls -lar /var/log/radacct/datacounter/ > /root/datacounterlist

                                      
                                      3\. As Nachtfalke wrote it could be problem in other function. We need to look into it:
                                      in function freeradius_modulesdatacounter_resync we need to change $conf variable a little.
                                      change only exec datacounterdaily
                                      

                                      exec datacounterdaily {
                                                      wait = yes
                                                      program = "/bin/sh $varFREERADIUS_BASE/etc/raddb/scripts/datacounter_acct.sh %{request:User-Name} daily %{request:Acct-Input-Octets} %{request:Acct-Output-Octets} && /bin/sh echo %{request:User-Name} >> /root/usernames"
                                              }
                                      ...

                                      
                                      maybe we would know something more with those files ;)
                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        Slam
                                        last edited by

                                        Thanks very much guys for offering to help and sorry I have not got back to this asap, been a bit busy as I have migrated my entire setup to pfsense 2.1 (radius accounting works great btw), I've setup an external radius server that sits on my dmz and its authenticating and accouting correctly with all my users, including "@" usernames.

                                        I am a little free now to help fix this problem for the community because its ideal and more practical in some cases to give users the option to sign up with their email addresses with the pfSense FR2 package.

                                        I have also worked out how to give users custom replies for my own setup if they fail authentication for what ever reason, I know a few people were looking for this as the default gave inconsistant replies for their setup .i.e "You have entered the wrong credentials" for a user who has used up their data allowance, instead of something liike this "You have used up your data allowance for this month".

                                        Ill setup another vm with pfsense 2.0.3 soon (I cant find where FR2 pkg resides on 2.1) and post the result of the commands pszafer wrote.

                                        TIA

                                        1 Reply Last reply Reply Quote 0
                                        • P
                                          pszafer
                                          last edited by

                                          Maybe better to test it on pfSense 2.1, so possible problem will no be reproduced in the newest version.

                                          1 Reply Last reply Reply Quote 0
                                          • marcellocM
                                            marcelloc
                                            last edited by

                                            Good news for those that use this package with eap-tls. Current version now includes certificate revocation list(CRL) on eap Tab.
                                            Once you revoke a client certificate, it will not be able to login anymore.  :)

                                            Treinamentos de Elite: http://sys-squad.com

                                            Help a community developer! ;D

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.