5. Ограничения по скорости Proxy server Squid

Ограничения по скорости

На сегодняшний день, когда ушли в прошлое каналы с пропускной способностью в 256 кбит/с и менее, можно ошибочно предположить что устанавливать ограничения по скорости соединения в случае небольшого количества клиентов локальной сети бессмысленно. Тем не менее, очень желательно устанавливать хотя бы самые простые правила регулирования скорости соединения для отдельных пользователей, чтобы избежать перегрузки сети и нехватки ресурсов для отдельных пользователей, для которых важна хорошая скорость работы сети. Подводные камни могут скрываться в следующих процессах:

  • автоматическое резервное копирование данных с сервера компании и прочие процессы передачи больших объемов данных, выполняющиеся сервером по расписанию;
  • операции передачи файлов для личных и рабочих нужд, особенно своей способностью использовать все доступные сетевые ресурсы известен протокол BitTorrent;
  • технические неисправности в отдельных компьютерах и программах, а так же действия вредоносных программ;
  • злонамеренные сетевые атаки на отдельные компьютеры локальной сети.

Прокси-сервер Squid позволяет реализовывать политику ограничения скорости с помощью механизма пулов. Пул можно представить себе, как емкость с водой, которая постоянно заполняется до краёв, а клиенты по мере надобности наливают воду в свои стаканы через персональные краны.

Работу пулов регулируют три директивы: delay_classdelay_parametersdelay_access.

Количество пулов устанавливает директива delay_pools:

delay_pools количество_объявленных_пулов

Создадим несколько пулов:

delay_pools 2 #всего 2 пула с номерами 1 и 2 соответственно

Пулы могут быть трёх классов:

  • Один кран на всю сеть ограничивает поток воды;
  • Весь поток ограничен одним краном, после которого идут отдельные персональные краны(для каждого IP-адреса сети);
  • Весь поток ограничен одним краном, от которого идут отдельные краны для каждой группы пользователей(подсети), каждый из которых, в свою очередь, делится на персональные краны для каждого клиента(для отдельного IP-адреса).

Класс пула должен быть указан в директиве delay_class:

delay_class номер_пула класс_пула

Укажем класс пула:

delay_class  1  1 #пул №1 ограничит скорость для всех клиентов, для которых он будет применен

Директива delay_parameters устанавливает параметры пула:

delay_parameters номер_пула параметры

Формат записи параметров зависит от выбранного класса пула:

delay_parameters 1  байт_на_всю_сеть # для класса 1
delay_parameters 1  на_всю_сеть на_клиента  #для класса 2
delay_parameters 1  на_всю_сеть на_подсеть на_клиента #для класса 3

Для пула №1 выбран класс 1, установим для него скорость передачи данных в 512 кбит/с:

delay_parameters 1 64000/64000  # 512 Кбит = 64 Кбайта = 64000 байт

Запись параметра производится по следующим правилам: сперва указывается ограничение скорости, затем указывается лимит, после которого это ограничение начинает действовать. Таким образом значение параметра 64000/64000 говорит о том, что после того, как пользователь скачал на максимальной скорости первые 64Кб запроса, на клиента накладывается ограничение скорости в 512 Кбит/с. Удобно устанавливать второе значение параметра несколько больше чем первое, например конфигурация:

delay_parameters 1 64000/256000  

позволяет пользователю получить первые 256Кбайт запроса на максимальной скорости и только потом ограничить клиента шириной канала в 512 Кбит/с.

Для снятия ограничений по скорости используйте значение -1, например:

delay_parameters 1 -1 #неограниченная скорость доступа для пула №1 

Теперь можно распространять действие пула на отдельных клиентов сети при помощи директивы delay_access, имеющей формат:

delay_access номер_пула действие имя_acl

Параметр “ действие” имеет значения allow (разрешить) и deny (запретить). Пул будет действовать на тех клиентов, которым он разрешен и не будет действовать на тех, кому запрещён.

Например, конфигурация:

delay_access      1  deny    UserGroup
delay_access      1  allow   SingleUser

распространяет действия пула №1 на отдельного пользователя SingleUser, но не затрагивает группу пользователей UserGroup.

Для группы пользователей используем пул №2:

delay_class  2  2 # пул №2 позволит отрегулировать общую ширину канала для всей группы клиентов и установить отдельные органичения для каждого пользователя группы. 

Опишем ограничения:

delay_parameters 2 512000/512000 64000/128000  # 8 Мбит/с - ограничение ширина канала для всей группы, на этой скорости клиент может скачать первые 128Кбайт запроса, а затем скорость его соединения упадёт до 512 Кбит/с.

Применим ограничения пула №2:

delay_access      1  allow  UserGroup #действует на группу пользователей UserGroup
delay_access      1  deny   SingleUser  #но не действует на отдельного пользователя SingleUser
  • 0 Пользователи нашли это полезным
Помог ли вам данный ответ?

Связанные статьи

3. Настройка DHCP и NAT

Настройка DHCP На данном этапе уже есть возможность указать на локальной машине статический...

6.Настройка кэширования и логов в прокси-сервере Squid

  Настройка логирования Squid имеет мощную систему подробного логирования для контроля...

2. Настройка локальной сети для прокси-сервера Squid

Настройка локальной сети Прежде чем переходить к установке и настройке прокси-сервера Squid,...

7. Анонимный прокси-сервер Squid на базе LХС Ubuntu 20.04

#Обновим репозиторий нашей системы: apt-get updateapt-get dist-upgrade Перезагружаемся с...

8. Анонимный free-proxy сервер от sytes.ru !

Если вы это читаете значит Вас интересует тема анонимного прокси сервера "Anonymous proxy...