Hi Alan, I got your point. I need a reply.
I can use proxying but I also need to send same accounting to all servers at the same time. I tried to build virtual servers to proxy accounting packets to other servers. For example: I am going to send accounting packets to 20 servers. First I create 20 virtual servers, and then point them to 20 remote servers one by one. ( Because proxy only supports failover and loadbalance) My configs: /sites-available/default preacct { preprocess update control { Proxy-To-Realm := TEST0 --> virtual server realm } } /sites-available/default2 preacct { preprocess update control { Proxy-To-Realm += TEST1 --> remote radius #Replicate-To-Realm += TEST2 #Replicate-To-Realm += TEST3 } # Session sta But when I tried it I got segmentation fault. rad_recv: Accounting-Request packet from host 135.243.68.36 port 55675, i d=112, length=94 User-Name = "test2" Acct-Status-Type = Start Acct-Session-Id = "4680" Framed-Protocol = PPP Acct-Delay-Time = 5 Calling-Station-Id = "905436755108" NAS-Port = 1 Framed-IP-Address = 2.2.2.17 NAS-IP-Address = 135.243.90.68 Called-Station-Id = "internet1" # Executing section preacct from file /usr/local/etc/raddb/sites-enabled/ default +- entering group preacct {...} [preprocess] hints: Matched DEFAULT at 85 [preprocess] sql_xlat [preprocess] expand: %{User-Name} -> test2 [preprocess] sql_set_user escaped user --> 'test2' [preprocess] expand: SELECT id from deneme limit 1 -> SELECT id from d eneme limit 1 rlm_sql (sql): Reserving sql socket id: 4 [preprocess] sql_xlat finished rlm_sql (sql): Released sql socket id: 4 [preprocess] expand: %{sql:SELECT id from deneme limit 1} -> 5 [preprocess] sql_xlat [preprocess] expand: %{User-Name} -> test2 [preprocess] sql_set_user escaped user --> 'test2' [preprocess] expand: SELECT id from deneme limit 1 -> SELECT id from d eneme limit 1 rlm_sql (sql): Reserving sql socket id: 3 [preprocess] sql_xlat finished rlm_sql (sql): Released sql socket id: 3 [preprocess] expand: %{sql:SELECT id from deneme limit 1} -> 5 ++[preprocess] returns ok ++[control] returns ok [acct_unique] Hashing 'NAS-Port = 1,Client-IP-Address = 135.243.68.36,NAS -IP-Address = 135.243.90.68,Acct-Session-Id = "4680",User-Name = "test2"' [acct_unique] Acct-Unique-Session-ID = "8106182d5455e91b". ++[acct_unique] returns ok [suffix] No '@' in User-Name = "test2", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop # Executing section accounting from file /usr/local/etc/raddb/sites-enabl ed/default +- entering group accounting {...} [detail] expand: %{Packet-Src-IP-Address} -> 135.243.68.36 [detail] expand: /var/log/radius/radacct/%{%{Packet-Src-IP-Address }:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d -> /var/log/radius/radacct/1 35.243.68.36/detail-20120402 [detail] /var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src -IPv6-Address}}/detail-%Y%m%d expands to /var/log/radius/radacct/135.243. 68.36/detail-20120402 [detail] expand: %t -> Mon Apr 2 08:21:05 2012 ++[detail] returns ok ++[unix] returns ok [radutmp] expand: /var/log/radius/radutmp -> /var/log/radius/radutm p [radutmp] expand: %{User-Name} -> test2 ++[radutmp] returns ok [sql] expand: %{User-Name} -> test2 [sql] sql_set_user escaped user --> 'test2' [sql] expand: %{Acct-Delay-Time} -> 5 [sql] expand: INSERT INTO radacct (acctsessionid , acctuniqueid, username, realm, nasipaddr ess, nasportid, nasporttype, acctstarttime, acct stoptime, acctsessiontime, acctauthentic, connectinfo_st art, connectinfo_stop, acctinputoctets, acctoutputoctets, calledstationid, callingstationid, acctterminatecause, servicetype, framedprotocol, framedipaddress, acctstartdelay, acctstopdelay, xascendsessionsvrkey) VALU ES ('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port}', '%{NAS-Port-Type}', '%S', NULL, '0', '%{Acct-Authentic}', '%{Connect-Info}', '', '0', '0', '%{Called-Station-Id}', '%{Calling-Station-Id}', '', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}', rlm_sql (sql): Reserving sql socket id: 2 rlm_sql (sql): Released sql socket id: 2 ++[sql] returns ok ++[exec] returns noop ++[replicate] returns noop [attr_filter.accounting_response] expand: %{User-Name} -> test2 attr_filter: Matched entry DEFAULT at line 12 ++[attr_filter.accounting_response] returns updated # Executing section pre-proxy from file /usr/local/etc/raddb/sites-enable d/default +- entering group pre-proxy {...} ++[files] returns noop [pre_proxy_log] expand: /var/log/radius/radacct/%{Client-IP-Addre ss}/pre-proxy-detail-%Y%m%d -> /var/log/radius/radacct/135.243.68.36/pre- proxy-detail-20120402 [pre_proxy_log] /var/log/radius/radacct/%{Client-IP-Address}/pre-proxy-de tail-%Y%m%d expands to /var/log/radius/radacct/135.243.68.36/pre-proxy-de tail-20120402 [pre_proxy_log] expand: %t -> Mon Apr 2 08:21:05 2012 ++[pre_proxy_log] returns ok >>> Sending proxied request internally to virtual server. server virtualserver { # Executing section preacct from file /usr/local/etc/raddb/sites-availabl e/default2 +- entering group preacct {...} [preprocess] hints: Matched DEFAULT at 85 [preprocess] sql_xlat [preprocess] expand: %{User-Name} -> test2 [preprocess] sql_set_user escaped user --> 'test2' [preprocess] expand: SELECT id from deneme limit 1 -> SELECT id from d eneme limit 1 rlm_sql (sql): Reserving sql socket id: 1 [preprocess] sql_xlat finished rlm_sql (sql): Released sql socket id: 1 [preprocess] expand: %{sql:SELECT id from deneme limit 1} -> 5 [preprocess] sql_xlat [preprocess] expand: %{User-Name} -> test2 [preprocess] sql_set_user escaped user --> 'test2' [preprocess] expand: SELECT id from deneme limit 1 -> SELECT id from d eneme limit 1 rlm_sql (sql): Reserving sql socket id: 0 [preprocess] sql_xlat finished rlm_sql (sql): Released sql socket id: 0 [preprocess] expand: %{sql:SELECT id from deneme limit 1} -> 5 ++[preprocess] returns ok ++[control] returns ok ++[acct_unique] returns noop [suffix] No '@' in User-Name = "test2", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop # Executing section accounting from file /usr/local/etc/raddb/sites-avail able/default2 +- entering group accounting {...} [detail] expand: %{Packet-Src-IP-Address} -> 135.243.68.36 [detail] expand: /var/log/radius/radacct/%{%{Packet-Src-IP-Address }:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d -> /var/log/radius/radacct/1 35.243.68.36/detail-20120402 [detail] /var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src -IPv6-Address}}/detail-%Y%m%d expands to /var/log/radius/radacct/135.243. 68.36/detail-20120402 [detail] expand: %t -> Mon Apr 2 08:21:05 2012 ++[detail] returns ok ++[unix] returns ok [radutmp] expand: /var/log/radius/radutmp -> /var/log/radius/radutm p [radutmp] expand: %{User-Name} -> test2 rlm_radutmp: Login entry for NAS 135.243.90.68 port 1 duplicate ++[radutmp] returns ok [sql] expand: %{User-Name} -> test2 [sql] sql_set_user escaped user --> 'test2' [sql] expand: %{Acct-Delay-Time} -> 5 [sql] expand: INSERT INTO radacct (acctsessionid , acctuniqueid, username, realm, nasipaddr ess, nasportid, nasporttype, acctstarttime, acct stoptime, acctsessiontime, acctauthentic, connectinfo_st art, connectinfo_stop, acctinputoctets, acctoutputoctets, calledstationid, callingstationid, acctterminatecause, servicetype, framedprotocol, framedipaddress, acctstartdelay, acctstopdelay, xascendsessionsvrkey) VALU ES ('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port}', '%{NAS-Port-Type}', '%S', NULL, '0', '%{Acct-Authentic}', '%{Connect-Info}', '', '0', '0', '%{Called-Station-Id}', '%{Calling-Station-Id}', '', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}', rlm_sql (sql): Reserving sql socket id: 4 rlm_sql (sql): Released sql socket id: 4 ++[sql] returns ok ++[exec] returns noop ++[replicate] returns noop [attr_filter.accounting_response] expand: %{User-Name} -> test2 attr_filter: Matched entry DEFAULT at line 12 ++[attr_filter.accounting_response] returns updated } # server virtualserver Going to the next request <<< Received proxied response code 0 from internal virtual server. # Executing section post-proxy from file /usr/local/etc/raddb/sites-enabl ed/default +- entering group post-proxy {...} [post_proxy_log] expand: /var/log/radius/radacct/%{Client-IP-Addre ss}/post-proxy-detail-%Y%m%d -> /var/log/radius/radacct/135.243.68.36/pos t-proxy-detail-20120402 [post_proxy_log] /var/log/radius/radacct/%{Client-IP-Address}/post-proxy- detail-%Y%m%d expands to /var/log/radius/radacct/135.243.68.36/post-proxy -detail-20120402 [post_proxy_log] expand: %t -> Mon Apr 2 08:21:05 2012 [post_proxy_log] Freeradius-Proxied-To = ?? ++[post_proxy_log] returns ok [eap] No pre-existing handler found Segmentation fault -- View this message in context: http://freeradius.1045715.n5.nabble.com/Proxy-copy-accounting-to-passive-home-server-tp5598491p5612316.html Sent from the FreeRadius - User mailing list archive at Nabble.com. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html