Will_33786
Apr 16, 2015Nimbostratus
How do I record the IP assigned to a client after login?
Hello,
I need to record clients' IP address assigned by network access. I searched on Ask f5 it looks like that the variable "session.assigned.clientip" is what I need. So I tried to use an irule to get it but failed.
Here is my irule:
when ACCESS_SESSION_STARTED {
set user [ACCESS::session data get "session.logon.last.username"]
set client [IP::client_addr]
set assignip [ACCESS::session data get "session.assigned.clientip"]
log local0. "LOGON:$user login successful from $client, assigned $assignip"
}
I have tried other events like ACCESS_POLICY_AGENT_EVENT, ACCESS_POLICY_COMPLETED but haven't worked either. Does anyone know how can I log the clients' IP address assigned by network access. I will appreciate it!
The VPN address is assigned after the APM policy is completed. Use an iRule to detect the VPN startup URI and then wait a few seconds before querying session.assigned.clientip.
when CLIENT_ACCEPTED { ACCESS::restrict_irule_events disable } when HTTP_REQUEST { if { [HTTP::uri] starts_with "/myvpn?sess=" } { after 5000 { log local0. "VPN started for [ACCESS::session data get session.logon.last.username] from IP [IP::client_addr] assigned client IP [ACCESS::session data get session.assigned.clientip]"} } }