PFSense Traffic Shaper
Вернее, речь идет о Limiter-е, ограничивающем скорость.
Во-первых, он может работать и совместно со сквидом, т.к. подцепляется к интерфейсу LAN.
Создаем
Идем в меню Firewall/Traffic Shaper, вкладка Limiter.
Создаем, как минимум, 2 лимитера: один - на аплоад, второй на даунлоад. Фишка в том, что лимитер на даунлоад не будет работать без лимитера на аплоаде.
Заполняем название, bandwidth, Burst, размерность, (опцианольно) шедулу; чуть ниже ставим маску.
Я называл лимитеры по скорости: 2Mb и 09_Mb
Bandwidth - согласно названию: 2 и 900, соответственно;
Burst - Величина в мегабайтах, до достижения которой лимитер не включается; я ставил 6 и 3
Bw type (оно же размерность) - Гигабиты, Мегабиты килобиты или биты в секунду. Я ставил Mbit/s для 2 и Kbit/s для 09_Mb;
Schedule можно оставить none;
Маску можно оставить none или выбрать по вкусу, хотя я бы рекомендовал выбирать по source. Выбрали - надо установить. 32 предназначена для одиночных хостов, вне зависимости от их количества.
Устанавливаем Limiter
Устанавливать можно индивидуально, но я бы рекомендовал в меню Firewall/Aliases создать некий псевдоним, под которым будут пониматься любые адреса, входящие в этот псевдоним (как бы группа). Например, псевдоним Low.
Теперь идем в Firewall/Rules, вкладка
LAN
Добавляем правило:
Action Pass
TCP/IP Version IPv4
Protocol Any
Source Low
Destination any
Advanced features → In/Out 09_Mb / 2Mb (надо помнить, что направление рассматривается по отношению к интерфейсу, и In - это скорость аплоада с наших зажимаемых машин, а Out - это входящий трафик, т.е. загрузка)
Жмем Save
Теперь для любой машины, включенной в группу (псевдоним) Low, будут действовать персональные ограничения 2.0 Mbit/sec на Download и 0.9 Mbit/sec на Upload