I have a Linux server (up-to-date debian buster) acting as a firewall/router to share an Internet connection among several Windows 10 and Ubuntu Linux workstations (5-10, no more than that). Since the LAN is quite a bit faster than the Internet connection, any one computer is pretty easily able to use up 100% of the bandwidth, at which point every other device/connection starts getting timed out and disconnected.
There's no budget to buy a solution, so I'm trying to figure out how to apply some sort of limit so that no one device can use all the bandwidth. There aren't many details in the nftables documentation, but I'm pretty sure I'm at least after something with "sets" and "meters". Is it possible to measure/limit based on bandwidth, instead of just new connections or number of packets? And more importantly, what's the right way to signal to the device that it needs to throttle back? I'm guessing that just dropping packets is really not the right solution.