Freeradius-Users
Threads by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
February 2014
- 87 participants
- 95 discussions
Hi All
I have this error in my log file :
Sun Feb 16 09:17:57 2014 : Error: rlm_sql: The 'Attribute' field is empty
or NULL, skipping the entire row.
Sun Feb 16 09:17:57 2014 : Error: rlm_sql (sql): Error getting data from
database
Sun Feb 16 09:17:57 2014 : Error: [sql] SQL query error; rejecting user
Sun Feb 16 09:18:00 2014 : Error: rlm_sql: The 'Attribute' field is empty
or NULL, skipping the entire row.
Sun Feb 16 09:18:00 2014 : Error: rlm_sql (sql): Error getting data from
database
Sun Feb 16 09:18:00 2014 : Error: [sql] SQL query error; rejecting user
Do I have null attribute in my database ? or this null attribute is in
request packet from NAS ?
Best regards.
3
4
Hi
I'm trying to make some of my configuration dependent on whether I've configured SQL, so I can create an easy way to turn off all use of SQL by our servers (we don't have a cluster, and we don't use the SQL server for authentication, so if it went down, we could do without it for a bit). I've used an "if" statement testing "%{config:modules.sql.server}", which I expected to give me the value "NPS" if I had set the value and null otherwise. That way I thought I could just comment out the "$INCLUDE mssql.conf" in radius.conf, and the "sql" in the "instantiate" section (we are only using SQL in "xlat" expressions) and avoid the "xlat" expressions being evaluated. However, it looks like whether I include "mssql.conf" or not, that expression always evaluates to "localhost". I'm baffled. Should this work? I got this expression format from https://github.com/FreeRADIUS/www.freeradius.org/blob/master/radiusd/doc/va….
This is the debug log, including a query that uses the expression:
Script started on Fri Feb 14 15:49:49 2014
ccuh-old# /usr/local/sbin/radiusd -X
FreeRADIUS Version 2.2.0, for host sparc-sun-solaris2.8, built on Apr 28 2013 at 13:14: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/local/etc/raddb/radiusd.conf
including configuration file /usr/local/etc/raddb/proxy.conf
including configuration file /usr/local/etc/raddb/eduroam.conf
including configuration file /usr/local/etc/raddb/clients.conf
including files in directory /usr/local/etc/raddb/modules/
including configuration file /usr/local/etc/raddb/modules/realm
including configuration file /usr/local/etc/raddb/modules/acct_unique
including configuration file /usr/local/etc/raddb/modules/always
including configuration file /usr/local/etc/raddb/modules/attr_filter
including configuration file /usr/local/etc/raddb/modules/attr_rewrite
including configuration file /usr/local/etc/raddb/modules/chap
including configuration file /usr/local/etc/raddb/modules/checkval
including configuration file /usr/local/etc/raddb/modules/counter
including configuration file /usr/local/etc/raddb/modules/cui
including configuration file /usr/local/etc/raddb/modules/detail
including configuration file /usr/local/etc/raddb/modules/detail.example.com
including configuration file /usr/local/etc/raddb/modules/detail.log
including configuration file /usr/local/etc/raddb/modules/digest
including configuration file /usr/local/etc/raddb/modules/dynamic_clients
including configuration file /usr/local/etc/raddb/modules/echo
including configuration file /usr/local/etc/raddb/modules/etc_group
including configuration file /usr/local/etc/raddb/modules/exec
including configuration file /usr/local/etc/raddb/modules/expiration
including configuration file /usr/local/etc/raddb/modules/expr
including configuration file /usr/local/etc/raddb/modules/files
including configuration file /usr/local/etc/raddb/modules/inner-eap
including configuration file /usr/local/etc/raddb/modules/ippool
including configuration file /usr/local/etc/raddb/modules/krb5
including configuration file /usr/local/etc/raddb/modules/ldap
including configuration file /usr/local/etc/raddb/modules/linelog
including configuration file /usr/local/etc/raddb/modules/logintime
including configuration file /usr/local/etc/raddb/modules/mac2ip
including configuration file /usr/local/etc/raddb/modules/mschap
including configuration file /usr/local/etc/raddb/modules/mac2vlan
including configuration file /usr/local/etc/raddb/modules/ntlm_auth
including configuration file /usr/local/etc/raddb/modules/opendirectory
including configuration file /usr/local/etc/raddb/modules/otp
including configuration file /usr/local/etc/raddb/modules/pam
including configuration file /usr/local/etc/raddb/modules/pap
including configuration file /usr/local/etc/raddb/modules/passwd
including configuration file /usr/local/etc/raddb/modules/perl
including configuration file /usr/local/etc/raddb/modules/policy
including configuration file /usr/local/etc/raddb/modules/preprocess
including configuration file /usr/local/etc/raddb/modules/radutmp
including configuration file /usr/local/etc/raddb/modules/cache
including configuration file /usr/local/etc/raddb/modules/smbpasswd
including configuration file /usr/local/etc/raddb/modules/smsotp
including configuration file /usr/local/etc/raddb/modules/sql_log
including configuration file /usr/local/etc/raddb/modules/sqlcounter_expire_on_login
including configuration file /usr/local/etc/raddb/modules/sradutmp
including configuration file /usr/local/etc/raddb/modules/unix
including configuration file /usr/local/etc/raddb/modules/wimax
including configuration file /usr/local/etc/raddb/modules/redis
including configuration file /usr/local/etc/raddb/modules/rediswho
including configuration file /usr/local/etc/raddb/modules/replicate
including configuration file /usr/local/etc/raddb/modules/soh
including configuration file /usr/local/etc/raddb/modules/dhcp_sqlippool
including configuration file /usr/local/etc/raddb/sql/mysql/ippool-dhcp.conf
including configuration file /usr/local/etc/raddb/modules/radrelay
including configuration file /usr/local/etc/raddb/eap.conf
including configuration file /usr/local/etc/raddb/mssql.conf
including configuration file /usr/local/etc/raddb/policy.conf
including files in directory /usr/local/etc/raddb/sites-enabled/
including configuration file /usr/local/etc/raddb/sites-enabled/default
including configuration file /usr/local/etc/raddb/sites-enabled/inner-tunnel
including configuration file /usr/local/etc/raddb/sites-enabled/control-socket
including configuration file /usr/local/etc/raddb/sites-enabled/vmps
main {
user = "radius"
group = "radius"
allow_core_dumps = no
}
including dictionary file /usr/local/etc/raddb/dictionary
main {
name = "radiusd"
prefix = "/usr/local"
localstatedir = "/usr/local/var"
sbindir = "/usr/local/sbin"
logdir = "/usr/local/var/log/radius"
run_dir = "/usr/local/var/run/radiusd"
libdir = "/usr/local/lib"
radacctdir = "/usr/local/var/log/radius/radacct"
hostname_lookups = no
max_request_time = 30
cleanup_delay = 5
max_requests = 1024
pidfile = "/usr/local/var/run/radiusd/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
}
security {
max_attributes = 200
reject_delay = 0
status_server = yes
}
}
radiusd: #### Loading Realms and Home Servers ####
proxy server {
retry_delay = 5
retry_count = 3
default_fallback = no
dead_time = 120
wake_all_if_all_dead = no
}
home_server nap1 {
ipaddr = 134.220.1.125
port = 1812
type = "auth+acct"
response_window = 20
max_outstanding = 65536
require_message_authenticator = yes
zombie_period = 40
status_check = "none"
ping_interval = 30
check_interval = 30
num_answers_to_alive = 3
num_pings_to_alive = 3
revive_interval = 120
status_check_timeout = 4
}
home_server nap2 {
ipaddr = 134.220.1.120
port = 1812
type = "auth+acct"
response_window = 20
max_outstanding = 65536
require_message_authenticator = yes
zombie_period = 40
status_check = "none"
ping_interval = 30
check_interval = 30
num_answers_to_alive = 3
num_pings_to_alive = 3
revive_interval = 120
status_check_timeout = 4
}
home_server eduroam0 {
ipaddr = roaming0.ja.net IP address [194.82.174.185]
port = 1812
type = "auth+acct"
response_window = 30
max_outstanding = 65536
require_message_authenticator = yes
zombie_period = 40
status_check = "status-server"
ping_interval = 30
check_interval = 30
num_answers_to_alive = 3
num_pings_to_alive = 3
revive_interval = 300
status_check_timeout = 4
}
home_server eduroam1 {
ipaddr = roaming1.ja.net IP address [194.83.56.233]
port = 1812
type = "auth+acct"
response_window = 30
max_outstanding = 65536
require_message_authenticator = yes
zombie_period = 40
status_check = "status-server"
ping_interval = 30
check_interval = 30
num_answers_to_alive = 3
num_pings_to_alive = 3
revive_interval = 300
status_check_timeout = 4
}
home_server eduroam2 {
ipaddr = roaming2.ja.net IP address [194.83.56.249]
port = 1812
type = "auth+acct"
response_window = 30
max_outstanding = 65536
require_message_authenticator = yes
zombie_period = 40
status_check = "status-server"
ping_interval = 30
check_interval = 30
num_answers_to_alive = 3
num_pings_to_alive = 3
revive_interval = 300
status_check_timeout = 4
}
home_server_pool nap_pool {
type = fail-over
home_server = nap2
home_server = nap1
}
realm ~(.*)\.wlv\.ac\.uk$ {
pool = nap_pool
}
realm wlv.ac.uk {
pool = nap_pool
nostrip
}
realm NULL {
pool = nap_pool
}
home_server_pool eduroam_pool {
type = client-port-balance
home_server = eduroam0
home_server = eduroam1
home_server = eduroam2
}
realm DEFAULT {
pool = eduroam_pool
nostrip
}
realm LOCAL {
}
radiusd: #### Loading Clients ####
client localhost {
ipaddr = 127.0.0.1
require_message_authenticator = no
nastype = "other"
}
client max {
ipaddr = 134.220.193.4
require_message_authenticator = no
nastype = "other"
}
client Wism1 {
ipaddr = 10.4.0.2
require_message_authenticator = no
nastype = "cisco"
}
client Wism2 {
ipaddr = 10.4.0.4
require_message_authenticator = no
nastype = "cisco"
}
client Wism3 {
ipaddr = 10.4.0.6
require_message_authenticator = no
nastype = "cisco"
}
client roaming0.ja.net {
ipaddr = roaming0.ja.net IP address [194.82.174.185]
require_message_authenticator = no
shortname = "roaming0.ja.net"
nastype = "other"
}
client roaming1.ja.net {
ipaddr = roaming1.ja.net IP address [194.83.56.233]
require_message_authenticator = no
shortname = "roaming1.ja.net"
nastype = "other"
}
client roaming2.ja.net {
ipaddr = roaming2.ja.net IP address [194.83.56.249]
require_message_authenticator = no
shortname = "roaming2.ja.net"
nastype = "other"
}
radiusd: #### Instantiating modules ####
instantiate {
Module: Linked to module rlm_exec
Module: Instantiating module "exec" from file /usr/local/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/local/etc/raddb/modules/expr
Module: Linked to module rlm_expiration
Module: Instantiating module "expiration" from file /usr/local/etc/raddb/modules/expiration
expiration {
reply-message = "Password Has Expired "
}
Module: Linked to module rlm_logintime
Module: Instantiating module "logintime" from file /usr/local/etc/raddb/modules/logintime
logintime {
reply-message = "You are calling outside your allowed timespan "
minimum-timeout = 60
}
Module: Linked to module rlm_sql
Module: Instantiating module "sql" from file /usr/local/etc/raddb/mssql.conf
sql {
driver = "rlm_sql_unixodbc"
server = "NPS"
port = ""
login = "NPS"
password = "il*Gw&._"
radius_db = "radius"
read_groups = yes
sqltrace = no
sqltracefile = "/usr/local/var/log/radius/sqltrace.log"
readclients = no
deletestalesessions = yes
num_sql_socks = 4
lifetime = 0
max_queries = 0
sql_user_name = ""
default_user_profile = ""
nas_query = "SELECT id,nasname,shortname,type,secret FROM nas"
authorize_check_query = ""
authorize_group_check_query = ""
authorize_group_reply_query = ""
accounting_onoff_query = ""
accounting_update_query = ""
accounting_update_query_alt = ""
accounting_start_query = ""
accounting_start_query_alt = ""
accounting_stop_query = ""
accounting_stop_query_alt = ""
connect_failure_retry_delay = 60
simul_count_query = ""
simul_verify_query = ""
postauth_query = ""
safe-characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /"
}
rlm_sql (sql): Driver rlm_sql_unixodbc (module rlm_sql_unixodbc) loaded and linked
rlm_sql (sql): Attempting to connect to NPS@NPS:/radius
rlm_sql (sql): starting 0
rlm_sql (sql): Attempting to connect rlm_sql_unixodbc #0
rlm_sql (sql): Connected new DB handle, #0
rlm_sql (sql): starting 1
rlm_sql (sql): Attempting to connect rlm_sql_unixodbc #1
rlm_sql (sql): Connected new DB handle, #1
rlm_sql (sql): starting 2
rlm_sql (sql): Attempting to connect rlm_sql_unixodbc #2
rlm_sql (sql): Connected new DB handle, #2
rlm_sql (sql): starting 3
rlm_sql (sql): Attempting to connect rlm_sql_unixodbc #3
rlm_sql (sql): Connected new DB handle, #3
Module: Linked to module rlm_ldap
Module: Instantiating module "ldap" from file /usr/local/etc/raddb/modules/ldap
ldap {
server = "dc2.unv.wlv.ac.uk"
port = 389
password = "ax2013"
identity = "cn=UNIX,cn=Users,dc=unv,dc=wlv,dc=ac,dc=uk"
net_timeout = 1
timeout = 4
timelimit = 3
max_uses = 0
tls_mode = no
start_tls = no
tls_require_cert = "allow"
tls {
start_tls = no
require_cert = "allow"
}
basedn = "ou=2kusers,dc=unv,dc=wlv,dc=ac,dc=uk"
filter = "(uid=%u)"
base_filter = "(objectclass=radiusprofile)"
auto_header = no
access_attr_used_for_allow = yes
groupname_attribute = "cn"
groupmembership_filter = "(|(&(objectClass=GroupOfNames)(member=%{Ldap-UserDn}))(&(objectClass=GroupOfUniqueNames)(uniquemember=%{Ldap-UserDn})))"
dictionary_mapping = "/usr/local/etc/raddb/ldap.attrmap"
ldap_debug = 0
ldap_connections_number = 5
compare_check_items = no
do_xlat = yes
set_auth_type = no
}
rlm_ldap: Registering ldap_groupcmp for Ldap-Group
rlm_ldap: Registering ldap_xlat with xlat_name ldap
rlm_ldap: reading ldap<->radius mappings from file /usr/local/etc/raddb/ldap.attrmap
rlm_ldap: LDAP radiusCheckItem mapped to RADIUS $GENERIC$
rlm_ldap: LDAP radiusReplyItem mapped to RADIUS $GENERIC$
rlm_ldap: LDAP radiusAuthType mapped to RADIUS Auth-Type
rlm_ldap: LDAP radiusSimultaneousUse mapped to RADIUS Simultaneous-Use
rlm_ldap: LDAP radiusCalledStationId mapped to RADIUS Called-Station-Id
rlm_ldap: LDAP radiusCallingStationId mapped to RADIUS Calling-Station-Id
rlm_ldap: LDAP lmPassword mapped to RADIUS LM-Password
rlm_ldap: LDAP ntPassword mapped to RADIUS NT-Password
rlm_ldap: LDAP sambaLmPassword mapped to RADIUS LM-Password
rlm_ldap: LDAP sambaNtPassword mapped to RADIUS NT-Password
rlm_ldap: LDAP dBCSPwd mapped to RADIUS LM-Password
rlm_ldap: LDAP userPassword mapped to RADIUS Password-With-Header
rlm_ldap: LDAP acctFlags mapped to RADIUS SMB-Account-CTRL-TEXT
rlm_ldap: LDAP radiusExpiration mapped to RADIUS Expiration
rlm_ldap: LDAP radiusNASIpAddress mapped to RADIUS NAS-IP-Address
rlm_ldap: LDAP radiusServiceType mapped to RADIUS Service-Type
rlm_ldap: LDAP radiusFramedProtocol mapped to RADIUS Framed-Protocol
rlm_ldap: LDAP radiusFramedIPAddress mapped to RADIUS Framed-IP-Address
rlm_ldap: LDAP radiusFramedIPNetmask mapped to RADIUS Framed-IP-Netmask
rlm_ldap: LDAP radiusFramedRoute mapped to RADIUS Framed-Route
rlm_ldap: LDAP radiusFramedRouting mapped to RADIUS Framed-Routing
rlm_ldap: LDAP radiusFilterId mapped to RADIUS Filter-Id
rlm_ldap: LDAP radiusFramedMTU mapped to RADIUS Framed-MTU
rlm_ldap: LDAP radiusFramedCompression mapped to RADIUS Framed-Compression
rlm_ldap: LDAP radiusLoginIPHost mapped to RADIUS Login-IP-Host
rlm_ldap: LDAP radiusLoginService mapped to RADIUS Login-Service
rlm_ldap: LDAP radiusLoginTCPPort mapped to RADIUS Login-TCP-Port
rlm_ldap: LDAP radiusCallbackNumber mapped to RADIUS Callback-Number
rlm_ldap: LDAP radiusCallbackId mapped to RADIUS Callback-Id
rlm_ldap: LDAP radiusFramedIPXNetwork mapped to RADIUS Framed-IPX-Network
rlm_ldap: LDAP radiusClass mapped to RADIUS Class
rlm_ldap: LDAP radiusSessionTimeout mapped to RADIUS Session-Timeout
rlm_ldap: LDAP radiusIdleTimeout mapped to RADIUS Idle-Timeout
rlm_ldap: LDAP radiusTerminationAction mapped to RADIUS Termination-Action
rlm_ldap: LDAP radiusLoginLATService mapped to RADIUS Login-LAT-Service
rlm_ldap: LDAP radiusLoginLATNode mapped to RADIUS Login-LAT-Node
rlm_ldap: LDAP radiusLoginLATGroup mapped to RADIUS Login-LAT-Group
rlm_ldap: LDAP radiusFramedAppleTalkLink mapped to RADIUS Framed-AppleTalk-Link
rlm_ldap: LDAP radiusFramedAppleTalkNetwork mapped to RADIUS Framed-AppleTalk-Network
rlm_ldap: LDAP radiusFramedAppleTalkZone mapped to RADIUS Framed-AppleTalk-Zone
rlm_ldap: LDAP radiusPortLimit mapped to RADIUS Port-Limit
rlm_ldap: LDAP radiusLoginLATPort mapped to RADIUS Login-LAT-Port
rlm_ldap: LDAP radiusReplyMessage mapped to RADIUS Reply-Message
rlm_ldap: LDAP radiusTunnelType mapped to RADIUS Tunnel-Type
rlm_ldap: LDAP radiusTunnelMediumType mapped to RADIUS Tunnel-Medium-Type
rlm_ldap: LDAP radiusTunnelPrivateGroupId mapped to RADIUS Tunnel-Private-Group-Id
conns: 1ee8f8
}
radiusd: #### Loading Virtual Servers ####
server { # from file /usr/local/etc/raddb/radiusd.conf
modules {
Module: Creating Post-Auth-Type = REJECT
Module: Checking authenticate {...} for more modules to load
Module: Linked to module rlm_pap
Module: Instantiating module "pap" from file /usr/local/etc/raddb/modules/pap
pap {
encryption_scheme = "auto"
auto_header = no
}
Module: Linked to module rlm_chap
Module: Instantiating module "chap" from file /usr/local/etc/raddb/modules/chap
Module: Linked to module rlm_mschap
Module: Instantiating module "mschap" from file /usr/local/etc/raddb/modules/mschap
mschap {
use_mppe = yes
require_encryption = no
require_strong = no
with_ntdomain_hack = no
allow_retry = yes
}
Module: Checking authorize {...} for more modules to load
Module: Linked to module rlm_preprocess
Module: Instantiating module "preprocess" from file /usr/local/etc/raddb/modules/preprocess
preprocess {
huntgroups = "/usr/local/etc/raddb/huntgroups"
hints = "/usr/local/etc/raddb/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
}
reading pairlist file /usr/local/etc/raddb/huntgroups
reading pairlist file /usr/local/etc/raddb/hints
Module: Loading virtual module filter_username
Module: Linked to module rlm_always
Module: Instantiating module "reject" from file /usr/local/etc/raddb/modules/always
always reject {
rcode = "reject"
simulcount = 0
mpp = no
}
Module: Linked to module rlm_realm
Module: Instantiating module "suffix" from file /usr/local/etc/raddb/modules/realm
realm suffix {
format = "suffix"
delimiter = "@"
ignore_default = no
ignore_null = no
}
Module: Loading virtual module rewrite_calling_station_id
Module: Instantiating module "noop" from file /usr/local/etc/raddb/modules/always
always noop {
rcode = "noop"
simulcount = 0
mpp = no
}
Module: Instantiating module "ok" from file /usr/local/etc/raddb/modules/always
always ok {
rcode = "ok"
simulcount = 0
mpp = no
}
Module: Checking preacct {...} for more modules to load
Module: Linked to module rlm_acct_unique
Module: Instantiating module "acct_unique" from file /usr/local/etc/raddb/modules/acct_unique
acct_unique {
key = "User-Name, Acct-Session-Id, NAS-IP-Address, Client-IP-Address, NAS-Port"
}
Module: Loading virtual module rewrite_calling_station_id
Module: Linked to module rlm_perl
Module: Instantiating module "perl" from file /usr/local/etc/raddb/modules/perl
perl {
module = "/usr/local/etc/raddb/paloalto.pl"
func_authorize = "authorize"
func_authenticate = "authenticate"
func_accounting = "accounting"
func_preacct = "preacct"
func_checksimul = "checksimul"
func_detach = "detach"
func_xlat = "xlat"
func_pre_proxy = "pre_proxy"
func_post_proxy = "post_proxy"
func_post_auth = "post_auth"
func_recv_coa = "recv_coa"
func_send_coa = "send_coa"
}
Module: Checking accounting {...} for more modules to load
Module: Checking session {...} for more modules to load
Module: Linked to module rlm_radutmp
Module: Instantiating module "radutmp" from file /usr/local/etc/raddb/modules/radutmp
radutmp {
filename = "/usr/local/var/log/radius/radutmp"
username = "%{User-Name}"
case_sensitive = yes
check_with_nas = yes
perm = 384
callerid = yes
}
Module: Checking post-auth {...} for more modules to load
Module: Loading virtual module rewrite_calling_station_id
Module: Linked to module rlm_attr_filter
Module: Instantiating module "attr_filter.access_reject" from file /usr/local/etc/raddb/modules/attr_filter
attr_filter attr_filter.access_reject {
attrsfile = "/usr/local/etc/raddb/attrs.access_reject"
key = "%{User-Name}"
relaxed = no
}
reading pairlist file /usr/local/etc/raddb/attrs.access_reject
} # modules
} # server
server inner-tunnel { # from file /usr/local/etc/raddb/sites-enabled/inner-tunnel
modules {
Module: Checking authenticate {...} for more modules to load
Module: Linked to module rlm_unix
Module: Instantiating module "unix" from file /usr/local/etc/raddb/modules/unix
unix {
radwtmp = "/usr/local/var/log/radius/radwtmp"
}
Module: Linked to module rlm_eap
Module: Instantiating module "eap" from file /usr/local/etc/raddb/eap.conf
eap {
default_eap_type = "md5"
timer_expire = 60
ignore_unknown_eap_types = no
cisco_accounting_username_bug = no
max_sessions = 4096
}
Module: Linked to sub-module rlm_eap_md5
Module: Instantiating eap-md5
Module: Linked to sub-module rlm_eap_leap
Module: Instantiating eap-leap
Module: Linked to sub-module rlm_eap_gtc
Module: Instantiating eap-gtc
gtc {
challenge = "Password: "
auth_type = "PAP"
}
Module: Linked to sub-module rlm_eap_tls
Module: Instantiating eap-tls
tls {
rsa_key_exchange = no
dh_key_exchange = yes
rsa_key_length = 512
dh_key_length = 512
verify_depth = 0
CA_path = "/usr/local/etc/raddb/certs"
pem_file_type = yes
private_key_file = "/usr/local/etc/raddb/certs/server.pvk"
certificate_file = "/usr/local/etc/raddb/certs/server.pem"
CA_file = "/usr/local/etc/raddb/certs/ca.pem"
dh_file = "/usr/local/etc/raddb/certs/dh"
random_file = "/usr/local/etc/raddb/certs/random"
fragment_size = 1024
include_length = yes
check_crl = no
cipher_list = "DEFAULT"
ecdh_curve = "prime256v1"
cache {
enable = no
lifetime = 24
max_entries = 255
}
verify {
}
}
Module: Linked to sub-module rlm_eap_ttls
Module: Instantiating eap-ttls
ttls {
default_eap_type = "md5"
copy_request_to_tunnel = no
use_tunneled_reply = no
virtual_server = "inner-tunnel"
include_length = yes
}
Module: Linked to sub-module rlm_eap_peap
Module: Instantiating eap-peap
peap {
default_eap_type = "mschapv2"
copy_request_to_tunnel = no
use_tunneled_reply = no
proxy_tunneled_request_as_eap = yes
virtual_server = "inner-tunnel"
soh = no
}
Module: Linked to sub-module rlm_eap_mschapv2
Module: Instantiating eap-mschapv2
mschapv2 {
with_ntdomain_hack = no
send_error = no
}
Module: Checking authorize {...} for more modules to load
Module: Linked to module rlm_files
Module: Instantiating module "files" from file /usr/local/etc/raddb/modules/files
files {
usersfile = "/usr/local/etc/raddb/users"
acctusersfile = "/usr/local/etc/raddb/acct_users"
preproxy_usersfile = "/usr/local/etc/raddb/preproxy_users"
compat = "no"
}
reading pairlist file /usr/local/etc/raddb/users
reading pairlist file /usr/local/etc/raddb/acct_users
reading pairlist file /usr/local/etc/raddb/preproxy_users
Module: Checking session {...} for more modules to load
Module: Checking post-proxy {...} for more modules to load
Module: Checking post-auth {...} for more modules to load
} # modules
} # server
server vmps { # from file /usr/local/etc/raddb/sites-enabled/vmps
modules {
Module: Checking vmps {...} for more modules to load
Module: Linked to module rlm_linelog
Module: Instantiating module "linelog.vmps" from file /usr/local/etc/raddb/modules/linelog
linelog linelog.vmps {
filename = "syslog"
permissions = 384
format = "Wired access by %{VMPS-Mac} -> VLAN %{VMPS-Vlan-Name}"
}
} # modules
} # server
radiusd: #### Opening IP addresses and Ports ####
listen {
type = "auth"
ipaddr = *
port = 0
}
listen {
type = "acct"
ipaddr = *
port = 0
}
listen {
type = "control"
listen {
socket = "/usr/local/var/run/radiusd/radiusd.sock"
}
}
listen {
type = "auth"
ipaddr = 127.0.0.1
port = 18120
}
listen {
type = "vmps"
ipaddr = *
port = 1589
client switches {
ipaddr = 134.220.128.0
netmask = 21
require_message_authenticator = no
shortname = "switches"
nastype = "other"
}
}
... adding new socket proxy address * port 34971
... adding new socket proxy address * port 34972
... adding new socket proxy address * port 34973
... adding new socket proxy address * port 34974
... adding new socket proxy address * port 34975
... adding new socket proxy address * port 34976
... adding new socket proxy address * port 34977
... adding new socket proxy address * port 34978
... adding new socket proxy address * port 34979
... adding new socket proxy address * port 34980
Listening on authentication address * port 1812
Listening on accounting address * port 1813
Listening on command file /usr/local/var/run/radiusd/radiusd.sock
Listening on authentication address 127.0.0.1 port 18120 as server inner-tunnel
Listening on vmps address * port 1589 as server vmps
Listening on proxy address * port 1814
Ready to process requests.
rad_recv: Access-Request packet from host 134.220.193.4 port 57295, id=21, length=59
User-Name = "S.Maxtest(a)wlv.ac.uk"
User-Password = "bq9383bq"
# Executing section authorize from file /usr/local/etc/raddb/sites-enabled/default
+- entering group authorize {...}
++[preprocess] returns ok
++- entering policy filter_username {...}
+++? if (User-Name =~ / /)
? Evaluating (User-Name =~ / /) -> FALSE
+++? if (User-Name =~ / /) -> FALSE
+++? if (User-Name =~ /@(.+)?@/i )
? Evaluating (User-Name =~ /@(.+)?@/i) -> FALSE
+++? if (User-Name =~ /@(.+)?@/i ) -> FALSE
+++? if (User-Name =~ /\\.\\./ )
? Evaluating (User-Name =~ /\\.\\./) -> FALSE
+++? if (User-Name =~ /\\.\\./ ) -> FALSE
+++? if (User-Name =~ /\\.$/)
? Evaluating (User-Name =~ /\\.$/) -> FALSE
+++? if (User-Name =~ /\\.$/) -> FALSE
+++? if (User-Name =~ /(a)\\./)
? Evaluating (User-Name =~ /(a)\\./) -> FALSE
+++? if (User-Name =~ /(a)\\./) -> FALSE
+++? if (User-Name =~ /@.*(3gppnetwork\\.org|myabc\\.com|hotmail\\.com|uniwlv\\ac\\.uk|\\.a[^c]\\.uk)$/i)
? Evaluating (User-Name =~ /@.*(3gppnetwork\\.org|myabc\\.com|hotmail\\.com|uniwlv\\ac\\.uk|\\.a[^c]\\.uk)$/i) -> FALSE
+++? if (User-Name =~ /@.*(3gppnetwork\\.org|myabc\\.com|hotmail\\.com|uniwlv\\ac\\.uk|\\.a[^c]\\.uk)$/i) -> FALSE
+++? if (User-Name =~ /\\\\/ && User-Name !~ /^unv\\\\.+/i)
? Evaluating (User-Name =~ /\\\\/) -> FALSE
? Skipping (User-Name !~ /^unv\\\\.+/i)
+++? if (User-Name =~ /\\\\/ && User-Name !~ /^unv\\\\.+/i) -> FALSE
++- policy filter_username returns ok
[suffix] Looking up realm "wlv.ac.uk" for User-Name = "S.Maxtest(a)wlv.ac.uk"
[suffix] Found realm "wlv.ac.uk"
[suffix] Adding Realm = "wlv.ac.uk"
[suffix] Proxying request from user S.Maxtest to realm wlv.ac.uk
[suffix] Preparing to proxy authentication request to realm "wlv.ac.uk"
++[suffix] returns updated
++? if (Service-Type == 'Call-Check')
(Attribute Service-Type was not found)
? Evaluating (Service-Type == 'Call-Check') -> FALSE
++? if (Service-Type == 'Call-Check') -> FALSE
++[pap] returns noop
WARNING: Empty pre-proxy section. Using default return values.
Sending Access-Request of id 115 to 134.220.1.120 port 1812
User-Name = "S.Maxtest(a)wlv.ac.uk"
NAS-IP-Address = 134.220.193.4
Message-Authenticator := 0x00000000000000000000000000000000
Proxy-State = 0x3231
Proxying request 0 to home server 134.220.1.120 port 1812
Sending Access-Request of id 115 to 134.220.1.120 port 1812
User-Name = "S.Maxtest(a)wlv.ac.uk"
NAS-IP-Address = 134.220.193.4
Message-Authenticator := 0x00000000000000000000000000000000
Proxy-State = 0x3231
Going to the next request
Waking up in 0.9 seconds.
rad_recv: Access-Accept packet from host 134.220.1.120 port 1812, id=115, length=82
Proxy-State = 0x3231
Framed-Protocol = PPP
Service-Type = Framed-User
Class = 0x78260890000001370001020086dc017800000000000000000000000001cf1c14d4e8eea90000000000bae884
WARNING: Empty post-proxy section. Using default return values.
Found Auth-Type = Accept
Auth-Type = Accept, accepting the user
Login OK: [S.Maxtest(a)wlv.ac.uk] (from client max port 0)
# Executing section post-auth from file /usr/local/etc/raddb/sites-enabled/default
+- entering group post-auth {...}
++- entering policy rewrite_calling_station_id {...}
+++? if (Calling-Station-Id =~ /([0-9a-f]{2})[-:\.]?([0-9a-f]{2})[-:\.]?([0-9a-f]{2})[-:\.]?([0-9a-f]{2})[-:\.]?([0-9a-f]{2})[-:\.]?([0-9a-f]{2})/i)
(Attribute Calling-Station-Id was not found)
? Evaluating (Calling-Station-Id =~ /([0-9a-f]{2})[-:\.]?([0-9a-f]{2})[-:\.]?([0-9a-f]{2})[-:\.]?([0-9a-f]{2})[-:\.]?([0-9a-f]{2})[-:\.]?([0-9a-f]{2})/i) -> FALSE
+++? if (Calling-Station-Id =~ /([0-9a-f]{2})[-:\.]?([0-9a-f]{2})[-:\.]?([0-9a-f]{2})[-:\.]?([0-9a-f]{2})[-:\.]?([0-9a-f]{2})[-:\.]?([0-9a-f]{2})/i) -> FALSE
+++- entering else else {...}
++++[noop] returns noop
+++- else else returns noop
++- policy rewrite_calling_station_id returns noop
++? if ("%{config:modules.sql.server}" == 'NPS' && !(User-Password && Service-Type == Login-User) && "%{sql:SELECT COUNT(*) FROM identifications WHERE macaddr = '%{Calling-Station-ID}' AND blocked = 1}" >= 1)
expand: modules.sql.server -> modules.sql.server
expand: %{config:modules.sql.server} -> localhost
? Evaluating ("%{config:modules.sql.server}" == 'NPS' ) -> FALSE
?? Skipping (User-Password )
?? Skipping (Service-Type == Login-User)
? Skipping ("%{sql:SELECT COUNT(*) FROM identifications WHERE macaddr = '%{Calling-Station-ID}' AND blocked = 1}" >= 1)
++? if ("%{config:modules.sql.server}" == 'NPS' && !(User-Password && Service-Type == Login-User) && "%{sql:SELECT COUNT(*) FROM identifications WHERE macaddr = '%{Calling-Station-ID}' AND blocked = 1}" >= 1) -> FALSE
++? if (control:Proxy-To-Realm == DEFAULT)
? Evaluating (control:Proxy-To-Realm == DEFAULT) -> FALSE
++? if (control:Proxy-To-Realm == DEFAULT) -> FALSE
++[exec] returns noop
Sending Access-Accept of id 21 to 134.220.193.4 port 57295
Framed-Protocol = PPP
Service-Type = Framed-User
Class = 0x78260890000001370001020086dc017800000000000000000000000001cf1c14d4e8eea90000000000bae884
Finished request 0.
Going to the next request
Waking up in 4.9 seconds.
^C
ccuh-old#
script done on Fri Feb 14 15:50:01 2014
--
Scanned by iCritical.
3
9
Thanks alan for help. But I haven't got it done now..still cannot let it get into post-proxy-fail section.please take a look on my config and another debug log! Thanks!
Below is my proxy.conf.home_server test_1 { type=auth+acct ipaddr=172.30.179.22 port=1812 secret = test123 require_message_authenticator=no response_window = 5 zombie_period = 5 revive_interval = 5 status_check = none check_interval = 30 num_answers_to_alive = 3}home_server_pool test_pool { type = fail-over home_server = test_1}realm test { pool = test_pool nostrip}
Because the scenario what I simulate is that external AAA might not be freeradius, so I set status_check to "none". Also, as alan mentioned, I set response_window and zombie_period to 5.
About my ./site-available/default config, I only show the part of post-proxy. You can find that in Post-Proxy-Type Fail section, I want to update a Tmp-String value. Then I can know it is proxy timeout so that I will write down a log in perl.post-proxy {
# If you want to have a log of replies from a home server, # un-comment the following line, and the 'detail post_proxy_log' # section, above.# post_proxy_log
# attr_rewrite
# Uncomment the following line if you want to filter replies from # remote proxies based on the rules defined in the 'attrs' file.# attr_filter.post-proxy
Post-Proxy-Type Fail { update control { Tmp-String-0 := "PJ-TO" } perl-log-module-here }}
last is my debug log:
rad_recv: Access-Request packet from host 172.30.179.21 port 55342, id=27, length=79 User-Name = "test@test" User-Password = "123" NAS-IP-Address = 127.0.0.1 NAS-Port = 0 Message-Authenticator = 0x3d63469358ade53b4181dc50a857762b# Executing section authorize from file /opt/freeRADIUS/etc/raddb/sites-enabled/default+- entering group authorize {...} expand: %{client:Gateway-Type} -> ALU++[control] returns notfoundrlm_perl: RAD_CONFIG: Tmp-String-8 = ALUrlm_perl: Added pair User-Name = test@testrlm_perl: Added pair User-Password = 123rlm_perl: Added pair NAS-Port = 0rlm_perl: Added pair NAS-IP-Address = 127.0.0.1rlm_perl: Added pair Message-Authenticator = 0x3d63469358ade53b4181dc50a857762brlm_perl: Added pair Tmp-String-8 = ALU++[test_client_config] returns noop++[preprocess] returns ok[auth_log] expand: %{Packet-Src-IP-Address} -> 172.30.179.21[auth_log] expand: /opt/freeRADIUS/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d -> /opt/freeRADIUS/var/log/radius/radacct/172.30.179.21/auth-detail-20140214[auth_log] /opt/freeRADIUS/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d expands to /opt/freeRADIUS/var/log/radius/radacct/172.30.179.21/auth-detail-20140214[auth_log] expand: %t -> Fri Feb 14 09:36:15 2014++[auth_log] returns ok++[chap] returns noop++[mschap] returns noop++[digest] returns noop[suffix] Looking up realm "test" for User-Name = "test@test"[suffix] Found realm "test"[suffix] Adding Realm = "test"[suffix] Proxying request from user test to realm test[suffix] Preparing to proxy authentication request to realm "test" ++[suffix] returns updated[eap] No EAP-Message, not doing EAP++[eap] returns noop++[files] returns noop++[expiration] returns noop++[logintime] returns noop++[pap] returns noop# Executing section pre-proxy from file /opt/freeRADIUS/etc/raddb/sites-enabled/default+- entering group pre-proxy {...}[attr_filter.pre-proxy] expand: %{Realm} -> testattr_filter: Matched entry DEFAULT at line 50++[attr_filter.pre-proxy] returns updatedSending Access-Request of id 219 to 172.30.179.22 port 1812 User-Name = "test@test" User-Password = "123" NAS-IP-Address = 127.0.0.1 Message-Authenticator = 0x00000000000000000000000000000000 Proxy-State = 0x3237Proxying request 0 to home server 172.30.179.22 port 1812Sending Access-Request of id 219 to 172.30.179.22 port 1812 User-Name = "test@test" User-Password = "123" NAS-IP-Address = 127.0.0.1 Message-Authenticator = 0x00000000000000000000000000000000 Proxy-State = 0x3237Going to the next requestWaking up in 0.9 seconds.Waking up in 4.0 seconds.Cleaning up request 0 ID 27 with timestamp +7Marking home server 172.30.179.22 port 1812 as zombie (it looks like it is dead).rad_recv: Access-Request packet from host 172.30.179.21 port 55342, id=27, length=79 User-Name = "test@test" User-Password = "123" NAS-IP-Address = 127.0.0.1 NAS-Port = 0 Message-Authenticator = 0x3d63469358ade53b4181dc50a857762b# Executing section authorize from file /opt/freeRADIUS/etc/raddb/sites-enabled/default+- entering group authorize {...} expand: %{client:Gateway-Type} -> ALU++[control] returns notfoundrlm_perl: RAD_CONFIG: Tmp-String-8 = ALUrlm_perl: Added pair User-Name = test@testrlm_perl: Added pair User-Password = 123rlm_perl: Added pair NAS-Port = 0rlm_perl: Added pair NAS-IP-Address = 127.0.0.1rlm_perl: Added pair Message-Authenticator = 0x3d63469358ade53b4181dc50a857762brlm_perl: Added pair Tmp-String-8 = ALU++[test_client_config] returns noop++[preprocess] returns ok[auth_log] expand: %{Packet-Src-IP-Address} -> 172.30.179.21[auth_log] expand: /opt/freeRADIUS/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d -> /opt/freeRADIUS/var/log/radius/radacct/172.30.179.21/auth-detail-20140214[auth_log] /opt/freeRADIUS/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d expands to /opt/freeRADIUS/var/log/radius/radacct/172.30.179.21/auth-detail-20140214[auth_log] expand: %t -> Fri Feb 14 09:36:20 2014++[auth_log] returns ok++[chap] returns noop++[mschap] returns noop++[digest] returns noop[suffix] Looking up realm "test" for User-Name = "test@test"[suffix] Found realm "test"[suffix] Adding Realm = "test"[suffix] Proxying request from user test to realm test[suffix] Preparing to proxy authentication request to realm "test" ++[suffix] returns updated[eap] No EAP-Message, not doing EAP++[eap] returns noop++[files] returns noop++[expiration] returns noop++[logintime] returns noop++[pap] returns noop# Executing section pre-proxy from file /opt/freeRADIUS/etc/raddb/sites-enabled/default+- entering group pre-proxy {...}[attr_filter.pre-proxy] expand: %{Realm} -> testattr_filter: Matched entry DEFAULT at line 50++[attr_filter.pre-proxy] returns updatedSending Access-Request of id 69 to 172.30.179.22 port 1812 User-Name = "test@test" User-Password = "123" NAS-IP-Address = 127.0.0.1 Message-Authenticator = 0x00000000000000000000000000000000 Proxy-State = 0x3237Proxying request 1 to home server 172.30.179.22 port 1812Sending Access-Request of id 69 to 172.30.179.22 port 1812 User-Name = "test@test" User-Password = "123" NAS-IP-Address = 127.0.0.1 Message-Authenticator = 0x00000000000000000000000000000000 Proxy-State = 0x3237Going to the next requestWaking up in 0.9 seconds.Waking up in 4.0 seconds.Marking home server 172.30.179.22 port 1812 as dead.Cleaning up request 1 ID 27 with timestamp +12rad_recv: Access-Request packet from host 172.30.179.21 port 55342, id=27, length=79 User-Name = "test@test" User-Password = "123" NAS-IP-Address = 127.0.0.1 NAS-Port = 0 Message-Authenticator = 0x3d63469358ade53b4181dc50a857762b# Executing section authorize from file /opt/freeRADIUS/etc/raddb/sites-enabled/default+- entering group authorize {...} expand: %{client:Gateway-Type} -> ALU++[control] returns notfoundrlm_perl: RAD_CONFIG: Tmp-String-8 = ALUrlm_perl: Added pair User-Name = test@testrlm_perl: Added pair User-Password = 123rlm_perl: Added pair NAS-Port = 0rlm_perl: Added pair NAS-IP-Address = 127.0.0.1rlm_perl: Added pair Message-Authenticator = 0x3d63469358ade53b4181dc50a857762brlm_perl: Added pair Tmp-String-8 = ALU++[test_client_config] returns noop++[preprocess] returns ok[auth_log] expand: %{Packet-Src-IP-Address} -> 172.30.179.21[auth_log] expand: /opt/freeRADIUS/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d -> /opt/freeRADIUS/var/log/radius/radacct/172.30.179.21/auth-detail-20140214[auth_log] /opt/freeRADIUS/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d expands to /opt/freeRADIUS/var/log/radius/radacct/172.30.179.21/auth-detail-20140214[auth_log] expand: %t -> Fri Feb 14 09:36:25 2014++[auth_log] returns ok++[chap] returns noop++[mschap] returns noop++[digest] returns noop[suffix] Looking up realm "test" for User-Name = "test@test"[suffix] Found realm "test"[suffix] Adding Realm = "test"[suffix] Proxying request from user test to realm test[suffix] Preparing to proxy authentication request to realm "test" ++[suffix] returns updated[eap] No EAP-Message, not doing EAP++[eap] returns noop++[files] returns noop++[expiration] returns noop++[logintime] returns noop++[pap] returns noopERROR: Failed to find live home server for realm testThere was no response configured: rejecting request 2Using Post-Auth-Type REJECT# Executing group from file /opt/freeRADIUS/etc/raddb/sites-enabled/default+- entering group REJECT {...}[attr_filter.access_reject] expand: %{User-Name} -> test@testattr_filter: Matched entry DEFAULT at line 11++[attr_filter.access_reject] returns updatedDelaying reject of request 2 for 1 secondsGoing to the next requestWaking up in 0.9 seconds.Sending delayed reject for request 2Sending Access-Reject of id 27 to 172.30.179.21 port 55342Waking up in 4.9 seconds.Cleaning up request 2 ID 27 with timestamp +17Waking up in 53.9 seconds.Marking home server 172.30.179.22 port 1812 alive again... we have no idea if it really is alive or not.Ready to process requests.
Is there anything I still need to get it down? Thanks for all your patience!
Okis
2
3
Hello FreeRadius Users.
I have a question about sqlippool and I would be glad if you could
share your opinions with me/the list:
Is the module sqlippool useable for production if MySQL is used with
InnoDB tables?
I found the information, that transaction support of your SQL backend
is important, but MySQL seems to support transactions with InnoDB. I'm
asking because I was told, that there is still an issue if you use
sqlippool with more one NAS: The same IP addresses could be given to
different clients if you use MySQL - even with InnoDB.
What is your experience? Would you advise to use a different SQL
backend (PostgreSQL for example)? Would you advise, not to use
sqlippool at all?
How do you handle a pool of ip addresses if you have more than one NAS
and it's not possible to handle the pool on each NAS?
Thanks in advance!
Sebastian
2
2
Hi!
I tried to use the control socket and raddebug to debug certain clients but radmin seems to ignore any conditions (f.i. Packet-Src-IP-Address).
Also, we had to explicitly set a debug log level in order to see anything at all. Does setting a (global?) log level somehow override the conditions?
We also had to comment the group checking ("show config group") out in order for raddebug to work at all.
Cheers,
JB
3
16
13 Feb '14
Hello,
I'm testing an upgrade from my FR3.0.0 to 3.0.1 on an up to date Debian 7. Unfortunately,
I don't get attributes from radgroupreply table any more... as the attached log shows :
(1) sql : expand: "SELECT id, username, attribute, value, op FROM radcheck WHERE
username = '%{SQL-User-Name}' ORDER BY id" -> 'SELECT id, username, attribute, value, op
FROM radcheck WHERE username = 'eca86bf20216' ORDER BY id'
rlm_sql (sql): Executing query: 'SELECT id, username, attribute, value, op FROM radcheck
WHERE username = 'eca86bf20216' ORDER BY id'
(1) sql : User found in radcheck table
(1) sql : Check items matched
(1) sql : expand: "SELECT id, username, attribute, value, op FROM radreply WHERE
username = '%{SQL-User-Name}' ORDER BY id" -> 'SELECT id, username, attribute, value, op
FROM radreply WHERE username = 'eca86bf20216' ORDER BY id'
rlm_sql (sql): Executing query: 'SELECT id, username, attribute, value, op FROM radreply
WHERE username = 'eca86bf20216' ORDER BY id'
(1) sql : expand: "SELECT groupname FROM radusergroup WHERE username =
'%{SQL-User-Name}' ORDER BY priority" -> 'SELECT groupname FROM radusergroup WHERE
username = 'eca86bf20216' ORDER BY priority'
rlm_sql (sql): Executing query: 'SELECT groupname FROM radusergroup WHERE username =
'eca86bf20216' ORDER BY priority'
rlm_sql (sql): Released connection (4)
radreply table is queried but not radgroupdeply although the query about radusergroup
table returns 2 entries.
On an older log done with FR3.0.0 (with the very same data in DB of course) I used to have :
(39049) sql : SQL-User-Name set to "eca86bf20216"
rlm_sql (sql): Reserved connection (2292)
(39049) sql : expand: "SELECT id, username, attribute, value, op FROM radcheck WHERE
username = '%{SQL-User-Name}' ORDER BY id" -> 'SELECT id, username, attribute, value, op
FROM radcheck WHERE username = 'eca86bf20216' ORDER BY id'
rlm_sql (sql): Executing query: 'SELECT id, username, attribute, value, op FROM radcheck
WHERE username = 'eca86bf20216' ORDER BY id'
(39049) sql : User found in radcheck table
(39049) sql : expand: "SELECT id, username, attribute, value, op FROM radreply WHERE
username = '%{SQL-User-Name}' ORDER BY id" -> 'SELECT id, username, attribute, value, op
FROM radreply WHERE username = 'eca86bf20216' ORDER BY id'
rlm_sql (sql): Executing query: 'SELECT id, username, attribute, value, op FROM radreply
WHERE username = 'eca86bf20216' ORDER BY id'
(39049) sql : expand: "SELECT groupname FROM radusergroup WHERE username =
'%{SQL-User-Name}' ORDER BY priority" -> 'SELECT groupname FROM radusergroup WHERE
username = 'eca86bf20216' ORDER BY priority'
rlm_sql (sql): Executing query: 'SELECT groupname FROM radusergroup WHERE username =
'eca86bf20216' ORDER BY priority'
(39049) sql : expand: "SELECT id, groupname, attribute, Value, op FROM radgroupcheck
WHERE groupname = '%{Sql-Group}' ORDER BY id" -> 'SELECT id, groupname, attribute, Value,
op FROM radgroupcheck WHERE groupname = 'pcs-miletrie' ORDER BY id'
rlm_sql (sql): Executing query: 'SELECT id, groupname, attribute, Value, op FROM
radgroupcheck WHERE groupname = 'pcs-miletrie' ORDER BY id'
(39049) sql : User found in= RLM_MODULE_OK; group pcs-miletrie
(39049) sql : expand: "SELECT id, groupname, attribute, value, op FROM radgroupreply
WHERE groupname = '%{Sql-Group}' ORDER BY id" -> 'SELECT id, groupname, attribute, value,
op FROM radgroupreply WHERE groupname = 'pcs-miletrie' ORDER BY id'
rlm_sql (sql): Executing query: 'SELECT id, groupname, attribute, value, op FROM
radgroupreply WHERE groupname = 'pcs-miletrie' ORDER BY id'
rlm_sql (sql): Released connection (2292)
Have I missed something ?
Regards
2
1
Re: [SOLVED!!!] [Chilli] CoovaChilli FreeRADIUS Setup With UAM [SOLVED!!!]
by Russell Mike 13 Feb '14
by Russell Mike 13 Feb '14
13 Feb '14
[SOLVED!!!] [Chilli] CoovaChilli FreeRADIUS Setup With UAM Reply Messages
[SOLVED!!!]
Thank you very much guys, with your help, problem solved!!
Alan Dekok told me that NAS should send those messages to UAM & Xabier
explained from chilli list, how to achieve the goal. It is already working
while writing !!!!
Dear Jed, Thanks for your code as well, it helped me to learn few new
ideas. you have been helpful to me many times.
Great Thanks to Community
Regards
On Thu, Feb 13, 2014 at 1:09 PM, Xabier Oneca -- xOneca <xoneca(a)gmail.com>wrote:
> Hello Mike,
>
>
> 2014-02-12 10:41 GMT+01:00 Russell Mike <radius.sir(a)gmail.com>:
> > Hi Chilli List Greetings
> >
> > Thanks for all kind of assistance in past from community. i learnt that
> is
> > is not RADIUS, rather NAS should forward the message to UAM.
>
> Yes, you are correct. It's CoovaChilli who "sends" that data to the
> UAM through user redirection.
>
> > How can i configure NAS (CC) to pass on messages to UAM ?
>
> It should already be passing that information to the UAM. Check the
> 'res' and 'reason' URL parameters.
>
> From `redir_reply()` function: statuses of the redirection (res=):
>
> * already (Already logged in)
> * failed (This can also set the parameter reason=)
> * reject (Login rejected by RADIUS)
> * timeout
> * mtu
> * other
> * success
> * logoff
>
> Cheers,
>
> Xabier Oneca_,,_
>
> > Thanks / Regards
> >
> >
> > On Tue, Feb 11, 2014 at 10:58 AM, Russell Mike <radius.sir(a)gmail.com>
> wrote:
> >>
> >> Dear List Greetings
> >>
> >> Setup Example:
> >> i have CoovaChilli / FreeRADIUS setup with UAM (Universal Access
> Manager)
> >> server. Basically means it is different web server than NAS it self
> (NAS =
> >> CoovaChilli). UAM serve the login page for hotspot users. Saying other
> way,
> >> separate web server for content management system (serving login page
> base
> >> on geographical location, distance, vlan numbers etc. etc..)
> >>
> >> When any of following condition becomes true
> >>
> >> 1.) User has fill the wrong password
> >> 2.) User calling outside of time slot
> >> 3.) User already downloaded the quota specified
> >>
> >> FreeRADIUS reject the access, which is obvious. Fine !!!!
> >>
> >> Question:
> >> how can i configure FreeRADIUS to send the reply messages (Your
> >> username/password is wrong) to UAM server rather than NAS ? i am very
> sure
> >> there would be a way to do it and i am not coming across using google
> search
> >> over a week.
> >>
> >> Thanks / Regards
> >> RM --
>
1
0
Encountered the following issue.
Running FR 2.2.3. PEAP tunneled authentication was successful. But get
rejected due to username mismatch. No issue when both username are the same.
Snippet of the debug log. Full debug.log for the attempt and radiusd -X
attached.
Tue Feb 11 09:58:32 2014 : Debug: ++update outer.reply {
Tue Feb 11 09:58:32 2014 : Debug: expand: %{request:User-Name} ->
jacquegp
Tue Feb 11 09:58:32 2014 : Debug: ++} # update outer.reply = noop
Tue Feb 11 09:58:32 2014 : Debug: +} # group post-auth = noop
Tue Feb 11 09:58:32 2014 : Debug: [peap] Tunneled authentication was
successful.
Tue Feb 11 09:58:32 2014 : Debug: [peap] SUCCESS
Tue Feb 11 09:58:32 2014 : Debug: [peap] Saving tunneled attributes for
later
Tue Feb 11 09:58:32 2014 : Debug: ++[eap_custom] = handled
Tue Feb 11 09:58:32 2014 : Debug: +} # group authenticate = handled
Tue Feb 11 09:58:32 2014 : Debug: Sending Access-Challenge packet to host
172.23.12.254 port 1645, id=101, length=0
Tue Feb 11 09:58:32 2014 : Debug: User-Name = "jacquegp"
Tue Feb 11 09:58:32 2014 : Debug: EAP-Message =
0x010a002b190017030100201278d8b49e1c026b2f34d961bf660de263813d0f9033639f146fe5baf2675fcf
Tue Feb 11 09:58:32 2014 : Debug: Message-Authenticator =
0x00000000000000000000000000000000
Tue Feb 11 09:58:32 2014 : Debug: State =
0x1873098d1079106583e3066b1fd4db72
Tue Feb 11 09:58:32 2014 : Debug: Finished request 556186.
Tue Feb 11 09:58:32 2014 : Debug: Received Access-Request packet from host
172.23.12.254 port 1645, id=102, length=283
Tue Feb 11 09:58:32 2014 : Debug: User-Name = "jacquegp"
Tue Feb 11 09:58:32 2014 : Debug: Framed-MTU = 1400
Tue Feb 11 09:58:32 2014 : Debug: Called-Station-Id = "003a.9aba.7bf0"
Tue Feb 11 09:58:32 2014 : Debug: Calling-Station-Id =
"8832.9b40.493a"
Tue Feb 11 09:58:32 2014 : Debug: Cisco-AVPair = "ssid=Wireless"
Tue Feb 11 09:58:32 2014 : Debug: WISPr-Location-Name = "Location"
Tue Feb 11 09:58:32 2014 : Debug: Service-Type = Login-User
Tue Feb 11 09:58:32 2014 : Debug: Message-Authenticator =
0xd3c7bd34fe6ab7510f2d1c529f4e9513
Tue Feb 11 09:58:32 2014 : Debug: EAP-Message =
0x020a005019001703010020090e5ecf84ca7daf04c43eff2c62dffd490c3165926acddb05e42bca4a2feae7170301002084ce26a1c964a6ab6f8a698a7731102564f9c8867a7a05ddd592d015c17d6649
Tue Feb 11 09:58:32 2014 : Debug: NAS-Port-Type = Wireless-802.11
Tue Feb 11 09:58:32 2014 : Debug: NAS-Port = 4351
Tue Feb 11 09:58:32 2014 : Debug: NAS-Port-Id = "4351"
Tue Feb 11 09:58:32 2014 : Debug: State =
0x1873098d1079106583e3066b1fd4db72
Tue Feb 11 09:58:32 2014 : Debug: NAS-IP-Address = 172.23.12.254
Tue Feb 11 09:58:32 2014 : Debug: NAS-Identifier = "Site"
Tue Feb 11 09:58:32 2014 : Debug: # Executing section authorize from file
/usr/local/etc/raddb/sites-enabled/default
Tue Feb 11 09:58:32 2014 : Debug: +group authorize {
Tue Feb 11 09:58:32 2014 : Debug: ++[preprocess] = ok
Tue Feb 11 09:58:32 2014 : Debug: [suffix] No '@' in User-Name =
"jacquegp", looking up realm NULL
Tue Feb 11 09:58:32 2014 : Debug: [suffix] No such realm "NULL"
Tue Feb 11 09:58:32 2014 : Debug: ++[suffix] = noop
Tue Feb 11 09:58:32 2014 : Debug: ++? if (Aruba-Essid-Name == "Visitor")
Tue Feb 11 09:58:32 2014 : Debug: (Attribute Aruba-Essid-Name was not
found)
Tue Feb 11 09:58:32 2014 : Debug: ? Evaluating (Aruba-Essid-Name ==
"Visitor") -> FALSE
Tue Feb 11 09:58:32 2014 : Debug: ++? if (Aruba-Essid-Name == "Visitor") ->
FALSE
Tue Feb 11 09:58:32 2014 : Debug: ++else else {
Tue Feb 11 09:58:32 2014 : Debug: [eap_custom] EAP packet type response id
10 length 80
Tue Feb 11 09:58:32 2014 : Debug: [eap_custom] Continuing tunnel setup.
Tue Feb 11 09:58:32 2014 : Debug: +++[eap_custom] = ok
Tue Feb 11 09:58:32 2014 : Debug: ++} # else else = ok
Tue Feb 11 09:58:32 2014 : Debug: ++[expiration] = noop
Tue Feb 11 09:58:32 2014 : Debug: ++[logintime] = noop
Tue Feb 11 09:58:32 2014 : Debug: ++[pap] = noop
Tue Feb 11 09:58:32 2014 : Debug: +} # group authorize = ok
Tue Feb 11 09:58:32 2014 : Debug: Found Auth-Type = eap_custom
Tue Feb 11 09:58:32 2014 : Debug: # Executing group from file
/usr/local/etc/raddb/sites-enabled/default
Tue Feb 11 09:58:32 2014 : Debug: +group authenticate {
Tue Feb 11 09:58:32 2014 : Debug: [eap_custom] Request found, released from
the list
Tue Feb 11 09:58:32 2014 : Debug: [eap_custom] Identity does not match
User-Name. Authentication failed.
Tue Feb 11 09:58:32 2014 : Debug: [eap_custom] Failed in handler
Tue Feb 11 09:58:32 2014 : Debug: ++[eap_custom] = invalid
Tue Feb 11 09:58:32 2014 : Debug: +} # group authenticate = invalid
Tue Feb 11 09:58:32 2014 : Debug: Failed to authenticate the user.
Tue Feb 11 09:58:32 2014 : Debug: Using Post-Auth-Type REJECT
Tue Feb 11 09:58:32 2014 : Debug: # Executing group from file
/usr/local/etc/raddb/sites-enabled/default
Tue Feb 11 09:58:32 2014 : Debug: +group REJECT {
Tue Feb 11 09:58:32 2014 : Debug: [attr_filter.access_reject] expand:
%{User-Name} -> jacquegp
Tue Feb 11 09:58:32 2014 : Debug: ++[attr_filter.access_reject] = updated
Tue Feb 11 09:58:32 2014 : Debug: +} # group REJECT = updated
Tue Feb 11 09:58:32 2014 : Debug: Delaying reject of request 556187 for 1
seconds
Tue Feb 11 09:58:33 2014 : Debug: Cleaning up request 556177 ID 92 with
timestamp +1110040
Tue Feb 11 09:58:33 2014 : Debug: Sending delayed reject for request 556187
Tue Feb 11 09:58:33 2014 : Debug: Sending Access-Reject packet to host
172.23.12.254 port 1645, id=102, length=0
Anyone seen this issue before?
Thanks.
5
7
Hello Alan, Arran,
I am in post-crisis analysis so I know why my database had a problem and do not need to debug it.
However I do not understand why the Stop records was failing to write in the detail files. Start records was well written in detail files because it is not send to the database.
I did not change a lot of configuration, do you have any idea on where to search ?
I dot not have an error code for rlm_sql in my logs only the followings:
Wed Feb 5 13:53:07 2014 : Error: rlm_sql (sql): There are no DB handles to use! skipped 0, tried to connect 0
Wed Feb 5 13:53:37 2014 : Error: WARNING: Unresponsive child for request 4700544, in component accounting module sql
Wed Feb 5 13:53:38 2014 : Info: WARNING: Child is hung for request 4700544 in component accounting module sql.
There no logs problem about detail files.
I am not using redundant section. In site-enabled/default I have:
accounting {
detail
radutmp
sql
attr_filter.accounting_response
}
Thanks.
Aurélien Lafranchise
Network Operations Manager
Mob.: +33 (0)6 03 88 36 26
Fax: +33 (0)4 83 33 45 61
eMail: aurelien.lafranchise(a)mobiquithings.com
Web: http://www.mobiquithings.com
Le 11 févr. 2014 à 17:05, freeradius-users-request(a)lists.freeradius.org a écrit :
> De: Alan DeKok <aland(a)deployingradius.com>
> Objet: Rép : Acounting problem with SQL and detail files
> Date: 11 février 2014 16:28:19 UTC+1
> À: FreeRadius users mailing list <freeradius-users(a)lists.freeradius.org>
> Répondre à: FreeRadius users mailing list <freeradius-users(a)lists.freeradius.org>
>
>
> Aurélien Lafranchise wrote:
>> We had a database connection problem (Error: rlm_sql (sql): There are no DB handles to use! skipped 0, tried to connect 0). We were surprised that during this problem the accounting information that cannot be passed to the database was not written in the detail files.
>
> Run the server in debugging mode to see why. You can use "raddebug"
> on a live server.
>
> Also, if there are no DB handles... check the database. It's likely
> broken / slow / whatever.
>
> The default configuration logs to the "detail" file. If you configure
> SQL, the default configuration logs to both SQL and "detail". If one
> fails, it still logs to the other.
>
> So... what changes did you make to the default configuration?
>
> Alan DeKok.
>
>
>
>
> De: Arran Cudbard-Bell <a.cudbardb(a)freeradius.org>
> Objet: Rép : Acounting problem with SQL and detail files
> Date: 11 février 2014 17:05:20 UTC+1
> À: FreeRadius users mailing list <freeradius-users(a)lists.freeradius.org>
> Répondre à: FreeRadius users mailing list <freeradius-users(a)lists.freeradius.org>
>
>
>
> On 11 Feb 2014, at 14:47, Aurélien Lafranchise <aurelien.lafranchise(a)mobiquithings.com> wrote:
>
>> Hi All,
>>
>> We noticed an issue on our FreeRADIUS Version 2.1.12 on a CentOS 6.3 kernel 2.6.32-279.2.1.el6.x86_64.
>>
>> Our FreeRADIUS is connected to a database for the accounting queries. It is also configured to save the same accounting information in the detail files.
>>
>> We had a database connection problem (Error: rlm_sql (sql): There are no DB handles to use! skipped 0, tried to connect 0). We were surprised that during this problem the accounting information that cannot be passed to the database was not written in the detail files.
>
> You were using something like
>
> redundant {
> sql
> detail
> }
>
> Right?
>
> What error code was rlm_sql returning when it had no handles left?
>
> You may want to consider using v3.0.x, the connection pool code, and reconnection logic is a significant improvement over the module specific code in v2.x.x.
>
> -Arran
>
> Arran Cudbard-Bell <a.cudbardb(a)freeradius.org>
> FreeRADIUS Development Team
>
> FD31 3077 42EC 7FCD 32FE 5EE2 56CF 27F9 30A8 CAA2
4
19
Hi Guys
I've done quite alot of research on this and i do not seem to be finding a
solve.
I am trying to achieve users logging via wifi from which ever country they
may be.
I auth them via eap. Check the nas ip, then assign an ip for an ip pool,
that all seems good, however i also require to auth certain realms off a
seperate MS radius.
That radius does a lookup on its ad and auths the users. For the life of me
i cannot get my server to auth against there. I've tried sending mschapv2
but it doesnt seems to be passing to that server. It seems
MS-CHAP-Challenge remains empty through out.
I setup my basic server according to this guide, using the same methord for
certs as the guide says.
http://www.rrfx.net/2011/02/wpa2-enterprise-on-ubuntu-configuring.html
The key line i think is this
Login incorrect (Home Server says so): [robert(a)za.testrealm.net/<no
User-Password attribute>]
I am far from a radius expert, and feel free give me a hard time if i have
made stupid mistakes. Any assistance will be appreciated.
Below is my debug startup, i will send the auth failure shortly.
############################START UP##############################
FreeRADIUS Version 2.1.12, for host i386-redhat-linux-gnu, built on Oct 3
2012 at 01:20:08
Copyright (C) 1999-2009 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 /etc/raddb/radiusd.conf
including configuration file /etc/raddb/proxy.conf
including configuration file /etc/raddb/clients.conf
including files in directory /etc/raddb/modules/
including configuration file /etc/raddb/modules/redis
including configuration file /etc/raddb/modules/dynamic_clients
including configuration file /etc/raddb/modules/perl
including configuration file /etc/raddb/modules/files
including configuration file /etc/raddb/modules/rediswho
including configuration file /etc/raddb/modules/unix
including configuration file /etc/raddb/modules/attr_rewrite
including configuration file /etc/raddb/modules/echo
including configuration file /etc/raddb/modules/always
including configuration file /etc/raddb/modules/otp
including configuration file /etc/raddb/modules/cui
including configuration file /etc/raddb/modules/pap
including configuration file /etc/raddb/modules/digest
including configuration file /etc/raddb/modules/soh
including configuration file /etc/raddb/modules/acct_unique
including configuration file /etc/raddb/modules/inner-eap
including configuration file /etc/raddb/modules/realm
including configuration file /etc/raddb/modules/sradutmp
including configuration file /etc/raddb/modules/etc_group
including configuration file /etc/raddb/modules/detail
including configuration file /etc/raddb/modules/expiration
including configuration file /etc/raddb/modules/ippool
including configuration file /etc/raddb/modules/ntlm_auth
including configuration file /etc/raddb/modules/chap
including configuration file /etc/raddb/modules/smbpasswd
including configuration file /etc/raddb/modules/wimax
including configuration file /etc/raddb/modules/counter
including configuration file /etc/raddb/modules/radutmp
including configuration file /etc/raddb/modules/attr_filter
including configuration file /etc/raddb/modules/expr
including configuration file /etc/raddb/modules/policy
including configuration file /etc/raddb/modules/exec
including configuration file /etc/raddb/modules/mschap
including configuration file /etc/raddb/modules/pam
including configuration file /etc/raddb/modules/detail.log
including configuration file /etc/raddb/modules/mac2ip
including configuration file /etc/raddb/modules/checkval
including configuration file /etc/raddb/modules/logintime
including configuration file /etc/raddb/modules/detail.example.com
including configuration file /etc/raddb/modules/passwd
including configuration file /etc/raddb/modules/smsotp
including configuration file /etc/raddb/modules/sqlcounter_expire_on_login
including configuration file /etc/raddb/modules/opendirectory
including configuration file /etc/raddb/modules/sql_log
including configuration file /etc/raddb/modules/linelog
including configuration file /etc/raddb/modules/mac2vlan
including configuration file /etc/raddb/modules/preprocess
including configuration file /etc/raddb/modules/replicate
including configuration file /etc/raddb/eap.conf
including configuration file /etc/raddb/sql.conf
including configuration file /etc/raddb/sql/postgresql/dialup.conf
including configuration file /etc/raddb/sqlippool.conf
including configuration file /etc/raddb/sql/postgresql/ippool.conf
including configuration file /etc/raddb/policy.conf
including files in directory /etc/raddb/sites-enabled/
including configuration file /etc/raddb/sites-enabled/default
including configuration file /etc/raddb/sites-enabled/control-socket
including configuration file /etc/raddb/sites-enabled/inner-tunnel
including configuration file /etc/raddb/sites-enabled/coa
main {
user = "radiusd"
group = "radiusd"
allow_core_dumps = no
}
including dictionary file /etc/raddb/dictionary
main {
name = "radiusd"
prefix = "/usr"
localstatedir = "/var"
sbindir = "/usr/sbin"
logdir = "/var/log/radius"
run_dir = "/var/run/radiusd"
libdir = "/usr/lib/freeradius"
radacctdir = "/var/log/radius/radacct"
hostname_lookups = no
max_request_time = 30
cleanup_delay = 5
max_requests = 1024
pidfile = "/var/run/radiusd/radiusd.pid"
checkrad = "/usr/sbin/checkrad"
debug_level = 0
proxy_requests = yes
log {
stripped_names = no
auth = yes
auth_badpass = yes
auth_goodpass = no
}
security {
max_attributes = 200
reject_delay = 1
status_server = yes
}
}
radiusd: #### Loading Realms and Home Servers ####
proxy server {
retry_delay = 5
retry_count = 3
default_fallback = no
dead_time = 120
wake_all_if_all_dead = no
}
home_server adserver {
ipaddr = 10.77.82.21
port = 1812
type = "auth"
secret = "xxxxxxxxxxxx"
response_window = 30
max_outstanding = 65536
zombie_period = 40
status_check = "none"
ping_check = "none"
ping_interval = 30
check_interval = 30
num_answers_to_alive = 3
num_pings_to_alive = 3
revive_interval = 300
status_check_timeout = 4
}
home_server localhost {
ipaddr = 127.0.0.1
port = 1812
type = "auth"
secret = "testing123"
response_window = 20
max_outstanding = 65536
require_message_authenticator = yes
zombie_period = 40
status_check = "status-server"
ping_interval = 30
check_interval = 30
num_answers_to_alive = 3
num_pings_to_alive = 3
revive_interval = 120
status_check_timeout = 4
coa {
irt = 2
mrt = 16
mrc = 5
mrd = 30
}
}
home_server_pool my_auth_failover {
type = fail-over
home_server = localhost
}
realm example.com {
auth_pool = my_auth_failover
}
realm LOCAL {
}
home_server_pool ad_auth {
type = fail-over
home_server = adserver
}
realm za.testrealm.net {
auth_pool = ad_auth
nostrip
}
radiusd: #### Loading Clients ####
client 10.53.0.6 {
ipaddr = 10.53.0.6
require_message_authenticator = no
secret = "xxxxxxxxxxxx"
shortname = "howifi"
nastype = "other"
}
client 10.77.95.10 {
ipaddr = 10.77.95.10
require_message_authenticator = no
secret = "xxxxxxxxxxxx"
shortname = "howifi"
nastype = "other"
}
client localhost {
ipaddr = 127.0.0.1
require_message_authenticator = no
secret = "testing123123"
nastype = "other"
}
radiusd: #### Instantiating modules ####
instantiate {
Module: Linked to module rlm_exec
Module: Instantiating module "exec" from file /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 /etc/raddb/modules/expr
Module: Linked to module rlm_expiration
Module: Instantiating module "expiration" from file
/etc/raddb/modules/expiration
expiration {
reply-message = "Password Has Expired "
}
Module: Linked to module rlm_logintime
Module: Instantiating module "logintime" from file
/etc/raddb/modules/logintime
logintime {
reply-message = "You are calling outside your allowed timespan "
minimum-timeout = 60
}
}
radiusd: #### Loading Virtual Servers ####
server { # from file /etc/raddb/radiusd.conf
modules {
Module: Creating Auth-Type = digest
Module: Creating Post-Auth-Type = REJECT
Module: Checking authenticate {...} for more modules to load
Module: Linked to module rlm_mschap
Module: Instantiating module "mschap" from file /etc/raddb/modules/mschap
mschap {
use_mppe = yes
require_encryption = no
require_strong = no
with_ntdomain_hack = no
allow_retry = yes
}
Module: Linked to module rlm_digest
Module: Instantiating module "digest" from file /etc/raddb/modules/digest
Module: Linked to module rlm_eap
Module: Instantiating module "eap" from file /etc/raddb/eap.conf
eap {
default_eap_type = "peap"
timer_expire = 60
ignore_unknown_eap_types = yes
cisco_accounting_username_bug = no
max_sessions = 4096
}
Module: Linked to sub-module rlm_eap_gtc
Module: Instantiating eap-gtc
gtc {
challenge = "Password: "
auth_type = "PAP"
}
Module: Linked to sub-module rlm_eap_tls
Module: Instantiating eap-tls
tls {
rsa_key_exchange = no
dh_key_exchange = yes
rsa_key_length = 512
dh_key_length = 512
verify_depth = 0
CA_path = "/etc/raddb/certs"
pem_file_type = yes
private_key_file = "/etc/raddb/certs/server.key"
certificate_file = "/etc/raddb/certs/server.pem"
dh_file = "/etc/raddb/certs/dh"
random_file = "/etc/raddb/certs/random"
fragment_size = 1024
include_length = yes
check_crl = no
cipher_list = "DEFAULT"
cache {
enable = no
lifetime = 24
max_entries = 255
}
verify {
}
ocsp {
enable = no
override_cert_url = yes
url = "http://127.0.0.1/ocsp/"
}
}
Module: Linked to sub-module rlm_eap_ttls
Module: Instantiating eap-ttls
ttls {
default_eap_type = "mschapv2"
copy_request_to_tunnel = yes
use_tunneled_reply = yes
include_length = yes
}
Module: Linked to sub-module rlm_eap_peap
Module: Instantiating eap-peap
peap {
default_eap_type = "mschapv2"
copy_request_to_tunnel = yes
use_tunneled_reply = yes
proxy_tunneled_request_as_eap = no
virtual_server = "inner-tunnel"
soh = no
}
Module: Linked to sub-module rlm_eap_mschapv2
Module: Instantiating eap-mschapv2
mschapv2 {
with_ntdomain_hack = no
send_error = no
}
Module: Checking authorize {...} for more modules to load
Module: Linked to module rlm_preprocess
Module: Instantiating module "preprocess" from file
/etc/raddb/modules/preprocess
preprocess {
huntgroups = "/etc/raddb/huntgroups"
hints = "/etc/raddb/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
}
Module: Linked to module rlm_detail
Module: Instantiating module "auth_log" from file
/etc/raddb/modules/detail.log
detail auth_log {
detailfile =
"/var/log/radius/radacct/%{Client-IP-Address}/auth-detail-%Y%m%d"
header = "%t"
detailperm = 384
dirperm = 493
locking = no
log_packet_header = no
}
Module: Linked to module rlm_realm
Module: Instantiating module "suffix" from file /etc/raddb/modules/realm
realm suffix {
format = "suffix"
delimiter = "@"
ignore_default = no
ignore_null = no
}
Module: Linked to module rlm_sql
Module: Instantiating module "sql" from file /etc/raddb/sql.conf
sql {
driver = "rlm_sql_postgresql"
server = "127.0.0.1"
port = ""
login = "radius"
password = "R@d1u5S3cur3P@ss!"
radius_db = "radius"
read_groups = yes
sqltrace = yes
sqltracefile = "/var/log/radius/sqltrace.sql"
readclients = yes
deletestalesessions = yes
num_sql_socks = 5
lifetime = 0
max_queries = 0
sql_user_name = "%{User-Name}"
default_user_profile = ""
nas_query = "SELECT id, nasname, shortname, type, secret, server FROM
nas"
authorize_check_query = "SELECT radcheck.id, radcheck.UserName,
radcheck.Attribute, radcheck.Value, radcheck.Op FROM radcheck inner
join users on radcheck.username = users.strusername WHERE Username =
'%{SQL-User-Name}' AND (users.imballowed + users.imbadded) >
users.imbused AND users.dtExpire > now() ORDER BY radcheck.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,
op FROM radgroupcheck WHERE GroupName = '%{Sql-Group}' ORDER BY id"
authorize_group_reply_query = "SELECT id, GroupName, Attribute, Value,
op FROM radgroupreply WHERE GroupName = '%{Sql-Group}' ORDER BY id"
accounting_onoff_query = "UPDATE radacct SET AcctStopTime =
('%S'::timestamp - '%{%{Acct-Delay-Time}:-0}'::interval), AcctSessionTime
= (EXTRACT(EPOCH FROM ('%S'::timestamp with time zone -
AcctStartTime::timestamp with time zone -
'%{%{Acct-Delay-Time}:-0}'::interval)))::BIGINT, AcctTerminateCause =
'%{Acct-Terminate-Cause}', AcctStopDelay = 0 WHERE AcctStopTime IS
NULL AND NASIPAddress= '%{NAS-IP-Address}' AND AcctStartTime <=
'%S'::timestamp"
accounting_update_query = "UPDATE radacct SET FramedIPAddress =
NULLIF('%{Framed-IP-Address}', '')::inet, AcctSessionTime =
'%{Acct-Session-Time}', AcctInputOctets =
(('%{%{Acct-Input-Gigawords}:-0}'::bigint << 32) +
'%{%{Acct-Input-Octets}:-0}'::bigint), AcctOutputOctets =
(('%{%{Acct-Output-Gigawords}:-0}'::bigint << 32) +
'%{%{Acct-Output-Octets}:-0}'::bigint) WHERE AcctSessionId =
'%{Acct-Session-Id}' AND UserName = '%{SQL-User-Name}' AND NASIPAddress=
'%{NAS-IP-Address}' AND AcctStopTime IS NULL"
accounting_update_query_alt = "INSERT INTO radacct (AcctSessionId,
AcctUniqueId, UserName, Realm, NASIPAddress, NASPortId, NASPortType,
AcctStartTime, AcctSessionTime, AcctAuthentic, AcctInputOctets,
AcctOutputOctets, CalledStationId, CallingStationId, ServiceType,
FramedProtocol, FramedIPAddress, XAscendSessionSvrKey)
VALUES('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}',
'%{SQL-User-Name}', NULLIF('%{Realm}', ''), '%{NAS-IP-Address}',
%{%{NAS-Port}:-NULL}, '%{NAS-Port-Type}', ('%S'::timestamp -
'%{%{Acct-Delay-Time}:-0}'::interval -
'%{%{Acct-Session-Time}:-0}'::interval), '%{Acct-Session-Time}',
'%{Acct-Authentic}', (('%{%{Acct-Input-Gigawords}:-0}'::bigint << 32) +
'%{%{Acct-Input-Octets}:-0}'::bigint),
(('%{%{Acct-Output-Gigawords}:-0}'::bigint << 32) +
'%{%{Acct-Output-Octets}:-0}'::bigint), '%{Called-Station-Id}',
'%{Calling-Station-Id}', '%{Service-Type}', '%{Framed-Protocol}',
NULLIF('%{Framed-IP-Address}', '')::inet, '%{X-Ascend-Session-Svr-Key}')"
accounting_start_query = "INSERT INTO radacct (AcctSessionId,
AcctUniqueId, UserName, Realm, NASIPAddress, NASPortId, NASPortType,
AcctStartTime, AcctAuthentic, ConnectInfo_start, CalledStationId,
CallingStationId, ServiceType, FramedProtocol, FramedIPAddress,
AcctStartDelay, XAscendSessionSvrKey) VALUES('%{Acct-Session-Id}',
'%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', NULLIF('%{Realm}',
''), '%{NAS-IP-Address}', %{%{NAS-Port}:-NULL}, '%{NAS-Port-Type}',
('%S'::timestamp - '%{%{Acct-Delay-Time}:-0}'::interval),
'%{Acct-Authentic}', '%{Connect-Info}', '%{Called-Station-Id}',
'%{Calling-Station-Id}', '%{Service-Type}', '%{Framed-Protocol}',
NULLIF('%{Framed-IP-Address}', '')::inet, 0,
'%{X-Ascend-Session-Svr-Key}')"
accounting_start_query_alt = "UPDATE radacct SET AcctStartTime =
('%S'::timestamp - '%{%{Acct-Delay-Time}:-0}'::interval), AcctStartDelay
= 0, ConnectInfo_start = '%{Connect-Info}' WHERE AcctSessionId =
'%{Acct-Session-Id}' AND UserName = '%{SQL-User-Name}' AND NASIPAddress
= '%{NAS-IP-Address}' AND AcctStopTime IS NULL"
accounting_stop_query = "UPDATE radacct SET AcctStopTime =
('%S'::timestamp - '%{%{Acct-Delay-Time}:-0}'::interval), AcctSessionTime
= CASE WHEN '%{Acct-Session-Time}' = '' THEN (EXTRACT(EPOCH FROM
('%S'::TIMESTAMP WITH TIME ZONE - AcctStartTime::TIMESTAMP WITH TIME ZONE
- '%{%{Acct-Delay-Time}:-0}'::INTERVAL)))::BIGINT ELSE
NULLIF('%{Acct-Session-Time}','')::BIGINT END, AcctInputOctets =
(('%{%{Acct-Input-Gigawords}:-0}'::bigint << 32) +
'%{%{Acct-Input-Octets}:-0}'::bigint), AcctOutputOctets =
(('%{%{Acct-Output-Gigawords}:-0}'::bigint << 32) +
'%{%{Acct-Output-Octets}:-0}'::bigint), AcctTerminateCause =
'%{Acct-Terminate-Cause}', AcctStopDelay = 0, FramedIPAddress =
NULLIF('%{Framed-IP-Address}', '')::inet, ConnectInfo_stop =
'%{Connect-Info}' WHERE AcctSessionId = '%{Acct-Session-Id}' AND
UserName = '%{SQL-User-Name}' AND NASIPAddress = '%{NAS-IP-Address}'
AND AcctStopTime IS NULL"
accounting_stop_query_alt = "INSERT INTO radacct (AcctSessionId,
AcctUniqueId, UserName, Realm, NASIPAddress, NASPortId, NASPortType,
AcctStartTime, AcctStopTime, AcctSessionTime, AcctAuthentic,
ConnectInfo_stop, AcctInputOctets, AcctOutputOctets, CalledStationId,
CallingStationId, AcctTerminateCause, ServiceType, FramedProtocol,
FramedIPAddress, AcctStopDelay) values('%{Acct-Session-Id}',
'%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', NULLIF('%{Realm}',
''), '%{NAS-IP-Address}', %{%{NAS-Port}:-NULL}, '%{NAS-Port-Type}',
('%S'::timestamp - '%{%{Acct-Delay-Time}:-0}'::interval -
'%{%{Acct-Session-Time}:-0}'::interval), ('%S'::timestamp -
'%{%{Acct-Delay-Time}:-0}'::interval), NULLIF('%{Acct-Session-Time}',
'')::bigint, '%{Acct-Authentic}', '%{Connect-Info}',
(('%{%{Acct-Input-Gigawords}:-0}'::bigint << 32) +
'%{%{Acct-Input-Octets}:-0}'::bigint),
(('%{%{Acct-Output-Gigawords}:-0}'::bigint << 32) +
'%{%{Acct-Output-Octets}:-0}'::bigint), '%{Called-Station-Id}',
'%{Calling-Station-Id}', '%{Acct-Terminate-Cause}',
'%{Service-Type}', '%{Framed-Protocol}', NULLIF('%{Framed-IP-Address}',
'')::inet, 0)"
group_membership_query = "SELECT GroupName FROM radhuntgroup WHERE
nasipaddress='%{NAS-IP-Address}'"
connect_failure_retry_delay = 60
simul_count_query = ""
simul_verify_query = ""
postauth_query = "INSERT INTO radpostauth (username, pass, reply,
authdate) VALUES ('%{User-Name}', '%{%{User-Password}:-Chap-Password}',
'%{reply:Packet-Type}', NOW())"
safe-characters =
"@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /"
}
rlm_sql (sql): Driver rlm_sql_postgresql (module rlm_sql_postgresql) loaded
and linked
rlm_sql (sql): Attempting to connect to radius@127.0.0.1:/radius
rlm_sql (sql): starting 0
rlm_sql (sql): Attempting to connect rlm_sql_postgresql #0
rlm_sql (sql): Connected new DB handle, #0
rlm_sql (sql): starting 1
rlm_sql (sql): Attempting to connect rlm_sql_postgresql #1
rlm_sql (sql): Connected new DB handle, #1
rlm_sql (sql): starting 2
rlm_sql (sql): Attempting to connect rlm_sql_postgresql #2
rlm_sql (sql): Connected new DB handle, #2
rlm_sql (sql): starting 3
rlm_sql (sql): Attempting to connect rlm_sql_postgresql #3
rlm_sql (sql): Connected new DB handle, #3
rlm_sql (sql): starting 4
rlm_sql (sql): Attempting to connect rlm_sql_postgresql #4
rlm_sql (sql): Connected new DB handle, #4
rlm_sql (sql): Processing generate_sql_clients
rlm_sql (sql) in generate_sql_clients: query is SELECT id, nasname,
shortname, type, secret, server FROM nas
rlm_sql (sql): Reserving sql socket id: 4
rlm_sql_postgresql: query: SELECT id, nasname, shortname, type, secret,
server FROM nas
rlm_sql_postgresql: Status: PGRES_TUPLES_OK
rlm_sql_postgresql: query affected rows = 0 , fields = 6
rlm_sql (sql): Released sql socket id: 4
Module: Checking preacct {...} for more modules to load
Module: Linked to module rlm_acct_unique
Module: Instantiating module "acct_unique" from file
/etc/raddb/modules/acct_unique
acct_unique {
key = "User-Name, Acct-Session-Id, NAS-IP-Address, Client-IP-Address,
NAS-Port"
}
Module: Linked to module rlm_files
Module: Instantiating module "files" from file /etc/raddb/modules/files
files {
usersfile = "/etc/raddb/users"
acctusersfile = "/etc/raddb/acct_users"
preproxy_usersfile = "/etc/raddb/preproxy_users"
compat = "no"
}
Module: Checking accounting {...} for more modules to load
Module: Instantiating module "detail" from file /etc/raddb/modules/detail
detail {
detailfile =
"/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d"
header = "%t"
detailperm = 384
dirperm = 493
locking = no
log_packet_header = no
}
Module: Linked to module rlm_unix
Module: Instantiating module "unix" from file /etc/raddb/modules/unix
unix {
radwtmp = "/var/log/radius/radwtmp"
}
Module: Linked to module rlm_radutmp
Module: Instantiating module "radutmp" from file /etc/raddb/modules/radutmp
radutmp {
filename = "/var/log/radius/radutmp"
username = "%{User-Name}"
case_sensitive = yes
check_with_nas = yes
perm = 384
callerid = yes
}
Module: Linked to module rlm_attr_filter
Module: Instantiating module "attr_filter.accounting_response" from file
/etc/raddb/modules/attr_filter
attr_filter attr_filter.accounting_response {
attrsfile = "/etc/raddb/attrs.accounting_response"
key = "%{User-Name}"
relaxed = no
}
Module: Checking session {...} for more modules to load
Module: Checking pre-proxy {...} for more modules to load
Module: Instantiating module "attr_filter.pre-proxy" from file
/etc/raddb/modules/attr_filter
attr_filter attr_filter.pre-proxy {
attrsfile = "/etc/raddb/attrs.pre-proxy"
key = "%{Realm}"
relaxed = no
}
Module: Checking post-proxy {...} for more modules to load
Module: Checking post-auth {...} for more modules to load
Module: Linked to module rlm_sqlippool
Module: Instantiating module "sqlippool" from file
/etc/raddb/sqlippool.conf
sqlippool {
sql-instance-name = "sql"
lease-duration = 18000
pool-name = ""
allocate-begin = "START TRANSACTION"
allocate-clear = "UPDATE radippool SET nasipaddress = '', pool_key =
0, callingstationid = '', expiry_time = 'now'::timestamp(0) - '1
second'::interval WHERE nasipaddress = '%{NAS-IP-Address}' AND pool_key
= '%{NAS-Port}'"
allocate-find = "SELECT framedipaddress FROM radippool WHERE
pool_name = '%{control:Pool-Name}' AND expiry_time < 'now'::timestamp(0)
ORDER BY (username <> '%{SQL-User-Name}'), (callingstationid <>
'%{Calling-Station-Id}'), expiry_time LIMIT 1 FOR UPDATE"
allocate-update = "UPDATE radippool SET nasipaddress =
'%{NAS-IP-Address}', pool_key = '%{NAS-Port}', callingstationid =
'%{Calling-Station-Id}', username = '%{SQL-User-Name}', expiry_time =
'now'::timestamp(0) + '18000 second'::interval WHERE framedipaddress =
'%I'"
allocate-commit = "COMMIT"
allocate-rollback = "ROLLBACK"
pool-check = "SELECT id FROM radippool WHERE
pool_name='%{control:Pool-Name}' LIMIT 1"
start-begin = "START TRANSACTION"
start-update = "UPDATE radippool SET expiry_time =
'now'::timestamp(0) + '18000 second'::interval WHERE nasipaddress =
'%{NAS-IP-Address}' AND pool_key = '%{NAS-Port}'"
start-commit = "COMMIT"
start-rollback = "ROLLBACK"
alive-begin = "START TRANSACTION"
alive-update = "UPDATE radippool SET expiry_time =
'now'::timestamp(0) + '18000 seconds'::interval WHERE nasipaddress =
'%{Nas-IP-Address}' AND pool_key = '%{NAS-Port}' AND framedipaddress =
'%{Framed-IP-Address}' AND username = '%{SQL-User-Name}' AND
callingstationid = '%{Calling-Station-Id}'"
alive-commit = "COMMIT"
alive-rollback = "ROLLBACK"
stop-begin = "START TRANSACTION"
stop-clear = "UPDATE radippool SET nasipaddress = '', pool_key = 0,
callingstationid = '', expiry_time = 'now'::timestamp(0) - '1
second'::interval WHERE nasipaddress = '%{Nas-IP-Address}' AND pool_key
= '%{NAS-Port}' AND username = '%{SQL-User-Name}' AND callingstationid
= '%{Calling-Station-Id}' AND framedipaddress = '%{Framed-IP-Address}'"
stop-commit = "COMMIT"
stop-rollback = "ROLLBACK"
on-begin = "START TRANSACTION"
on-clear = "UPDATE radippool SET nasipaddress = '', pool_key = 0,
callingstationid = '', expiry_time = 'now'::timestamp(0) - '1
second'::interval WHERE nasipaddress = '%{Nas-IP-Address}'"
on-commit = "COMMIT"
on-rollback = "ROLLBACK"
off-begin = "START TRANSACTION"
off-clear = "UPDATE radippool SET nasipaddress = '', pool_key = 0,
callingstationid = '', expiry_time = 'now'::timestamp(0) - '1
second'::interval WHERE nasipaddress = '%{Nas-IP-Address}'"
off-commit = "COMMIT"
off-rollback = "ROLLBACK"
sqlippool_log_exists = "Existing IP: %{reply:Framed-IP-Address} (did
%{Called-Station-Id} cli %{Calling-Station-Id} port %{NAS-Port} user
%{User-Name})"
sqlippool_log_success = "Allocated IP: %{reply:Framed-IP-Address} from
%{control:Pool-Name} (did %{Called-Station-Id} cli %{Calling-Station-Id}
port %{NAS-Port} user %{User-Name})"
sqlippool_log_clear = "Released IP %{Framed-IP-Address} (did
%{Called-Station-Id} cli %{Calling-Station-Id} user %{User-Name})"
sqlippool_log_failed = "IP Allocation FAILED from
%{control:Pool-Name} (did %{Called-Station-Id} cli %{Calling-Station-Id}
port %{NAS-Port} user %{User-Name})"
sqlippool_log_nopool = "No Pool-Name defined (did
%{Called-Station-Id} cli %{Calling-Station-Id} port %{NAS-Port} user
%{User-Name})"
defaultpool = "main_pool"
}
Module: Instantiating module "attr_filter.access_reject" from file
/etc/raddb/modules/attr_filter
attr_filter attr_filter.access_reject {
attrsfile = "/etc/raddb/attrs.access_reject"
key = "%{User-Name}"
relaxed = no
}
} # modules
} # server
server inner-tunnel { # from file /etc/raddb/sites-enabled/inner-tunnel
modules {
Module: Checking authenticate {...} for more modules to load
Module: Checking authorize {...} for more modules to load
Module: Instantiating module "ntdomain" from file /etc/raddb/modules/realm
realm ntdomain {
format = "prefix"
delimiter = "\"
ignore_default = no
ignore_null = no
}
Module: Checking session {...} for more modules to load
Module: Checking pre-proxy {...} for more modules to load
Module: Instantiating module "pre_proxy_log" from file
/etc/raddb/modules/detail.log
detail pre_proxy_log {
detailfile =
"/var/log/radius/radacct/%{Client-IP-Address}/pre-proxy-detail-%Y%m%d"
header = "%t"
detailperm = 384
dirperm = 493
locking = no
log_packet_header = no
}
Module: Checking post-proxy {...} for more modules to load
Module: Checking post-auth {...} for more modules to load
} # modules
} # server
server coa { # from file /etc/raddb/sites-enabled/coa
modules {
Module: Checking recv-coa {...} for more modules to load
Module: Linked to module rlm_always
Module: Instantiating module "ok" from file /etc/raddb/modules/always
always ok {
rcode = "ok"
simulcount = 0
mpp = no
}
Module: Checking send-coa {...} for more modules to load
} # modules
} # server
radiusd: #### Opening IP addresses and Ports ####
listen {
type = "auth"
ipaddr = *
port = 0
}
listen {
type = "acct"
ipaddr = *
port = 0
}
listen {
type = "control"
listen {
socket = "/var/run/radiusd/radiusd.sock"
}
}
listen {
type = "coa"
server = "coa"
ipaddr = *
port = 3799
}
... adding new socket proxy address * port 50826
... adding new socket proxy address * port 59775
Listening on authentication address * port 1812
Listening on accounting address * port 1813
Listening on command file /var/run/radiusd/radiusd.sock
Listening on coa address * port 3799 as server coa
Listening on proxy address * port 1814
Ready to process requests.
2
2