Limit traffic based on amount of data transferred?
I hope this hasn't already been answered here, but I can't find any references to what I'm looking for … please feel free to post a link if my dilemma has already been addressed elsewhere.
I have an office LAN with about 10 devices, most are desktops, two are laptops, and there's also a Win2k8 Server running. This is a remote office so we utilize a satellite Internet connection for Internet connectivity. We only need the Internet for basic email, web browsing, and the occasional download. Our service provider limits our throughput to a total of 650MB per day. If this amount is exceeded, the ISP throttles our connection speeds back from 2.0Mbps, to around 56Kbps. Unfortunately, I have a few users that like to visit sites that do streaming media (such as YouTube, etc.) As you can guess, this can rapidly exceed the download allotment, and severely cripple the connection speeds for everyone else.
I'm considering implementing a pfSense setup to replace our current router. I've read that pfSense can do traffic shaping and limit speeds based on what the content is, but is there a way to have pfSense monitor the actual amount of data that is being transferred by any one individual (or IP address), and then throttle just that user (or IP address) whenever a certain amount of data has been downloaded / uploaded?
I don't want to have to try to block every streaming media site on the Web if I don't have to ... there are just too many of them. However, it would be nice to be able to throttle back an individual user abusing the system, say, after they'd downloaded 150MB within a 24 hour period.
Is this possible, and if so, can anyone offer suggestions for where I might learn more about how to do this?