I'm trying to figure out the best way to accomplish a time limit feature, exactly like what is available under Hotspot -> User -> Limits -> Limit Uptime, except that I don't use Hotspot - I'm using DHCP and make them static entries with controlled ARP to manage the endpoints on the LAN.
Is there an easy way to accomplish this functionality that I'm too blind to see? I've considered spinning up a free-radius installation and turning on accounting somehow, or enabling IP -> Traffic Flow and putting up a collector that then gets polled periodically to see if a "session/endpoint" is active, but both seem pretty clunky to me. I also considered scripting to check through the endpoints with a firewall rule per endpoint that allows me to get counters, then compare counters to threshold ... but that seems like it wouldn't scale very well and might bring CPU to its knees? Is that a valid concern?
I'm not using Hotspot for a couple of reasons:
1) Not all my endpoints are wireless
2) I want them to do DHCP, or at least not have to authenticate manually
3) Hotspot is one of the features I'm pretty unfamiliar with... I don't mind being called ignorant if there's stuff in there that does what I want and fits 1&2 above, and I just need to RTFM (but please give a pointer!)
So to be clear, I want to implement something like:
User with IP 192.168.88.20 is allowed to use Internet weekdays from 5pm - 9pm, but only for max of 90 minutes. After 90(ish) minutes, the connection should be disabled (drop rule until reset). Same user might have policy to only use Internet for 180 minutes on weekends, and user should not have to actively do anything to start/end session.
Am I missing the easy way to achieve what I want, or anyone have a recommendation? Or is this just something that's going to be a PITA?