Creation of User Accounts and Certificates
Hi, We want to know how to create EAP-TTLS User Accounts and Accounts specific Certificates in Free-Radius. As of now we have only created PAP Accounts. Mihir V Patankar
raddb/certs/README Ivan Kalik Kalik Informatika ISP Dana 9/1/2009, "mihir patankar" <mihir.patankar@tatacommunications.com> piše:
Hi,
We want to know how to create EAP-TTLS User Accounts and Accounts specific Certificates in Free-Radius. As of now we have only created PAP Accounts.
Mihir V Patankar
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
mihir patankar wrote:
We want to know how to create EAP-TTLS User Accounts and Accounts specific Certificates in Free-Radius. As of now we have only created PAP Accounts.
TTLS doesn't use account-specific certificates. For user accounts, TTLS will use the same methods as for PAP accounts. i.e. there's almost nothing you need to do. Alan DeKok.
Hi! Yesterday i upgrade my freeradius from version 2.0.4 to 2.1.3 and still using the same configuration files but when i start the server with the new version it dont reply the attributes there are in radreply. In debug mode i saw that freeradius search in sql for these attributes but don`t put it in the response. Any help is welcome.. Tks.
Yesterday i upgrade my freeradius from version 2.0.4 to 2.1.3 and still using the same configuration files but when i start the server with the new version it dont reply the attributes there are in radreply. In debug mode i saw that freeradius search in sql for these attributes but don`t put it in the response.
Do we get to see the debug? Ivan Kalik Kalik Informatika ISP
Here is the debug, thak you for attention. FreeRADIUS Version 2.1.3, for host x86_64-unknown-linux-gnu, built on Jan 9 2009 at 00:51:50 Copyright (C) 1999-2008 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/clients.conf including configuration file /usr/local/etc/raddb/sql.conf including configuration file /usr/local/etc/raddb/sql/oracle/dialup.conf including configuration file /usr/local/etc/raddb/sqlippool.conf including configuration file /usr/local/etc/raddb/sql/oracle/ippool.conf including files in directory /usr/local/etc/raddb/sites-enabled/ including configuration file /usr/local/etc/raddb/sites-enabled/default including dictionary file /usr/local/etc/raddb/dictionary main { prefix = "/usr/local" localstatedir = "/usr/local/var" logdir = "/usr/local/var/log/radius" libdir = "/usr/local/lib" radacctdir = "/usr/local/var/log/radius/radacct" hostname_lookups = no max_request_time = 30 cleanup_delay = 8 max_requests = 3000 allow_core_dumps = no pidfile = "/usr/local/var/run/radiusd/radiusd.pid" checkrad = "/usr/local/sbin/checkrad" debug_level = 0 proxy_requests = yes log { stripped_names = no auth = no auth_badpass = no auth_goodpass = no } log_auth = yes log_auth_badpass = yes log_auth_goodpass = no log_stripped_names = no security { max_attributes = 200 reject_delay = 1 status_server = yes } } client 127.0.0.1 { require_message_authenticator = no secret = "testing123" shortname = "localhost" nastype = "other" } client XXXXXXX { require_message_authenticator = no secret = "testing123" shortname = "Radius1" nastype = "other" } client XXXXXXX { require_message_authenticator = no secret = "teste123" shortname = "ERX-1" nastype = "other" } client XXXXXXX { require_message_authenticator = no secret = "teste123" shortname = "ERX-2" nastype = "other" } client XXXXXXX { require_message_authenticator = no secret = "teste123" shortname = "ERX-3" nastype = "other" } client XXXXXXX { require_message_authenticator = no secret = "egr123" shortname = "NAGIOS" nastype = "other" } 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 localhost { ipaddr = 127.0.0.1 port = 1812 type = "auth" secret = "testing123" response_window = 20 max_outstanding = 65536 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 } home_server_pool my_auth_failover { type = fail-over home_server = localhost } realm example.com { auth_pool = my_auth_failover } home_server sercomtel2 { ipaddr = XXXXXXXXXXx port = 1812 type = "auth+acct" secret = "testeibs1" response_window = 20 max_outstanding = 65536 zombie_period = 40 status_check = "request" ping_interval = 30 check_interval = 30 num_answers_to_alive = 3 num_pings_to_alive = 3 revive_interval = 120 status_check_timeout = 4 username = "test_user_please_reject_me" password = "this is really secret" } home_server sercomtel1 { ipaddr = XXXXXXXXXXXXx port = 1812 type = "auth+acct" secret = "testeixxxx" response_window = 20 max_outstanding = 65536 zombie_period = 40 status_check = "request" ping_interval = 30 check_interval = 30 num_answers_to_alive = 3 num_pings_to_alive = 3 revive_interval = 120 status_check_timeout = 4 username = "test_user_please_reject_me" password = "this is really secret" } home_server sercomtel3 { ipaddr = 127.0.0.1 port = 10001 type = "auth" secret = "testing123" response_window = 20 max_outstanding = 65536 zombie_period = 40 status_check = "request" ping_interval = 30 check_interval = 30 num_answers_to_alive = 3 num_pings_to_alive = 3 revive_interval = 120 status_check_timeout = 4 username = "test_user_please_reject_me" password = "this is really secret" } home_server_pool pool_sercomtel_auth { type = fail-over home_server = sercomtel2 home_server = sercomtel1 home_server = sercomtel3 } home_server_pool pool_sercomtel_acct { type = fail-over home_server = sercomtel2 home_server = sercomtel1 } realm sercomtel.com.br { auth_pool = pool_sercomtel_auth acct_pool = pool_sercomtel_acct } home_server creapr2 { ipaddr = 18xxxxx port = 1812 type = "auth+acct" secret = "sxxxxxx" response_window = 20 max_outstanding = 65536 zombie_period = 40 status_check = "request" ping_interval = 30 check_interval = 30 num_answers_to_alive = 3 num_pings_to_alive = 3 revive_interval = 120 status_check_timeout = 4 username = "test_user_please_reject_me" password = "this is really secret" } home_server_pool pool_creapr { type = fail-over home_server = creapr2 } realm creapr.org.br { pool = pool_creapr } home_server ldapalm { ipaddr = 200xxxxxxxx port = 1812 type = "auth+acct" secret = "sxxxxx" response_window = 20 max_outstanding = 65536 zombie_period = 40 status_check = "request" ping_interval = 30 check_interval = 30 num_answers_to_alive = 3 num_pings_to_alive = 3 revive_interval = 120 status_check_timeout = 4 username = "test_user_please_reject_me" password = "this is really secret" } home_server_pool pool_ldapalm { type = fail-over home_server = ldapalm } realm ldapalm.com.br { pool = pool_ldapalm } home_server onda { ipaddr = 200xxxxxxxxxxx port = 1645 type = "auth+acct" secret = "txxxxx" response_window = 20 max_outstanding = 65536 zombie_period = 40 status_check = "request" ping_interval = 30 check_interval = 30 num_answers_to_alive = 3 num_pings_to_alive = 3 revive_interval = 120 status_check_timeout = 4 username = "test_user_please_reject_me" password = "this is really secret" } home_server_pool pool_onda { type = fail-over home_server = onda } realm onda.com.br { pool = pool_onda } home_server uol_aut { ipaddr = 20xxxxxxx port = 1645 type = "auth" secret = "xxxxxx" response_window = 20 max_outstanding = 65536 zombie_period = 40 status_check = "request" ping_interval = 30 check_interval = 30 num_answers_to_alive = 3 num_pings_to_alive = 3 revive_interval = 120 status_check_timeout = 4 username = "test_user_please_reject_me" password = "this is really secret" } home_server_pool pool_uol_aut { type = fail-over home_server = uol_aut } home_server uol_acct { ipaddr = 2xxxxxx port = 1646 type = "acct" secret = "xxxxx" response_window = 20 max_outstanding = 65536 zombie_period = 40 status_check = "request" ping_interval = 30 check_interval = 30 num_answers_to_alive = 3 num_pings_to_alive = 3 revive_interval = 120 status_check_timeout = 4 username = "test_user_please_reject_me" password = "this is really secret" } home_server_pool pool_uol_acct { type = fail-over home_server = uol_acct } realm uol.com.br { auth_pool = pool_uol_aut acct_pool = pool_uol_acct } realm LOCAL { } radiusd: #### Instantiating modules #### instantiate { Module: Linked to module rlm_exec Module: Instantiating exec exec { wait = yes input_pairs = "request" shell_escape = yes } Module: Linked to module rlm_expr Module: Instantiating expr Module: Linked to module rlm_expiration Module: Instantiating expiration expiration { reply-message = "Password Has Expired " } Module: Linked to module rlm_logintime Module: Instantiating logintime logintime { reply-message = "You are calling outside your allowed timespan " minimum-timeout = 60 } } radiusd: #### Loading Virtual Servers #### server { modules { Module: Checking authenticate {...} for more modules to load Module: Linked to module rlm_pap Module: Instantiating pap pap { encryption_scheme = "auto" auto_header = no } Module: Linked to module rlm_chap Module: Instantiating chap Module: Linked to module rlm_mschap Module: Instantiating mschap mschap { use_mppe = yes require_encryption = no require_strong = no with_ntdomain_hack = no } Module: Checking authorize {...} for more modules to load Module: Linked to module rlm_preprocess Module: Instantiating 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 } Module: Linked to module rlm_detail Module: Instantiating auth_log detail auth_log { detailfile = "/usr/local/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 suffix realm suffix { format = "suffix" delimiter = "@" ignore_default = no ignore_null = no } Module: Linked to module rlm_files Module: Instantiating 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" } Module: Linked to module rlm_sql Module: Instantiating sql sql { driver = "rlm_sql_oracle" server = "192.xxxxxxxx" port = "" login = "rxxxxxxxxxxxx" password = "xxxxxx" radius_db = "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=1xxxxx)(PORT=1521))(CONNECT_DATA=(SID=xxxxx)))" read_groups = no sqltrace = no sqltracefile = "/usr/local/var/log/radius/sqltrace.sql" readclients = no deletestalesessions = yes num_sql_socks = 40 sql_user_name = "%{User-Name}" default_user_profile = "" nas_query = "SELECT id,nasname,shortname,type,secret FROM nas" authorize_check_query = "SELECT id,UserName,Attribute,Value,op FROM radcheck WHERE Username = '%{SQL-User-Name}' AND CDSITI = 1 AND STPGOPER = 'S' AND (STBLOQUEIO = 'N' or STBLOQUEIO = 'bloqueio_smtp') 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 radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupcheck.Value,radgroupcheck.op FROM radgroupcheck,radusergroup WHERE radusergroup.Username = '%{SQL-User-Name}' AND radusergroup.GroupName = radgroupcheck.GroupName ORDER BY radgroupcheck.id" authorize_group_reply_query = "SELECT radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgroupreply.Value,radgroupreply.op FROM radgroupreply,radusergroup WHERE radusergroup.Username = '%{SQL-User-Name}' AND radusergroup.GroupName = radgroupreply.GroupName ORDER BY radgroupreply.id" accounting_onoff_query = "UPDATE radacct SET AcctStopTime=TO_DATE('%S','yyyy-mm-dd hh24:mi:ss'), AcctSessionTime=((TO_DATE('%S','yyyy-mm-dd hh24:mi:ss') - AcctStartTime)*86400), AcctTerminateCause='%{Acct-Terminate-Cause}', AcctStopDelay = %{Acct-Delay-Time:-0} WHERE AcctSessionTime=0 AND AcctStopTime IS NULL AND NASIPAddress = '%{NAS-IP-Address}' AND AcctStartTime <= TO_DATE('%S','yyyy-mm-dd hh24:mi:ss')" accounting_update_query = "UPDATE radacct SET FramedIPAddress = NULLIF('%{Framed-IP-Address}', ''), AcctSessionTime = '%{Acct-Session-Time}', AcctInputOctets = '%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets}:-0}', AcctOutputOctets = '%{%{Acct-Output-Gigawords}:-0}' << 32 | '%{%{Acct-Output-Octets}:-0}' 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 (RadAcctId, AcctSessionId, AcctUniqueId, UserName, Realm, NASIPAddress, NASPortId, NASPortType, AcctStartTime, AcctSessionTime, AcctAuthentic, ConnectInfo_start, AcctInputOctets, AcctOutputOctets, CalledStationId, CallingStationId, ServiceType, FramedProtocol, FramedIPAddress, AcctStartDelay, XAscendSessionSvrKey) VALUES('', '%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port-Id}', '%{NAS-Port-Type}', NULL, '%{Acct-Session-Time}', '%{Acct-Authentic}', '', '%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets}:-0}', '%{%{Acct-Output-Gigawords}:-0}' << 32 | '%{%{Acct-Output-Octets}:-0}', '%{Called-Station-Id}', '%{Calling-Station-Id}', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}', '0', '%{X-Ascend-Session-Svr-Key}')" accounting_start_query = "INSERT into radacct (RadAcctId, AcctSessionId, AcctUniqueId, UserName, Realm, NASIPAddress, NASPortId, NASPortType, AcctStartTime, AcctStopTime, AcctSessionTime, AcctAuthentic, ConnectInfo_start, ConnectInfo_stop, AcctInputOctets, AcctOutputOctets, CalledStationId, CallingStationId, AcctTerminateCause, ServiceType, FramedProtocol, FramedIPAddress, AcctStartDelay, AcctStopDelay, XAscendSessionSvrKey) VALUES('', '%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port-Id}', '%{NAS-Port-Type}', TO_DATE('%S','yyyy-mm-dd hh24:mi:ss'), NULL, '0', '%{Acct-Authentic}', '%{Connect-Info}', '', '0', '0', '%{Called-Station-Id}', '%{Calling-Station-Id}', '', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}', '%{Acct-Delay-Time}', '0', '%{X-Ascend-Session-Svr-Key}')" accounting_start_query_alt = "UPDATE radacct SET AcctStartTime = TO_DATE('%S','yyyy-mm-dd hh24:mi:ss'), AcctStartDelay = '%{Acct-Delay-Time:-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 = TO_DATE('%S','yyyy-mm-dd hh24:mi:ss'), AcctSessionTime = '%{Acct-Session-Time}', AcctInputOctets = '%{Acct-Input-Octets}', AcctOutputOctets = '%{Acct-Output-Octets}', AcctTerminateCause = '%{Acct-Terminate-Cause}', AcctStopDelay = '%{Acct-Delay-Time:-0}', 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 (RadAcctId, AcctSessionId, AcctUniqueId, UserName, Realm, NASIPAddress, NASPortId, NASPortType, AcctStartTime, AcctStopTime, AcctSessionTime, AcctAuthentic, ConnectInfo_start, ConnectInfo_stop, AcctInputOctets, AcctOutputOctets, CalledStationId, CallingStationId, AcctTerminateCause, ServiceType, FramedProtocol, FramedIPAddress, AcctStartDelay, AcctStopDelay) values('', '%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port-Id}', '%{NAS-Port-Type}', NULL, TO_DATE('%S','yyyy-mm-dd hh24:mi:ss'), '%{Acct-Session-Time}', '%{Acct-Authentic}', '', '%{Connect-Info}', '%{Acct-Input-Octets}', '%{Acct-Output-Octets}', '%{Called-Station-Id}', '%{Calling-Station-Id}', '%{Acct-Terminate-Cause}', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}', '0', '%{Acct-Delay-Time:-0}')" group_membership_query = "SELECT GroupName FROM radusergroup WHERE UserName='%{SQL-User-Name}'" connect_failure_retry_delay = 60 simul_count_query = "" simul_verify_query = "SELECT RadAcctId, AcctSessionId, UserName, NASIPAddress, NASPortId, FramedIPAddress, CallingStationId, FramedProtocol FROM radacct WHERE UserName='%{SQL-User-Name}' AND AcctStopTime IS NULL" postauth_query = "INSERT INTO radpostauth (username, pass, reply, authdate) VALUES ('%{User-Name}', '%{User-Password:-Chap-Password}', '%{reply:Packet-Type}', current_timestamp)" safe-characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /" } rlm_sql (sql): Driver rlm_sql_oracle (module rlm_sql_oracle) loaded and linked rlm_sql (sql): Attempting to connect to radius@19xxxxxxxxxx:/(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192)(PORT=1521))(CONNECT_DATA=(SID=radius))) rlm_sql (sql): starting 0 rlm_sql (sql): Attempting to connect rlm_sql_oracle #0 rlm_sql (sql): Connected new DB handle, #0 rlm_sql (sql): starting 1 rlm_sql (sql): Attempting to connect rlm_sql_oracle #1 rlm_sql (sql): Connected new DB handle, #1 rlm_sql (sql): starting 2 rlm_sql (sql): Attempting to connect rlm_sql_oracle #2 rlm_sql (sql): Connected new DB handle, #2 rlm_sql (sql): starting 3 rlm_sql (sql): Attempting to connect rlm_sql_oracle #3 rlm_sql (sql): Connected new DB handle, #3 rlm_sql (sql): starting 4 rlm_sql (sql): Attempting to connect rlm_sql_oracle #4 rlm_sql (sql): Connected new DB handle, #4 rlm_sql (sql): starting 5 rlm_sql (sql): Attempting to connect rlm_sql_oracle #5 rlm_sql (sql): Connected new DB handle, #5 rlm_sql (sql): starting 6 rlm_sql (sql): Attempting to connect rlm_sql_oracle #6 rlm_sql (sql): Connected new DB handle, #6 rlm_sql (sql): starting 7 rlm_sql (sql): Attempting to connect rlm_sql_oracle #7 rlm_sql (sql): Connected new DB handle, #7 rlm_sql (sql): starting 8 rlm_sql (sql): Attempting to connect rlm_sql_oracle #8 rlm_sql (sql): Connected new DB handle, #8 rlm_sql (sql): starting 9 rlm_sql (sql): Attempting to connect rlm_sql_oracle #9 rlm_sql (sql): Connected new DB handle, #9 rlm_sql (sql): starting 10 rlm_sql (sql): Attempting to connect rlm_sql_oracle #10 rlm_sql (sql): Connected new DB handle, #10 rlm_sql (sql): starting 11 rlm_sql (sql): Attempting to connect rlm_sql_oracle #11 rlm_sql (sql): Connected new DB handle, #11 rlm_sql (sql): starting 12 rlm_sql (sql): Attempting to connect rlm_sql_oracle #12 rlm_sql (sql): Connected new DB handle, #12 rlm_sql (sql): starting 13 rlm_sql (sql): Attempting to connect rlm_sql_oracle #13 rlm_sql (sql): Connected new DB handle, #13 rlm_sql (sql): starting 14 rlm_sql (sql): Attempting to connect rlm_sql_oracle #14 rlm_sql (sql): Connected new DB handle, #14 rlm_sql (sql): starting 15 rlm_sql (sql): Attempting to connect rlm_sql_oracle #15 rlm_sql (sql): Connected new DB handle, #15 rlm_sql (sql): starting 16 rlm_sql (sql): Attempting to connect rlm_sql_oracle #16 rlm_sql (sql): Connected new DB handle, #16 rlm_sql (sql): starting 17 rlm_sql (sql): Attempting to connect rlm_sql_oracle #17 rlm_sql (sql): Connected new DB handle, #17 rlm_sql (sql): starting 18 rlm_sql (sql): Attempting to connect rlm_sql_oracle #18 rlm_sql (sql): Connected new DB handle, #18 rlm_sql (sql): starting 19 rlm_sql (sql): Attempting to connect rlm_sql_oracle #19 rlm_sql (sql): Connected new DB handle, #19 rlm_sql (sql): starting 20 rlm_sql (sql): Attempting to connect rlm_sql_oracle #20 rlm_sql (sql): Connected new DB handle, #20 rlm_sql (sql): starting 21 rlm_sql (sql): Attempting to connect rlm_sql_oracle #21 rlm_sql (sql): Connected new DB handle, #21 rlm_sql (sql): starting 22 rlm_sql (sql): Attempting to connect rlm_sql_oracle #22 rlm_sql (sql): Connected new DB handle, #22 rlm_sql (sql): starting 23 rlm_sql (sql): Attempting to connect rlm_sql_oracle #23 rlm_sql (sql): Connected new DB handle, #23 rlm_sql (sql): starting 24 rlm_sql (sql): Attempting to connect rlm_sql_oracle #24 rlm_sql (sql): Connected new DB handle, #24 rlm_sql (sql): starting 25 rlm_sql (sql): Attempting to connect rlm_sql_oracle #25 rlm_sql (sql): Connected new DB handle, #25 rlm_sql (sql): starting 26 rlm_sql (sql): Attempting to connect rlm_sql_oracle #26 rlm_sql (sql): Connected new DB handle, #26 rlm_sql (sql): starting 27 rlm_sql (sql): Attempting to connect rlm_sql_oracle #27 rlm_sql (sql): Connected new DB handle, #27 rlm_sql (sql): starting 28 rlm_sql (sql): Attempting to connect rlm_sql_oracle #28 rlm_sql (sql): Connected new DB handle, #28 rlm_sql (sql): starting 29 rlm_sql (sql): Attempting to connect rlm_sql_oracle #29 rlm_sql (sql): Connected new DB handle, #29 rlm_sql (sql): starting 30 rlm_sql (sql): Attempting to connect rlm_sql_oracle #30 rlm_sql (sql): Connected new DB handle, #30 rlm_sql (sql): starting 31 rlm_sql (sql): Attempting to connect rlm_sql_oracle #31 rlm_sql (sql): Connected new DB handle, #31 rlm_sql (sql): starting 32 rlm_sql (sql): Attempting to connect rlm_sql_oracle #32 rlm_sql (sql): Connected new DB handle, #32 rlm_sql (sql): starting 33 rlm_sql (sql): Attempting to connect rlm_sql_oracle #33 rlm_sql (sql): Connected new DB handle, #33 rlm_sql (sql): starting 34 rlm_sql (sql): Attempting to connect rlm_sql_oracle #34 rlm_sql (sql): Connected new DB handle, #34 rlm_sql (sql): starting 35 rlm_sql (sql): Attempting to connect rlm_sql_oracle #35 rlm_sql (sql): Connected new DB handle, #35 rlm_sql (sql): starting 36 rlm_sql (sql): Attempting to connect rlm_sql_oracle #36 rlm_sql (sql): Connected new DB handle, #36 rlm_sql (sql): starting 37 rlm_sql (sql): Attempting to connect rlm_sql_oracle #37 rlm_sql (sql): Connected new DB handle, #37 rlm_sql (sql): starting 38 rlm_sql (sql): Attempting to connect rlm_sql_oracle #38 rlm_sql (sql): Connected new DB handle, #38 rlm_sql (sql): starting 39 rlm_sql (sql): Attempting to connect rlm_sql_oracle #39 rlm_sql (sql): Connected new DB handle, #39 Module: Checking preacct {...} for more modules to load Module: Linked to module rlm_acct_unique Module: Instantiating acct_unique acct_unique { key = "User-Name, Acct-Session-Id, NAS-IP-Address, Framed-IP-Address, ERX-Pppoe-Description, NAS-Port" } Module: Checking accounting {...} for more modules to load Module: Linked to module rlm_sqlippool Module: Instantiating SERCOMTEL sqlippool SERCOMTEL { sql-instance-name = "sql" lease-duration = 7320 pool-name = "" allocate-begin = "savepoint allocate_begin" allocate-clear = "UPDATE radippool SET nasipaddress = '', pool_key = 0, callingstationid = '', expiry_time = current_timestamp - INTERVAL '1' second(1) WHERE pool_key = '%{ERX-Pppoe-Description}'" allocate-find = "select sercomtel('%{SQL-User-Name}','%{control:Pool-Name}','%{Calling-Station-Id}') from dual" allocate-update = "UPDATE radippool SET nasipaddress = '%{NAS-IP-Address}', pool_key = '%{ERX-Pppoe-Description}', callingstationid = '%{Calling-Station-Id}', username = '%{SQL-User-Name}', expiry_time = current_timestamp + INTERVAL '7320' second(1) WHERE framedipaddress = '%I'" allocate-commit = "COMMIT" allocate-rollback = "ROLLBACK" pool-check = "SELECT id FROM (SELECT id FROM radippool WHERE pool_name='%{control:Pool-Name}') WHERE ROWNUM = 1" start-begin = "savepoint start_begin" start-update = "UPDATE radippool SET expiry_time = current_timestamp + INTERVAL '7320' second(1) WHERE nasipaddress = '%{NAS-IP-Address}' AND pool_key = '%{ERX-Pppoe-Description}'" start-commit = "COMMIT" start-rollback = "ROLLBACK" alive-begin = "savepoint alive_begin" alive-update = "UPDATE radippool SET expiry_time = current_timestamp + INTERVAL '7320' second(1) WHERE framedipaddress = '%{Framed-IP-Address}'" alive-commit = "COMMIT" alive-rollback = "ROLLBACK" stop-begin = "savepoint stop_begin" stop-clear = "UPDATE radippool SET nasipaddress = '', pool_key = 0, callingstationid = '', expiry_time = current_timestamp - INTERVAL '1' second(1) WHERE nasipaddress = '%{Nas-IP-Address}' AND pool_key = '%{ERX-Pppoe-Description}' AND username = '%{SQL-User-Name}' AND callingstationid = '%{Calling-Station-Id}' AND framedipaddress = '%{Framed-IP-Address}'" stop-commit = "COMMIT" stop-rollback = "ROLLBACK" on-begin = "savepoint on_begin" on-clear = "UPDATE radippool SET nasipaddress = '', pool_key = 0, callingstationid = '', expiry_time = current_timestamp - INTERVAL '1' second(1) WHERE nasipaddress = '%{Nas-IP-Address}'" on-commit = "COMMIT" on-rollback = "ROLLBACK" off-begin = "savepoint off_begin" off-clear = "UPDATE radippool SET nasipaddress = '', pool_key = 0, callingstationid = '', expiry_time = current_timestamp - INTERVAL '1' second(1) 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: Linked to module rlm_sql_log Module: Instantiating sql_log sql_log { path = "/usr/local/var/log/radius/radacct/sql-relay" Post-Auth = "INSERT INTO radpostauth (username, pass, reply, authdate) VALUES ('%{User-Name}', '%{User-Password:-Chap-Password}', '%{reply:Packet-Type}', TO_DATE('%S','yyyy-mm-dd hh24:mi:ss'))" sql_user_name = "" safe-characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /" } Module: Linked to module rlm_attr_filter Module: Instantiating attr_filter.accounting_response attr_filter attr_filter.accounting_response { attrsfile = "/usr/local/etc/raddb/attrs.accounting_response" key = "%{User-Name}" } Module: Checking post-proxy {...} for more modules to load Module: Instantiating attr_filter.post-proxy attr_filter attr_filter.post-proxy { attrsfile = "/usr/local/etc/raddb/attrs" key = "%{Realm}" } Module: Checking post-auth {...} for more modules to load } } radiusd: #### Opening IP addresses and Ports #### listen { type = "auth" ipaddr = * port = 0 } listen { type = "acct" ipaddr = * port = 0 } Listening on authentication address * port 1812 Listening on accounting address * port 1813 Listening on proxy address * port 1814 Ready to process requests. rad_recv: Access-Request packet from host 127.0.0.1 port 40409, id=113, length=80 User-Name = "testesdx520@sercomtel.com.br" User-Password = "xxxxxxxx" NAS-IP-Address = 127.0.0.1 NAS-Port = 1234 +- entering group authorize {...} ++[preprocess] returns ok [auth_log] expand: /usr/local/var/log/radius/radacct/%{Client-IP-Address}/auth-detail-%Y%m%d -> /usr/loca l/var/log/radius/radacct/127.0.0.1/auth-detail-20090109 [auth_log] /usr/local/var/log/radius/radacct/%{Client-IP-Address}/auth-detail-%Y%m%d expands to /usr/local/var /log/radius/radacct/127.0.0.1/auth-detail-20090109 [auth_log] expand: %t -> Fri Jan 9 11:14:36 2009 ++[auth_log] returns ok [suffix] Looking up realm "sercomtel.com.br" for User-Name = "testesdx520@sercomtel.com.br" [suffix] Found realm "sercomtel.com.br" [suffix] Adding Stripped-User-Name = "testesdx520" [suffix] Adding Realm = "sercomtel.com.br" [suffix] Proxying request from user testesdx520 to realm sercomtel.com.br [suffix] Preparing to proxy authentication request to realm "sercomtel.com.br" ++[suffix] returns updated ++[files] returns noop [sql] expand: %{User-Name} -> testesdx520@sercomtel.com.br [sql] sql_set_user escaped user --> 'testesdx520@sercomtel.com.br' rlm_sql (sql): Reserving sql socket id: 9 [sql] expand: SELECT id,UserName,Attribute,Value,op FROM radcheck WHERE Username = '%{SQL-User-Name}' AND CD SITI = 1 AND STPGOPER = 'S' AND (STBLOQUEIO = 'N' or STBLOQUEIO = 'bloqueio_smtp') ORDER BY id -> SELECT id,Us erName,Attribute,Value,op FROM radcheck WHERE Username = 'testesdx520@sercomtel.com.br' AND CDSITI = 1 AND STP GOPER = 'S' AND (STBLOQUEIO = 'N' or STBLOQUEIO = 'bloqueio_smtp') ORDER BY id [sql] User found in radcheck table [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 = 'testesdx520@sercomtel.com.br' O RDER BY id rlm_sql (sql): Released sql socket id: 9 ++[sql] returns ok ++[expiration] returns noop ++[logintime] returns noop ++[pap] returns noop Sending Access-Request of id 217 to 200xxxxxxxxx port 1812 User-Name = "testesdx520" User-Password = "xxxxxxx" NAS-IP-Address = 127.0.0.1 NAS-Port = 1234 Proxy-State = 0x313133 Proxying request 23 to home server 2xxxxxxxxxx port 1812 Sending Access-Request of id 217 to 2xxxxxxxx port 1812 User-Name = "testesdx520" User-Password = "xxxxxxxx" NAS-IP-Address = 127.0.0.1 NAS-Port = 1234 Proxy-State = 0x313133 rad_recv: Access-Accept packet from host 2xxxxxxxxx port 1812, id=217, length=25 Proxy-State = 0x313133 +- entering group post-proxy {...} [attr_filter.post-proxy] expand: %{Realm} -> sercomtel.com.br attr_filter: Matched entry sercomtel.com.br at line 84 ++[attr_filter.post-proxy] returns updated Found Auth-Type = Accept Auth-Type = Accept, accepting the user Login OK: [testesdx520@sercomtel.com.br] (from client localhost port 1234) +- entering group post-auth {...} rlm_sql (sql): Reserving sql socket id: 4 [SERCOMTEL] expand: %{User-Name} -> testesdx520@sercomtel.com.br [SERCOMTEL] sql_set_user escaped user --> 'testesdx520@sercomtel.com.br' [SERCOMTEL] expand: savepoint allocate_begin -> savepoint allocate_begin [SERCOMTEL] expand: UPDATE radippool SET nasipaddress = '', pool_key = 0, callingstationid = '', expir y_time = current_timestamp - INTERVAL '1' second(1) WHERE pool_key = '%{ERX-Pppoe-Description}' -> UPDATE ra dippool SET nasipaddress = '', pool_key = 0, callingstationid = '', expiry_time = current_timestamp - INTE RVAL '1' second(1) WHERE pool_key = '' [SERCOMTEL] expand: select sercomtel('%{SQL-User-Name}','%{control:Pool-Name}','%{Calling-Station-Id}') fr om dual -> select sercomtel('testesdx520@sercomtel.com.br','SPR','') from dual [SERCOMTEL] expand: UPDATE radippool SET nasipaddress = '%{NAS-IP-Address}', pool_key = '%{ERX-Pppoe-Des cription}', callingstationid = '%{Calling-Station-Id}', username = '%{SQL-User-Name}', expiry_time = curre nt_timestamp + INTERVAL '7320' second(1) WHERE framedipaddress = 'xxxxxxxxxx' -> UPDATE radippool SET n asipaddress = '127.0.0.1', pool_key = '', callingstationid = '', username = 'testesdx520@sercomtel.com.br', expiry_time = current_timestamp + INTERVAL '7320' second(1) WHERE framedipaddress = '1xxxxxxxxxxx' [SERCOMTEL] Allocated IP 1xxxxxxxxx [6e2a0ebd] [SERCOMTEL] expand: COMMIT -> COMMIT rlm_sql (sql): Released sql socket id: 4 [SERCOMTEL] expand: Allocated IP: %{reply:Framed-IP-Address} from %{control:Pool-Name} (did %{Called-Sta tion-Id} cli %{Calling-Station-Id} port %{NAS-Port} user %{User-Name}) -> Allocated IP: 1xxxxxxxx from SPR (did cli port 1234 user testesdx520@sercomtel.com.br) Allocated IP: 1xxxxxxxxxxx from SPR (did cli port 1234 user testesdx520@sercomtel.com.br) ++[SERCOMTEL] returns ok [sql_log] Processing sql_log_postauth [sql_log] WARNING: Deprecated conditional expansion ":-". See "man unlang" for details [sql_log] expand: INSERT INTO radpostauth (username, pass, reply, aut hdate) VALUES ('%{User-Name}', '%{User-Password:-Chap-Password}', '%{reply:Packet-Type}', TO_DATE('%S','yyyy-mm-dd hh24:mi:ss')) -> INSERT INTO radpost auth (username, pass, reply, authdate) VALUES ('testesdx520@sercomtel.com.br', 'XXXX', 'Access-Accept', TO_DATE('2 009-01-09 11:14:36','yyyy-mm-dd hh24:mi:ss')) [sql_log] expand: /usr/local/var/log/radius/radacct/sql-relay -> /usr/local/var/log/radius/radacct/sql-r elay ++[sql_log] returns ok Sending Access-Accept of id 113 to 127.0.0.1 port 40409 X-Ascend-Client-Primary-DNS := 2xxxxxxxxx X-Ascend-Client-Secondary-DNS := 2xxxxxxx X-Ascend-Client-Assign-DNS := DNS-Assign-Yes ERX-Virtual-Router-Name := "default" Framed-IP-Address = xxxxxxxxxxx Finished request 23. tnt@kalik.net escreveu:
Yesterday i upgrade my freeradius from version 2.0.4 to 2.1.3 and still using the same configuration files but when i start the server with the new version it dont reply the attributes there are in radreply. In debug mode i saw that freeradius search in sql for these attributes but don`t put it in the response.
Do we get to see the debug?
Ivan Kalik Kalik Informatika ISP
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
[suffix] Proxying request from user testesdx520 to realm sercomtel.com.br [suffix] Preparing to proxy authentication request to realm "sercomtel.com.br"
It would help if you mention that this is a proxy reply. ..
rad_recv: Access-Accept packet from host 2xxxxxxxxx port 1812, id=217, length=25 Proxy-State = 0x313133 +- entering group post-proxy {...} [attr_filter.post-proxy] expand: %{Realm} -> sercomtel.com.br attr_filter: Matched entry sercomtel.com.br at line 84 ++[attr_filter.post-proxy] returns updated
Hm, you are sure this filter has nothing to do with it. .
Sending Access-Accept of id 113 to 127.0.0.1 port 40409 X-Ascend-Client-Primary-DNS := 2xxxxxxxxx X-Ascend-Client-Secondary-DNS := 2xxxxxxx X-Ascend-Client-Assign-DNS := DNS-Assign-Yes ERX-Virtual-Router-Name := "default" Framed-IP-Address = xxxxxxxxxxx
OK. So you have some attributes in the reply. Where did they come from and what is missing? Ivan Kalik Kalik Informatika ISP
These attributes in reply come from attrs file, the missing is ERX-Egress-Police-Name. In radreply it entry is: ID Username Attribute op value 521 testesdx52@sercomtel.com.br ERX-Egress-Police-Name = silver tnt@kalik.net escreveu:
[suffix] Proxying request from user testesdx520 to realm sercomtel.com.br [suffix] Preparing to proxy authentication request to realm "sercomtel.com.br"
It would help if you mention that this is a proxy reply.
..
rad_recv: Access-Accept packet from host 2xxxxxxxxx port 1812, id=217, length=25 Proxy-State = 0x313133 +- entering group post-proxy {...} [attr_filter.post-proxy] expand: %{Realm} -> sercomtel.com.br attr_filter: Matched entry sercomtel.com.br at line 84 ++[attr_filter.post-proxy] returns updated
Hm, you are sure this filter has nothing to do with it.
.
Sending Access-Accept of id 113 to 127.0.0.1 port 40409 X-Ascend-Client-Primary-DNS := 2xxxxxxxxx X-Ascend-Client-Secondary-DNS := 2xxxxxxx X-Ascend-Client-Assign-DNS := DNS-Assign-Yes ERX-Virtual-Router-Name := "default" Framed-IP-Address = xxxxxxxxxxx
OK. So you have some attributes in the reply. Where did they come from and what is missing?
Ivan Kalik Kalik Informatika ISP
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
These attributes in reply come from attrs file, the missing is ERX-Egress-Police-Name.
In radreply it entry is:
ID Username Attribute op value 521 testesdx52@sercomtel.com.br ERX-Egress-Police-Name = silver
Try adding sql.authorize in post-auth section. Ivan Kalik Kalik Informatika ISP
Thank you very much Kalik, it wors perfectly. you are a good guy.. hehehe =) tnt@kalik.net escreveu:
These attributes in reply come from attrs file, the missing is ERX-Egress-Police-Name.
In radreply it entry is:
ID Username Attribute op value 521 testesdx52@sercomtel.com.br ERX-Egress-Police-Name = silver
Try adding sql.authorize in post-auth section.
Ivan Kalik Kalik Informatika ISP
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
participants (4)
-
Alan DeKok -
Marcelo Henique Cabral Ariza -
mihir patankar -
tnt@kalik.net