Хорошая программа - Tmeter. Она позволяет раздавать пользователям заданную полосу (кому-то 50 кбайт/с, кому-то 280 :)), ведет логи - кто куда и когда ходит. Места занимает мало, ресурсов почти не ест. Очень удобная вещь для шлюзовой машины. Можно настраивать фильтры раздельно по пользователям.
WinRoute как раз таки очень просто. У вас задачи не на один клик мышки.
Другое дело, что платный... это конечно не очень.
Берете из кладовки или на барахолке старый компьютер 2000-2001 года с двумя разъемами PCI и не менее 64 МБайт оперативной памяти, вставляете в него 2 сетевые карты (дешевые Realtek вполне подойдут), заливаете на жесткий диск 6-мегабайтовый образ m0n0wall, настраиваете WAN и LAN интерфейсы (буквенные имена наподобие rl0, ed0), WAN подсоединяете к DSL-модему, LAN - к свитчу. В BIOS разрешаете запуск компьютера без клавиатуры. Заходите из локальной сети через веб-интерфейс по адресу, который соответствует LAN-интерфейсу, меняете админский пароль, переключаетесь на протокол HTTPS. Заходите в раздел PPTP и включаете PPTP-сервер, включаете MPPE-128 шифрование, создаете отдельное адресное пространство (например 192.168.4.96/28, сервер 192.168.4.8) и добавляете в него необходимое количество пользователей (присваивая каждому пользователю свой логин, пароль и IP-адрес, всего можно подключить 16 адресов). Создаете для каждого пользователя два канала (Pipe), один на прием, другой на отдачу - прописываете максимальные скорости. Создаете для каждого канала две очереди (Queue), одна высокоприоритетная weight=70, другая низкоприоритетная weight=10. Создаете для каждой очереди правило, должно получиться два исходящих и два входящих правила, высокоприоритетные очереди настраиваются первыми, в них попадают пакеты не длиннее 100 байт. Отдельно настраивается безлимитный канал (Pipe), на который вешаются все исходящие DNS-запросы (UDP, port=53), можно прописать сюда все служебные TCP-пакеты (SYN, ACK etc.). Опционально в разделе NAT можно настроить входящие порты для клиентов.