I have Freeradius v0.8.1 running as a proxy server that forwards packets from a certain realm to another Freeradius v0.8.1 server. Both are configured as follows in radiusd.conf to process local accounting requests with a "cdr" module I added:
radiusd.conf:
modules {
cdr {
}
}accounting {
acct_unique
#detail
# counter
#unix # wtmp file
#radutmp
# sradutmp
cdr
}proxy.conf:
realm transat.com {
type = radius
authhost = 192.168.1.116:1812
accthost = 192.168.1.116:1813
secret = mySecret
nostrip
}The problem is that the cdr module runs on the proxy server before the message gets sent to the final server. In this session, I ran the client and the final server on 192.168.1.116, and the proxy server on another machine.
rad_recv: Accounting-Request packet from host 192.168.1.116:33055, id=12, length=65
Thread 1 assigned request 0
--- Walking the entire request list ---
Threads: total/active/spare threads = 5/1/4
Waking up in 5 seconds...
Thread 1 handling request 0, (1 handled so far)
User-Name = "[EMAIL PROTECTED]"
Acct-Status-Type = Start
Acct-Session-Id = "session"
modcall: entering group preacct
modcall[preacct]: module "preprocess" returns noop
rlm_realm: Looking up realm transat.com for User-Name = "[EMAIL PROTECTED]"
rlm_realm: Found realm transat.com
rlm_realm: Proxying request from user 1920532280020310 to realm transat.com
rlm_realm: Adding Realm = "transat.com"
rlm_realm: Preparing to proxy accounting request to realm transat.com
modcall[preacct]: module "suffix" returns ok
modcall[preacct]: module "files" returns noop
modcall: group preacct returns ok
modcall: entering group accounting
rlm_acct_unique: WARNING: Attribute 87 was not found in request, unique ID MAY be inconsistent
rlm_acct_unique: Hashing ',Client-IP-Address = 192.168.1.116,NAS-IP-Address = 19
2.168.1.116,Acct-Session-Id = "session",User-Name = "[EMAIL PROTECTED]"'
rlm_acct_unique: Acct-Unique-Session-ID = "e712bba6f73a3c3b".
modcall[accounting]: module "acct_unique" returns ok
rlm_cdr: NAS-IP-Address = 192.168.1.116
... more stuff from rlm_cdr .....
rlm_cdr: CDR storage failure, status code 5
modcall[accounting]: module "cdr" returns fail
modcall: group accounting returns fail
Sending Accounting-Request of id 1 to 192.168.1.116:1813
User-Name = "[EMAIL PROTECTED]"
Acct-Status-Type = Start
Acct-Session-Id = "session"
NAS-IP-Address = 192.168.1.116
Proxy-State = "12"
Thread 1 waiting to be assigned a request
rad_recv: Accounting-Response packet from host 192.168.1.116:1813, id=1, length=
24
Thread 2 assigned request 0
--- Walking the entire request list ---
Waking up in 5 seconds...
Thread 2 handling request 0, (1 handled so far)
Proxy-State = 0x3132
Sending Accounting-Response of id 12 to 192.168.1.116:33055
Finished request 0
Going to the next request
Thread 2 waiting to be assigned a request
--- Walking the entire request list ---
Threads: total/active/spare threads = 5/0/5
Cleaning up request 0 ID 12 with timestamp 3f283d2a
Nothing to do. Sleeping until we see a request.
It looks like the proxy works OK but I dont want cdr to run on the proxy server. I dont have any DEFAULT or other entries in the acct_users file. I suspect I need something there, or maybe rlm_cdr needs some extra smarts to know it's a proxy request and return?
Regards, Dave
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
