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

    FreeRadius + Captive Portal "Amount of Time" Problem

    Scheduled Pinned Locked Moved pfSense Packages
    17 Posts 3 Posters 3.0k 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.
    • P
      pfsense01
      last edited by

      Sorry about the glitch. I edited the shipment. Unfortunately the problem continues. I don't know where it might be. ☹

      1 Reply Last reply Reply Quote 0
      • P
        pfsense01 @Gertjan
        last edited by

        Hi @gertjan
        This is my radius -x output. Does not work with these settings.

        FreeRADIUS Version 3.0.17
        
        main {
         security {
                allow_core_dumps = no
         }
                name = "radiusd"
                prefix = "/usr/local"
                localstatedir = "/var"
                logdir = "/var/log"
                run_dir = "/var/run"
        }
        main {
                name = "radiusd"
                prefix = "/usr/local"
                localstatedir = "/var"
                sbindir = "/usr/local/sbin"
                logdir = "/var/log"
                run_dir = "/var/run"
                libdir = "/usr/local/lib/freeradius-3.0.17"
                radacctdir = "/var/log/radacct"
                hostname_lookups = no
                max_request_time = 30
                cleanup_delay = 5
                max_requests = 1024
                pidfile = "/var/run/radiusd.pid"
                checkrad = "/usr/local/sbin/checkrad"
                debug_level = 0
                proxy_requests = yes
         log {
                stripped_names = no
                auth = yes
                auth_badpass = no
                auth_goodpass = no
                msg_badpass = ""
                msg_goodpass = ""
                colourise = yes
                msg_denied = "You are already logged in - access denied"
         }
         resources {
         }
         security {
                max_attributes = 200
                reject_delay = 1.000000
                status_server = no
         }
        }
        client QHOTSPOT {
                ipaddr = 192.168.1.1
                require_message_authenticator = no
                secret = <<< secret >>>
                nas_type = "other"
                proto = "udp"
          limit {
                max_connections = 16
                lifetime = 0
                idle_timeout = 30
          }
         }
        radiusd: #### Instantiating modules ####
         modules {
          attr_filter attr_filter.post-proxy {
                filename = "/usr/local/etc/raddb/mods-config/attr_filter/post-proxy"
                key = "%{Realm}"
                relaxed = no
          }
          attr_filter attr_filter.pre-proxy {
                filename = "/usr/local/etc/raddb/mods-config/attr_filter/pre-proxy"
                key = "%{Realm}"
                relaxed = no
          }
          attr_filter attr_filter.access_reject {
                filename = "/usr/local/etc/raddb/mods-config/attr_filter/access_reject"
                key = "%{User-Name}"
                relaxed = no
          }
          attr_filter attr_filter.access_challenge {
                filename = "/usr/local/etc/raddb/mods-config/attr_filter/access_challeng                                                                                        e"
                key = "%{User-Name}"
                relaxed = no
          }
          attr_filter attr_filter.accounting_response {
                filename = "/usr/local/etc/raddb/mods-config/attr_filter/accounting_resp                                                                                        onse"
                key = "%{User-Name}"
                relaxed = no
          }
          cache cache_eap {
                driver = "rlm_cache_rbtree"
                key = "%{%{control:State}:-%{%{reply:State}:-%{State}}}"
                ttl = 15
                max_entries = 0
                epoch = 0
                add_stats = no
          }
          date {
                format = "%b %e %Y %H:%M:%S %Z"
                utc = no
          }
                filename = "/var/log/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IP                                                                                        v6-Address}}/detail-%Y%m%d"
                header = "%t"
                permissions = 384
                locking = no
                escape_filenames = no
                log_packet_header = no
          }
          detail auth_log {
                filename = "/var/log/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IP                                                                                        v6-Address}}/auth-detail-%Y%m%d"
                header = "%t"
                permissions = 384
                locking = no
                escape_filenames = no
                log_packet_header = no
          }
          detail reply_log {
                filename = "/var/log/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IP                                                                                        v6-Address}}/reply-detail-%Y%m%d"
                header = "%t"
                permissions = 384
                locking = no
                escape_filenames = no
                log_packet_header = no
          }
          detail pre_proxy_log {
                filename = "/var/log/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IP                                                                                        v6-Address}}/pre-proxy-detail-%Y%m%d"
                header = "%t"
                permissions = 384
                locking = no
                escape_filenames = no
                log_packet_header = no
          }
          # Loading module "post_proxy_log" from file /usr/local/etc/raddb/mods-enabled/                                                                                        detail.log
          detail post_proxy_log {
                filename = "/var/log/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IP                                                                                        v6-Address}}/post-proxy-detail-%Y%m%d"
                header = "%t"
                permissions = 384
                locking = no
                escape_filenames = no
                log_packet_header = no
          }
          eap {
                default_eap_type = "md5"
                timer_expire = 60
                ignore_unknown_eap_types = no
                cisco_accounting_username_bug = no
                max_sessions = 4096
          }
          # Loaded module rlm_exec
            exec echo {
                wait = yes
                program = "/bin/echo %{User-Name}"
                input_pairs = "request"
                output_pairs = "reply"
                shell_escape = yes
          }
          exec {
                wait = no
                input_pairs = "request"
                shell_escape = yes
                timeout = 10
          }
          expr {
                safe_characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ                                                                                        0123456789.-_: /äéöüàâæçèéêëîïôœùûüaÿÄÉÖÜßÀÂÆÇÈÉÊËÎÏÔŒÙÛÜŸ"
          }
          files {
                filename = "/usr/local/etc/raddb/mods-config/files/authorize"
                acctusersfile = "/usr/local/etc/raddb/mods-config/files/accounting"
                preproxy_usersfile = "/usr/local/etc/raddb/mods-config/files/pre-proxy"
          }
          linelog {
                filename = "/var/log/linelog"
                escape_filenames = no
                syslog_severity = "info"
                permissions = 384
                format = "This is a log message for %{User-Name}"
                reference = "messages.%{%{reply:Packet-Type}:-default}"
          }
          linelog log_accounting {
                filename = "/var/log/linelog-accounting"
                escape_filenames = no
                syslog_severity = "info"
                permissions = 384
                format = ""
                reference = "Accounting-Request.%{%{Acct-Status-Type}:-unknown}"
          }
          # Loaded module rlm_logintime
          # Loading module "logintime" from file /usr/local/etc/raddb/mods-enabled/login                                                                                        time
          logintime {
                minimum_timeout = 60
          }
          mschap {
                use_mppe = yes
                require_encryption = no
                require_strong = no
                with_ntdomain_hack = yes
           passchange {
           }
                allow_retry = yes
                winbind_retry_with_normalised_username = no
          }
          realm IPASS {
                format = "prefix"
                delimiter = "/"
                ignore_default = no
                ignore_null = yes
          }
          realm suffix {
                format = "suffix"
                delimiter = "@"
                ignore_default = no
                ignore_null = yes
          }
          realm realmpercent {
                format = "suffix"
                delimiter = "%"
                ignore_default = no
                ignore_null = yes
          }
          realm ntdomain {
                format = "prefix"
                delimiter = "\"
                ignore_default = no
                ignore_null = yes
          }
          pap {
                normalise = yes
          }
        wd
          passwd etc_passwd {
                filename = "/etc/passwd"
                format = "*User-Name:Crypt-Password:"
                delimiter = ":"
                ignore_nislike = no
                ignore_empty = yes
                allow_multiple_keys = no
                hash_size = 100
          }
          # Loaded module rlm_preprocess
          preprocess {
                huntgroups = "/usr/local/etc/raddb/mods-config/preprocess/huntgroups"
                hints = "/usr/local/etc/raddb/mods-config/preprocess/hints"
                with_ascend_hack = no
                ascend_channels_per_line = 23
                with_ntdomain_hack = no
                with_specialix_jetstream_hack = no
                with_cisco_vsa_hack = no
                with_alvarion_vsa_hack = no
          }
          radutmp {
                filename = "/var/log/radutmp"
                username = "%{User-Name}"
                case_sensitive = yes
                check_with_nas = yes
                permissions = 384
                caller_id = yes
          }
          soh {
                dhcp = yes
          }
          radutmp sradutmp {
                filename = "/var/log/sradutmp"
                username = "%{User-Name}"
                case_sensitive = yes
                check_with_nas = yes
                permissions = 420
                caller_id = no
          }
          unix {
                radwtmp = "/var/log/radwtmp"
          }
        Creating attribute Unix-Group
          always reject {
                rcode = "reject"
                simulcount = 0
                mpp = no
          }
          always fail {
                rcode = "fail"
                simulcount = 0
                mpp = no
          }
          always ok {
                rcode = "ok"
                simulcount = 0
                mpp = no
          }
          # Loading module "handled" from file /usr/local/etc/raddb/mods-enabled/always
          always handled {
                rcode = "handled"
                simulcount = 0
                mpp = no
          }
          # Loading module "invalid" from file /usr/local/etc/raddb/mods-enabled/always
          always invalid {
                rcode = "invalid"
                simulcount = 0
                mpp = no
          }
          # Loading module "userlock" from file /usr/local/etc/raddb/mods-enabled/always
          always userlock {
                rcode = "userlock"
                simulcount = 0
                mpp = no
          }
          # Loading module "notfound" from file /usr/local/etc/raddb/mods-enabled/always
          always notfound {
                rcode = "notfound"
                simulcount = 0
                mpp = no
          }
          # Loading module "noop" from file /usr/local/etc/raddb/mods-enabled/always
          always noop {
                rcode = "noop"
                simulcount = 0
                mpp = no
          }
          # Loading module "updated" from file /usr/local/etc/raddb/mods-enabled/always
          always updated {
                rcode = "updated"
                simulcount = 0
                mpp = no
          }
          exec motp {
                wait = yes
                program = "/usr/local/bin/bash /usr/local/etc/raddb/scripts/otpverify.sh                                                                                         %{request:User-Name} %{request:User-Password} %{reply:MOTP-Init-Secret} %{reply                                                                                        :MOTP-PIN} %{reply:MOTP-Offset}"
                shell_escape = yes
          }
          # Loading module "googleauth" from file /usr/local/etc/raddb/mods-enabled/goog                                                                                        leauth
          exec googleauth {
                wait = yes
                program = "/usr/local/etc/raddb/scripts/googleauth.py %{request:User-Nam                                                                                        e} %{reply:MOTP-Init-Secret} %{reply:MOTP-PIN} %{request:User-Password}"
                shell_escape = yes
          }
          # Loading module "datacounterdaily" from file /usr/local/etc/raddb/mods-enable                                                                                        d/datacounter_acct
          exec datacounterdaily {
                wait = yes
                program = "/bin/sh /usr/local/etc/raddb/scripts/datacounter_acct.sh %{re                                                                                        quest:User-Name} daily %{request:Acct-Input-Octets} %{request:Acct-Output-Octets                                                                                        } %{request:Acct-Status-Type} %{request:Acct-Session-Id}"
                shell_escape = yes
          }
          # Loading module "datacounterweekly" from file /usr/local/etc/raddb/mods-enabl                                                                                        ed/datacounter_acct
          exec datacounterweekly {
                wait = yes
                program = "/bin/sh /usr/local/etc/raddb/scripts/datacounter_acct.sh %{re                                                                                        quest:User-Name} weekly %{request:Acct-Input-Octets} %{request:Acct-Output-Octet                                                                                        s} %{request:Acct-Status-Type} %{request:Acct-Session-Id}"
                shell_escape = yes
          }
          # Loading module "datacountermonthly" from file /usr/local/etc/raddb/mods-enab                                                                                        led/datacounter_acct
          exec datacountermonthly {
                wait = yes
                program = "/bin/sh /usr/local/etc/raddb/scripts/datacounter_acct.sh %{re                                                                                        quest:User-Name} monthly %{request:Acct-Input-Octets} %{request:Acct-Output-Octe                                                                                        ts} %{request:Acct-Status-Type} %{request:Acct-Session-Id}"
                shell_escape = yes
          }
          # Loading module "datacounterforever" from file /usr/local/etc/raddb/mods-enab                                                                                        led/datacounter_acct
          exec datacounterforever {
                wait = yes
                program = "/bin/sh /usr/local/etc/raddb/scripts/datacounter_acct.sh %{re                                                                                        quest:User-Name} forever %{request:Acct-Input-Octets} %{request:Acct-Output-Octe                                                                                        ts} %{request:Acct-Status-Type} %{request:Acct-Session-Id}"
                shell_escape = yes
          }
          # Loaded module rlm_sql
          # Loading module "sql1" from file /usr/local/etc/raddb/mods-enabled/sql
          sql sql1 {
                driver = "rlm_sql_mysql"
                server = "localhost"
                port = 3306
                login = "qhotspot"
                password = <<< secret >>>
                radius_db = "qhotspot"
                read_groups = yes
                read_profiles = yes
                read_clients = yes
                delete_stale_sessions = yes
                sql_user_name = "%{User-Name}"
                logfile = "/var/log/sqltrace.sql"
                default_user_profile = ""
                client_query = "SELECT id, nasname, shortname, type, secret, server FROM                                                                                         nas"
                authorize_check_query = "SELECT id, username, attribute, value, op FROM                                                                                         radcheck WHERE username = '%{SQL-User-Name}' ORDER BY id"
                authorize_reply_query = "SELECT id, username, attribute, value, op FROM                                                                                         radreply WHERE username = '%{SQL-User-Name}' ORDER BY id"
                authorize_group_check_query = "SELECT id, groupname, attribute, Value, o                                                                                        p FROM radgroupcheck WHERE groupname = '%{sql1-SQL-Group}' ORDER BY id"
                authorize_group_reply_query = "SELECT id, groupname, attribute, value, o                                                                                        p FROM radgroupreply WHERE groupname = '%{sql1-SQL-Group}' ORDER BY id"
                group_membership_query = "SELECT groupname FROM radusergroup WHERE usern                                                                                        ame = '%{SQL-User-Name}' ORDER BY priority"
                simul_count_query = "SELECT COUNT(*) FROM radacct WHERE username = '%{SQ                                                                                        L-User-Name}' AND acctstoptime IS NULL"
                simul_verify_query = "SELECT radacctid, acctsessionid, username, nasipad                                                                                        dress, nasportid, framedipaddress, callingstationid, framedprotocol FROM radacct                                                                                         WHERE username = '%{SQL-User-Name}' AND acctstoptime IS NULL"
                safe_characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ                                                                                        0123456789.-_: /"
           accounting {
                reference = "%{tolower:type.%{Acct-Status-Type}.query}"
            type {
             accounting-on {
                query = "UPDATE radacct SET acctstoptime = FROM_UNIXTIME(%{integer:Event                                                                                        -Timestamp}), acctsessiontime   = '%{integer:Event-Timestamp}' - UNIX_TIMESTAMP(                                                                                        acctstarttime), acctterminatecause = '%{%{Acct-Terminate-Cause}:-NAS-Reboot}' WH                                                                                        ERE acctstoptime IS NULL AND nasipaddress   = '%{NAS-IP-Address}' AND acctstartt                                                                                        ime <= FROM_UNIXTIME(%{integer:Event-Timestamp})"
             }
             accounting-off {
                query = "UPDATE radacct SET acctstoptime = FROM_UNIXTIME(%{integer:Event                                                                                        -Timestamp}), acctsessiontime   = '%{integer:Event-Timestamp}' - UNIX_TIMESTAMP(                                                                                        acctstarttime), acctterminatecause = '%{%{Acct-Terminate-Cause}:-NAS-Reboot}' WH                                                                                        ERE acctstoptime IS NULL AND nasipaddress   = '%{NAS-IP-Address}' AND acctstartt                                                                                        ime <= FROM_UNIXTIME(%{integer:Event-Timestamp})"
             }
             start {
                query = "INSERT INTO radacct (acctsessionid,            acctuniqueid,  u                                                                                        sername, realm,                 nasipaddress,           nasportid, nasporttype,a                                                                                        cctstarttime,           acctupdatetime, acctstoptime,           acctsessiontime,                                                                                                acctauthentic, connectinfo_start,       connectinfo_stop,       acctinpu                                                                                        toctets, acctoutputoctets,      calledstationid,        callingstationid, acctte                                                                                        rminatecause,   servicetype,            framedprotocol, framedipaddress) VALUES                                                                                         ('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm                                                                                        }', '%{NAS-IP-Address}', '%{%{NAS-Port-ID}:-%{NAS-Port}}', '%{NAS-Port-Type}', F                                                                                        ROM_UNIXTIME(%{integer:Event-Timestamp}), FROM_UNIXTIME(%{integer:Event-Timestam                                                                                        p}), NULL, '0', '%{Acct-Authentic}', '%{Connect-Info}', '', '0', '0', '%{Called-                                                                                        Station-Id}', '%{Calling-Station-Id}', '', '%{Service-Type}', '%{Framed-Protocol                                                                                        }', '%{Framed-IP-Address}')"
             }
             interim-update {
                query = "UPDATE radacct SET acctupdatetime  = (@acctupdatetime_old:=acct                                                                                        updatetime), acctupdatetime  = FROM_UNIXTIME(%{integer:Event-Timestamp}), acctin                                                                                        terval    = %{integer:Event-Timestamp} - UNIX_TIMESTAMP(@acctupdatetime_old), fr                                                                                        amedipaddress = '%{Framed-IP-Address}', acctsessiontime = %{%{Acct-Session-Time}                                                                                        :-NULL}, acctinputoctets = '%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Inp                                                                                        ut-Octets}:-0}', acctoutputoctets = '%{%{Acct-Output-Gigawords}:-0}' << 32 | '%{                                                                                        %{Acct-Output-Octets}:-0}' WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}'"
             }
             stop {
                query = "UPDATE radacct SET acctstoptime        = FROM_UNIXTIME(%{intege                                                                                        r:Event-Timestamp}), acctsessiontime    = %{%{Acct-Session-Time}:-NULL}, acctinp                                                                                        utoctets        = '%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets                                                                                        }:-0}', acctoutputoctets = '%{%{Acct-Output-Gigawords}:-0}' << 32 | '%{%{Acct-Ou                                                                                        tput-Octets}:-0}', acctterminatecause = '%{Acct-Terminate-Cause}', connectinfo_s                                                                                        top = '%{Connect-Info}' WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}'"
             }
            }
           }
           post-auth {
                reference = ".query"
                query = "INSERT INTO radpostauth (username, pass, reply, authdate) VALUE                                                                                        S ( '%{SQL-User-Name}', '%{%{User-Password}:-%{Chap-Password}}', '%{reply:Packet                                                                                        -Type}', '%S')"
           }
          }
        rlm_sql (sql1): Driver rlm_sql_mysql (module rlm_sql_mysql) loaded and linked
        Creating attribute sql1-SQL-Group
          # Loaded module rlm_sqlcounter
          # Loading module "dailycounter" from file /usr/local/etc/raddb/mods-enabled/sq                                                                                        lcounter
          sqlcounter dailycounter {
                sql_module_instance = "sql"
                key = "User-Name"
                query = "SELECT SUM(acctsessiontime - GREATEST((%%b - UNIX_TIMESTAMP(acc                                                                                        tstarttime)), 0)) FROM radacct WHERE username = '%{User-Name}' AND UNIX_TIMESTAM                                                                                        P(acctstarttime) + acctsessiontime > '%%b'"
                reset = "daily"
                counter_name = "Daily-Session-Time"
                check_name = "Max-Daily-Session"
                reply_name = "Session-Timeout"
          }
          # Loading module "monthlycounter" from file /usr/local/etc/raddb/mods-enabled/                                                                                        sqlcounter
          sqlcounter monthlycounter {
                sql_module_instance = "sql"
                key = "User-Name"
                query = "SELECT SUM(acctsessiontime - GREATEST((%%b - UNIX_TIMESTAMP(acc                                                                                        tstarttime)), 0)) FROM radacct WHERE username='%{User-Name}' AND UNIX_TIMESTAMP(                                                                                        acctstarttime) + acctsessiontime > '%%b'"
                reset = "monthly"
                counter_name = "Monthly-Session-Time"
                check_name = "Max-Monthly-Session"
                reply_name = "Session-Timeout"
          }
          # Loading module "noresetcounter" from file /usr/local/etc/raddb/mods-enabled/                                                                                        sqlcounter
          sqlcounter noresetcounter {
                sql_module_instance = "sql"
                key = "User-Name"
                query = "SELECT IFNULL(SUM(AcctSessionTime),0) FROM radacct WHERE UserNa                                                                                        me='%{User-Name}'"
                reset = "never"
                counter_name = "Max-All-Session-Time"
                check_name = "Max-All-Session"
                reply_name = "Session-Timeout"
          }
          # Loading module "expire_on_login" from file /usr/local/etc/raddb/mods-enabled                                                                                        /sqlcounter
          sqlcounter expire_on_login {
                sql_module_instance = "sql"
                key = "User-Name"
                query = "SELECT IFNULL( MAX(TIME_TO_SEC(TIMEDIFF(NOW(), acctstarttime)))                                                                                        ,0) FROM radacct WHERE UserName='%{User-Name}' ORDER BY acctstarttime LIMIT 1;"
                reset = "never"
                counter_name = "Expire-After-Initial-Login"
                check_name = "Expire-After"
                reply_name = "Session-Timeout"
          }
          instantiate {
        rlm_sql_mysql: libmysql version: 5.6.43
           mysql {
            tls {
            }
                warnings = "auto"
           }
        rlm_sql (sql1): Attempting to connect to database "qhotspot"
        rlm_sql (sql1): Initialising connection pool
           pool {
                start = 5
                min = 3
                max = 5
                spare = 10
                uses = 0
                lifetime = 0
                cleanup_interval = 30
                idle_timeout = 60
                retry_delay = 60
                spread = no
           }
        WARNING: Ignoring "spare = 10", forcing to "spare = 2"
        rlm_sql (sql1): Opening additional connection (0), 1 of 5 pending slots used
        rlm_sql_mysql: Starting connect to MySQL server
        rlm_sql_mysql: Connected to database 'qhotspot' on Localhost via UNIX socket, se                                                                                        rver version 5.6.43, protocol version 10
        rlm_sql (sql1): Opening additional connection (1), 1 of 4 pending slots used
        rlm_sql_mysql: Starting connect to MySQL server
        rlm_sql_mysql: Connected to database 'qhotspot' on Localhost via UNIX socket, se                                                                                        rver version 5.6.43, protocol version 10
        rlm_sql (sql1): Opening additional connection (2), 1 of 3 pending slots used
        rlm_sql_mysql: Starting connect to MySQL server
        rlm_sql_mysql: Connected to database 'qhotspot' on Localhost via UNIX socket, se                                                                                        rver version 5.6.43, protocol version 10
        rlm_sql (sql1): Opening additional connection (3), 1 of 2 pending slots used
        rlm_sql_mysql: Starting connect to MySQL server
        rlm_sql_mysql: Connected to database 'qhotspot' on Localhost via UNIX socket, se                                                                                        rver version 5.6.43, protocol version 10
        rlm_sql (sql1): Opening additional connection (4), 1 of 1 pending slots used
        rlm_sql_mysql: Starting connect to MySQL server
        rlm_sql_mysql: Connected to database 'qhotspot' on Localhost via UNIX socket, se                                                                                        rver version 5.6.43, protocol version 10
        rlm_sql (sql1): Processing generate_sql_clients
        rlm_sql (sql1) in generate_sql_clients: query is SELECT id, nasname, shortname,                                                                                         type, secret, server FROM nas
        rlm_sql (sql1): Reserved connection (0)
        rlm_sql (sql1): Executing select query: SELECT id, nasname, shortname, type, sec                                                                                        ret, server FROM nas
        rlm_sql (sql1): Released connection (0)
          }
           gtc {
                challenge = "Password: "
                auth_type = "PAP"
           }
           # Linked to sub-module rlm_eap_tls
           tls {
                tls = "tls-common"
           }
           tls-config tls-common {
                verify_depth = 0
                ca_path = "/usr/local/etc/raddb/certs"
                pem_file_type = yes
                private_key_file = "/usr/local/etc/raddb/certs/server_key.pem"
                certificate_file = "/usr/local/etc/raddb/certs/server_cert.pem"
                ca_file = "/usr/local/etc/raddb/certs/ca_cert.pem"
                dh_file = "/usr/local/etc/raddb/certs/dh"
                random_file = "/dev/urandom"
                fragment_size = 1024
                include_length = yes
                auto_chain = yes
                check_crl = no
                check_all_crl = no
                cipher_list = "DEFAULT"
                cipher_server_preference = no
                ecdh_curve = "prime256v1"
                tls_max_version = ""
                tls_min_version = "1.0"
            cache {
                enable = no
                lifetime = 24
                max_entries = 255
            }
            verify {
                skip_if_ocsp_ok = no
            }
            ocsp {
                enable = no
                override_cert_url = no
                url = "http://127.0.0.1/ocsp/"
                use_nonce = yes
                timeout = 0
                softfail = no
            }
           }
           # Linked to sub-module rlm_eap_ttls
           ttls {
                tls = "tls-common"
                default_eap_type = "md5"
                copy_request_to_tunnel = no
                use_tunneled_reply = no
                virtual_server = "inner-tunnel-ttls"
                include_length = yes
                require_client_cert = no
           }
        tls: Using cached TLS configuration from previous invocation
           # Linked to sub-module rlm_eap_peap
           peap {
                tls = "tls-common"
                default_eap_type = "mschapv2"
                copy_request_to_tunnel = no
                use_tunneled_reply = no
                proxy_tunneled_request_as_eap = yes
                virtual_server = "inner-tunnel-peap"
                soh = no
                require_client_cert = no
           }
        tls: Using cached TLS configuration from previous invocation
           # Linked to sub-module rlm_eap_mschapv2
           mschapv2 {
                with_ntdomain_hack = no
                send_error = no
           }
          # Instantiating module "files" from file /usr/local/etc/raddb/mods-enabled/fil                                                                                        es
        reading pairlist file /usr/local/etc/raddb/mods-config/files/authorize
        reading pairlist file /usr/local/etc/raddb/mods-config/files/accounting
        reading pairlist file /usr/local/etc/raddb/mods-config/files/pre-proxy
        rlm_passwd: nfields: 3 keyfield 0(User-Name) listable: no
        reading pairlist file /usr/local/etc/raddb/mods-config/preprocess/huntgroups
        reading pairlist file /usr/local/etc/raddb/mods-config/preprocess/hints
        rlm_sqlcounter: Current Time: 1550646881 [2019-02-20 10:14:41], Prev reset 15506                                                                                        10000 [2019-02-20 00:00:00]
        rlm_sqlcounter: Current Time: 1550646881 [2019-02-20 10:14:41], Prev reset 15489                                                                                        68400 [2019-02-01 00:00:00]
        rlm_sqlcounter: Current Time: 1550646881 [2019-02-20 10:14:41], Prev reset 0 [20                                                                                        19-02-20 10:00:00]
        rlm_sqlcounter: Current Time: 1550646881 [2019-02-20 10:14:41], Prev reset 0 [20                                                                                        19-02-20 10:00:00]
         } # modules
        radiusd: #### Loading Virtual Servers ####
        server { # from file /usr/local/etc/raddb/radiusd.conf
        } # server
        server default { # from file /usr/local/etc/raddb/sites-enabled/default
        } # server default
        server inner-tunnel-ttls { # from file /usr/local/etc/raddb/sites-enabled/inner-                                                                                        tunnel-ttls
        Ignoring "sql" (see raddb/mods-available/README.rst)
        Ignoring "ldap" (see raddb/mods-available/README.rst)
        } # server inner-tunnel-ttls
        server inner-tunnel-peap { # from file /usr/local/etc/raddb/sites-enabled/inner-                                                                                        tunnel-peap
        
        
        } # server inner-tunnel-peap
        radiusd: #### Opening IP addresses and Ports ####
        listen {
                type = "auth"
                ipaddr = *
                port = 1812
        Failed binding to auth address * port 1812 bound to server default: Address alre                                                                                        ady in use
        /usr/local/etc/raddb/sites-enabled/default[2]: Error binding to port for 0.0.0.0                                                                                         port 1812
        
        GertjanG 1 Reply Last reply Reply Quote 0
        • P
          pfsense01
          last edited by

          I solved the problem. The solution for those experiencing the same problem is here.
          https://forum.netgate.com/topic/139132/need-help-on-max-daily-session-attribute

          Thank you @Gertjan 👏 👏 👏

          1 Reply Last reply Reply Quote 0
          • GertjanG
            Gertjan @pfsense01
            last edited by Gertjan

            @pfsense01 said in FreeRadius + Captive Portal "Amount of Time" Problem:

            radius -x

            Be careful.

            I said

            radius -X
            

            not

            radius -x
            

            I advise you to use

            radiusd -h
            

            to see all the options.

            Btw : If you see

            Failed binding to auth address * port 1812 bound to server default: Address already in use
            /usr/local/etc/raddb/sites-enabled/default[2]: Error binding to port for 0.0.0.0    port 1812
            

            you are informed some other instance is already running.
            You should stop radiusd first - and check that you stopped it.
            This shows the process ID :

            ps ax | grep 'radius'
            

            Than you kill it using

            kill abcde
            

            where abcde is the process ID (pid)

            No "help me" PM's please. Use the forum, the community will thank you.
            Edit : and where are the logs ??

            M 1 Reply Last reply Reply Quote 0
            • P
              pfsense01
              last edited by

              Thank you so much. I wrote wrong above. The command I use

              radius -X
              

              👍 👍

              1 Reply Last reply Reply Quote 0
              • M
                mustafa.azzam @Gertjan
                last edited by

                @Gertjan
                I have the same problem in radius server,
                I stopped radius server and check there are no ports and started it again, but it still not working.
                I need a help please. 😩

                1 Reply Last reply Reply Quote 0
                • GertjanG
                  Gertjan
                  last edited by

                  @Gertjan said in FreeRadius + Captive Portal "Amount of Time" Problem:

                  radius -X

                  What about reading what is said above ?

                  It's not just a question of "port checking".

                  The

                  radius -X
                  

                  mode will tell you what is wrong / why it doesn't work.

                  No "help me" PM's please. Use the forum, the community will thank you.
                  Edit : and where are the logs ??

                  M 2 Replies Last reply Reply Quote 0
                  • M
                    mustafa.azzam @Gertjan
                    last edited by

                    @Gertjan
                    I have this problem when I run this command (radius -X) and I don't know how to solve it.

                    rad.PNG

                    1 Reply Last reply Reply Quote 0
                    • M
                      mustafa.azzam @Gertjan
                      last edited by

                      @Gertjan
                      Is this result maybe the reason for the problem??
                      two ipv4 use same port 1812

                      udp.PNG

                      1 Reply Last reply Reply Quote 0
                      • GertjanG
                        Gertjan
                        last edited by Gertjan

                        ??

                        The reason for the problem is that your are starting radius, nut there is already one running - in this case process 41473.
                        The instance you started bails out, explaining you with big red lines why.

                        I stopped radius server and check there are no ports ....
                        So, radius si telling you why.
                        You know how to find out why.
                        But you didn't act ....

                        Run

                        netstat -anp | grep 'radius'
                        

                        again.
                        Note the process number and kill that process.
                        Like this :

                        kill 123456
                        

                        Now, start radius

                        radius -X
                        

                        All the other details are already mentioned in this thread.

                        No "help me" PM's please. Use the forum, the community will thank you.
                        Edit : and where are the logs ??

                        M 1 Reply Last reply Reply Quote 0
                        • M
                          mustafa.azzam @Gertjan
                          last edited by

                          Thank you @Gertjan
                          I stopped Radius Server then I ran command (radius -X), It worked correctly.
                          But I have another question now .. when radius is running, the command (radius -X) will not run?

                          GertjanG 1 Reply Last reply Reply Quote 0
                          • GertjanG
                            Gertjan @mustafa.azzam
                            last edited by

                            @mustafa-azzam said in FreeRadius + Captive Portal "Amount of Time" Problem:

                            But I have another question now .. when radius is running, the command (radius -X) will not run?

                            Radius is a process you can see as a "server process".
                            Golden rule : on one and the same system, you can have on ONE server process that listens to a determined port.

                            So, if you launch "FreeRadius" using the pfSense GUI, you have a radius process runnin.
                            Example, right now, on my pfSense :

                            [2.4.4-RELEASE][admin@pfsense.brit-hotel-fumel.net]/root: ps ax | grep radius
                            83839  -  Is       0:18.74 /usr/local/sbin/radiusd
                            21455  0  S+       0:00.00 grep radius
                            

                            As you know, it's easy to check what ports it's using.
                            When I launch another, second radius process, it will bail out.

                            No "help me" PM's please. Use the forum, the community will thank you.
                            Edit : and where are the logs ??

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