Technical Forum
Ask questions. Discover Answers.
cancel
Showing results for 
Search instead for 
Did you mean: 
Custom Alert Banner

Collect UDP packet client IP with irule on LTM

xiaolche
Nimbostratus
Nimbostratus

Could anyone tell me how to collect client IP address with irule and save client ip to log ?

We have VIP which is for DNS and NTP service,  protocol profile is UDP  ( without Datagram LB enable) . i use below irule  in a  DNS VIP ( there is huge dns request to the vip ) , it worked for a few packets , then VIP stopped to response the dns request.   where is wrong on the irule ?  thanks for help in advance

when CLIENT_ACCEPTED {
log -noname local0. "[virtual name] client [IP::client_addr]:[UDP::client_port] test-snat [IP::local_addr]:[UDP::local_port] server [IP::server_addr]:[UDP::server_port]"
}

 

 

 

3 REPLIES 3

Paulius
MVP
MVP

@xiaolche Do you see any logs showing errors for that iRule after it was applied? Typically if something is wrong with the iRule you will see a log generated on your F5 to show what is causing the issue. If this is a virtual that is used a significant amount you could be logging too often which might cause your logs to exponentially increase in size but not just disable the one virtual server I don't believe. The syntax of that logging message seems to be correct but that is a significant amount of information that is being logged rather than just the client IP.

As per the doc here the command [IP::server_addr] is not available in the CLIENT_ACCEPTED event. I wonder how the iRule can succeed in some cases. As @Paulius suggested you should see error messages if the iRule does contain errors. Can you check this? 

Thank you both.   I tried SERVER_CONNECTED first , then changed to CLIENT_ACCEPTED . So the log i saw maybe from server_connected. I will test again during maitenance window.

-xiaolin