I've a Banana Pi BPI-R3 router working as gateway to the internet and essentially controller for everything on a fairly large building. Most devices are isolated from talking to each other and there are a bunch of VLANs going around as well.
Everything works out perfectly however I would like to have a way to identify MAC addresses on the network that are torrenting stuff.
I don't really want to block bittorrent traffic because it is useful and there are legit use cases for it but would like to be able to have on the nlbw UI or somewhere else a list of GB of bittorrent traffic by MAC.
With openwrt no idea. I know IPS/IDS do traffic pattern analysis that can try to detect. I've set up Suricata before as well as used a commercial IPS/IDS to go tracking down users.
But IMO monitoring is never going to be precise. I think bandwidth usage is a reasonable indicator that someone is doing something 'media' related.... Sailing the high seas or not....
Have you considered endpoint monitoring, or a a terms of service? The question always becomes how much sway you have over your end users and whether this is to limit liability or letters from people?
So, why not use cake with per internal IP fairness enabled? That way a torrenter will only "eat" into his/her own capacity share (more if everybody else sleeps, less when everybody in using the network)... at which point tracking who is torrenting might not be all that urgent anymore?
Yes... I was hoping there was a more of less generic implementation of it already done for Openwrt, like commercial firewalls have. Thanks for the links.
I've been using nlbwmon for that and while it is helpful to keep an eye on things it doesn't really allow me to pinpoint torrent traffic. There are always machines pulling large games or OS images that end up taking the top place - and I'm perfectly okay with that.
ToS already in place and I do have some sway but at some point I did identify large amounts of traffic from a machine and iknowwhatyoudownload.com indeed showed a few large 4k movies.
Yes SQM / cake does work to solve bandwidth issues, this a 1Gbps connection so not much of a problem usually, but it doesn't solve the liability part.
No. Initially with pfsense first but I found pfsense maddening. It won't let you do link aggregation with inline mode.
I run pairs of inline firewalls on older riverbed gear (cx570, cx770, half width and 12VDC is handy), my bigger setup is dual dell R320's with relay passthrough cards. (one is active at a time, the other is for manual failover purposes)
If you don't have that you can always just run port mirroring....
TurrisOSA has something build on top of suricata IIRC, called pakon, which does part of what you are after. I do not know of a package for OpenWrt proper though...
Well, if you have legal obligations to fulfil, that is a different kettle of fish... but check with a lawyer for your area (assuming you did not do so already) to figure out what exactly you need to do...