Ограничиваем скорость доступа пользователям в интернет с помощью прокси-сервера Squid
Рано или поздно все сталкиваются с задачей ограничения скорости доступа в интернет для пользователей. Рассмотрим решение данной задачи при помощи прокси-сервера Squid (установить его можно по этой статье)
За ограничение скорости в Squid отвечает параметр delay_pools
. Принцип работы delay_pools
каждый запрашиваемый объект сначала попадает в пул, а затем передается клиенту. Каждый пул определяется двумя параметрами: скоростью его заполнения и размером буфера. Прим. размер пула 8000
и размер буфера 8000
, означает что скорость заполнения буфера будет 64 кБ/с
. Неограниченный размер буфера и скорости задается как -1/-1
. Размер буфера и скорость задается в байта.
Скорость заполнения пула зависит от класса delay_class
. Варианты доступных классов:
- Общие ограничения скорости загрузки для всех.
- Общие ограничения скорости загрузки и скорость каждого хоста.
- Общие ограничения скорости загрузки, скорость сети и скорость каждого хоста.
- Все ограничения класса 3 + ограничения на уровне отдельно взятых пользователей (требуется аутентификация пользователей в правилах http_access).
- Запросы группируются по тэгам определяемым в external_acl
Вид записей delay_parameters
, в зависимости от выбранного класса:
- delay_parameters <номер пула> <общие ограничения для всех>
- delay_parameters <номер пула> <общие ограничения для всех> <ограничения для хоста>
- delay_parameters <номер пула> <общие ограничения для всех> <ограничения для подсети> <ограничения для хоста>
- delay_parameters <номер пула> <общие ограничения для всех> <ограничения для подсети> <ограничения для хоста> <ограничения для пользователя>
- delay_parameters <номер пула> <тегированные ограничения>