Ограничиваем скорость доступа пользователям в интернет с помощью прокси-сервера Squid
Рано или поздно все сталкиваются с задачей ограничения скорости доступа в интернет для пользователей. Рассмотрим решение данной задачи при помощи прокси-сервера Squid (установить его можно по этой статье)
За ограничение скорости в Squid отвечает параметр delay_pools
. Принцип работы delay_pools
каждый запрашиваемый объект сначала попадает в пул, а затем передается клиенту. Каждый пул определяется двумя параметрами: скоростью его заполнения и размером буфера. Прим. размер пула 8000
и размер буфера 8000
, означает что скорость заполнения буфера будет 64 кБ/с
. Неограниченный размер буфера и скорости задается как -1/-1
. Размер буфера и скорость задается в байта.
Скорость заполнения пула зависит от класса delay_class
. Варианты доступных классов:
- Общие ограничения скорости загрузки для всех.
- Общие ограничения скорости загрузки и скорость каждого хоста.
- Общие ограничения скорости загрузки, скорость сети и скорость каждого хоста.
- Все ограничения класса 3 + ограничения на уровне отдельно взятых пользователей (требуется аутентификация пользователей в правилах http_access).
- Запросы группируются по тэгам определяемым в external_acl
JUQwJTkyJUQwJUI4JUQwJUI0JTIwJUQwJUI3JUQwJUIwJUQwJUJGJUQwJUI4JUQxJTgxJUQwJUI1JUQwJUI5JTIwZGVsYXlfcGFyYW1ldGVycyUyQyUyMCVEMCVCMiUyMCVEMCVCNyVEMCVCMCVEMCVCMiVEMCVCOCVEMSU4MSVEMCVCOCVEMCVCQyVEMCVCRSVEMSU4MSVEMSU4MiVEMCVCOCUyMCVEMCVCRSVEMSU4MiUyMCVEMCVCMiVEMSU4QiVEMCVCMSVEMSU4MCVEMCVCMCVEMCVCRCVEMCVCRCVEMCVCRSVEMCVCMyVEMCVCRSUyMCVEMCVCQSVEMCVCQiVEMCVCMCVEMSU4MSVEMSU4MSVEMCVCMCUzQQ==
- delay_parameters <номер пула> <общие ограничения для всех>
- delay_parameters <номер пула> <общие ограничения для всех> <ограничения для хоста>
- delay_parameters <номер пула> <общие ограничения для всех> <ограничения для подсети> <ограничения для хоста>
- delay_parameters <номер пула> <общие ограничения для всех> <ограничения для подсети> <ограничения для хоста> <ограничения для пользователя>
- delay_parameters <номер пула> <тегированные ограничения>
Разграничение скорости по группам пользователей
К примеру мы имеем локальную сеть 172.31.31.0/24, список пользователей без ограничений, список пользователей кому ограничивать скорость до 1024 кБ/с.
JUQwJUExJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQwJUI0JUQwJUI4JUQwJUJDJTIwJUQxJTgxJUQwJUJGJUQwJUI4JUQxJTgxJUQwJUJBJUQwJUI4JTIwJUQwJUJGJUQwJUJFJUQwJUJCJUQxJThDJUQwJUI3JUQwJUJFJUQwJUIyJUQwJUIwJUQxJTgyJUQwJUI1JUQwJUJCJUQwJUI1JUQwJUI5JTIwJUQxJTgxJTIwSVAtJUQwJUIwJUQwJUI0JUQxJTgwJUQwJUI1JUQxJTgxJUQwJUIwJUQwJUJDJUQwJUI4JTNB
sudo touch /etc/squid/Admins_Unlim.txt # Администраторы без ограничение скорости sudo touch /etc/squid/Users_Speed_1M.txt # Пользователи с ограничением скорости 1Mb
SVAtJUQwJUIwJUQwJUI0JUQxJTgwJUQwJUI1JUQxJTgxJUQwJUIwJTIwJUQwJUJGJUQwJUJFJUQwJUJCJUQxJThDJUQwJUI3JUQwJUJFJUQwJUIyJUQwJUIwJUQxJTgyJUQwJUI1JUQwJUJCJUQwJUI1JUQwJUI5JTIwJUQwJUIyJTIwJUQxJTgyJUQwJUI1JUQwJUJBJUQxJTgxJUQxJTgyJUQwJUJFJUQwJUIyJUQxJThCJUQwJUI1JTIwJUQxJTg0JUQwJUIwJUQwJUI5JUQwJUJCJUQxJThCJTIwJUQwJUI3JUQwJUIwJUQwJUJEJUQwJUJFJUQxJTgxJUQwJUI4JUQwJUJDJTIwJUQwJUIyJTIwJUQxJTgxJUQxJTgyJUQxJTgwJUQwJUJFJUQxJTg3JUQwJUJEJUQwJUJFJUQwJUJDJTIwJUQwJUJGJUQwJUJFJUQxJTgwJUQxJThGJUQwJUI0JUQwJUJBJUQwJUI1JTNB
172.31.31.10 172.31.31.13 172.31.31.15 и т.д.
Переходим к редактированию конфигурации Squid
sudo nano /etc/squid/squid.conf
Указываем списки доступа (acl):
# Локальная сеть acl localnet src 172.31.31.0/24 # Путь к списку IP-адресов пользователей, без ограничения скорости acl Admins_Unlim src "/etc/squid/Admins_Unlim.txt" # Путь к списку IP-адресов пользователей, с ограничением скорости 1Mb acl Users_Speed_1M src "/etc/squid/Users_Speed_1M.txt"
Указываем права доступа:
# Разрешаем только локальную сеть http_access allow localnet # Блокирует все остальное http_access deny all
JUQwJTk3JUQwJUIwJUQwJUI0JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUJGJUQxJTgzJUQwJUJCJUQxJThCJTIwJUQwJUJGJUQwJUJFJTIwJUQwJUJBJUQwJUJFJUQxJTgyJUQwJUJFJUQxJTgwJUQxJThCJUQwJUJDJTIwJUQwJUIxJUQxJTgzJUQwJUI0JUQxJTgzJUQxJTgyJTIwJUQwJUJGJUQxJTgwJUQwJUJFJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUI4JUQxJTgyJUQxJThDJTIwJUQwJUJGJUQwJUJFJUQwJUJCJUQxJThDJUQwJUI3JUQwJUJFJUQwJUIyJUQwJUIwJUQxJTgyJUQwJUI1JUQwJUJCJUQwJUI4JTNB
# Кол-во пулов delay_pools 2 # Первый пул и его класс delay_class 1 1 # Второй пул и его класс delay_class 2 1
JUQwJTk3JUQwJUIwJUQwJUI0JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUIzJUQxJTgwJUQxJTgzJUQwJUJGJUQwJUJGJUQxJThCJTIwJUQwJUI0JUQwJUJFJUQxJTgxJUQxJTgyJUQxJTgzJUQwJUJGJUQwJUIwJTIwJUQwJUJBJTIwJUQwJUJGJUQxJTgzJUQwJUJCJUQwJUIwJUQwJUJDJTNB
# Доступ к пулу 1 пользователей из списка Admins_Unlim delay_access 1 allow Admins_Unlim # Остальных не пропускаем в этот пул delay_access 1 deny all # Доступ к пулу 2 пользователей из списка Users_Speed_1M delay_access 2 allow Users_Speed_1M # Остальных не пропускаем в этот пул delay_access 2 deny all
Задаем параметры пулов:
# Первому пулу без ограничения размера буфера и скорости delay_parameters 1 -1/-1 # Второму пулу ограничиваем размер буфера и скорость в 1024 кБ/с delay_parameters 2 128000/128000
[stextbox id=’info’]Параметры пулов указываются по порядку: общие — подсеть — хост и в том же порядке они перекрывают друг друга. Если, например, на общем уровне действуют ограничения на размер файла, то они автоматически распространяются на подсеть и хост.[/stextbox]
Сохраняем конфиг. и перезапускаем Squid. Проверяем работу.
Разграничение скорости по группам пользователей Active Directory
JUQwJTk0JUQwJUJCJUQxJThGJTIwJUQwJUJFJUQwJUIzJUQxJTgwJUQwJUIwJUQwJUJEJUQwJUI4JUQxJTg3JUQwJUI1JUQwJUJEJUQwJUI4JUQxJThGJTIwJUQxJTgxJUQwJUJBJUQwJUJFJUQxJTgwJUQwJUJFJUQxJTgxJUQxJTgyJUQwJUI4JTIwJUQwJUI4JUQwJUJEJUQxJTgyJUQwJUI1JUQxJTgwJUQwJUJEJUQwJUI1JUQxJTgyJUQwJUIwJTIwJUQwJUJEJUQwJUIwJTIwJUQwJUJFJUQxJTgxJUQwJUJEJUQwJUJFJUQwJUIyJUQwJUI1JTIwQWN0aXZlJTIwRGlyZWN0b3J5JTIwJUQwJUIzJUQxJTgwJUQxJTgzJUQwJUJGJUQwJUJGJTJDJTIwJUQwJUJGJUQxJTgwJUQwJUI4JUQwJUJDJUQwJUI1JUQwJUJEJUQxJThGJUQxJThFJUQxJTgyJUQxJTgxJUQxJThGJTIwJUQwJUJGJUQxJTgwJUQwJUIwJUQwJUJBJUQxJTgyJUQwJUI4JUQxJTg3JUQwJUI1JUQxJTgxJUQwJUJBJUQwJUI4JTIwJUQwJUIwJUQwJUJEJUQwJUIwJUQwJUJCJUQwJUJFJUQwJUIzJUQwJUI4JUQxJTg3JUQwJUJEJUQxJThCJUQwJUI1JTIwJUQwJUJEJUQwJUIwJUQxJTgxJUQxJTgyJUQxJTgwJUQwJUJFJUQwJUI5JUQwJUJBJUQwJUI4JTIwJUQxJTg3JUQxJTgyJUQwJUJFJTIwJUQwJUJFJUQwJUJGJUQwJUI4JUQxJTgxJUQwJUIwJUQwJUJEJUQxJThCJTIwJUQwJUIyJUQxJThCJUQxJTg4JUQwJUI1JTJDJTIwJUQwJUI3JUQwJUIwJTIwJUQwJUI4JUQxJTgxJUQwJUJBJUQwJUJCJUQxJThFJUQxJTg3JUQwJUI1JUQwJUJEJUQwJUI4JUQwJUI1JUQwJUJDJTIwJUQwJUJGJUQwJUIwJUQxJTgwJUQwJUIwJUQwJUJDJUQwJUI1JUQxJTgyJUQxJTgwJUQwJUJFJUQwJUIyJTIwJUQwJUJFJUQwJUJGJUQxJTgwJUQwJUI1JUQwJUI0JUQwJUI1JUQwJUJCJUQwJUI1JUQwJUJEJUQwJUI4JUQxJThGJTIwJUQxJThEJUQxJTgyJUQwJUI4JUQxJTg1JTIwJUQxJTgxJUQwJUIwJUQwJUJDJUQxJThCJUQxJTg1JTIwJUQwJUIzJUQxJTgwJUQxJTgzJUQwJUJGJUQwJUJGJTIwQUQuJTIwJUQwJTlEJUQwJUI4JUQwJUI2JUQwJUI1JTIwJUQwJUJFJUQwJUJGJUQwJUI4JUQxJTgxJUQwJUIwJUQwJUJEJUQwJUJEJUQxJThCJUQwJUI5JTIwJUQxJTgxJUQwJUJGJUQwJUJFJUQxJTgxJUQwJUJFJUQwJUIxJTIwJUQwJUJGJUQxJTgwJUQwJUI1JUQwJUI0JUQwJUJGJUQwJUJFJUQwJUJCJUQwJUIwJUQwJUIzJUQwJUIwJUQwJUI1JUQxJTgyJTIwJUQxJTg3JUQxJTgyJUQwJUJFJTIwJUQxJTgzJTIwJUQwJUIyJUQwJUIwJUQxJTgxJTIwJUQxJTgzJUQwJUI2JUQwJUI1JTIwJUQwJUJEJUQwJUIwJUQxJTgxJUQxJTgyJUQxJTgwJUQwJUJFJUQwJUI1JUQwJUJEJUQwJUIwJTIwJUQxJTgxJUQwJUIyJUQxJThGJUQwJUI3JUQwJUJBJUQwJUIwJTIwU3F1aWQlMjAlMkIlMjBBY3RpdmUlMjBEaXJlY3RvcnklMjAoJUQwJUJBJUQwJUIwJUQwJUJBJTIwJUQwJUJEJUQwJUIwJUQxJTgxJUQxJTgyJUQxJTgwJUQwJUJFJUQwJUI4JUQxJTgyJUQxJThDJTIwJUQxJTgxJUQwJUIyJUQxJThGJUQwJUI3JUQwJUJBJUQxJTgzJTIwJUQwJUJGJUQwJUJFJUQwJUI0JUQxJTgwJUQwJUJFJUQwJUIxJUQwJUJEJUQwJUJFJTIwJUQwJUJFJUQwJUJGJUQwJUI4JUQxJTgxJUQwJUIwJUQwJUJEJUQwJUJFJTIwJUQwJUI3JUQwJUI0JUQwJUI1JUQxJTgxJUQxJThDKS4lMjAlRDAlQTAlRDAlQjAlRDElODElRDElODElRDAlQkMlRDAlQkUlRDElODIlRDElODAlRDAlQjglRDAlQkMlMjAlRDAlQkQlRDAlQjUlRDElODElRDAlQkElRDAlQkUlRDAlQkIlRDElOEMlRDAlQkElRDAlQkUlMjAlRDAlQjglRDAlQkQlRDElODMlRDElOEUlMjAlRDElODElRDAlQjglRDElODIlRDElODMlRDAlQjAlRDElODYlRDAlQjglRDElOEUlMjAlRDAlQkUlRDAlQjMlRDElODAlRDAlQjAlRDAlQkQlRDAlQjglRDElODclRDAlQjUlRDAlQkQlRDAlQjglRDElOEYlMjAlRDElODElRDAlQkElRDAlQkUlRDElODAlRDAlQkUlRDElODElRDElODIlRDAlQjglMkMlMjAlRDAlQjQlRDAlQjAlRDAlQjElRDElOEIlMjAlRDElODAlRDAlQjAlRDAlQjclRDAlQkQlRDAlQkUlRDAlQkUlRDAlQjElRDElODAlRDAlQjAlRDAlQjclRDAlQjglRDElODIlRDElOEMlMjAlRDAlQkUlRDAlQkYlRDAlQjglRDElODElRDAlQjAlRDAlQkQlRDAlQjglRDAlQjUu
JUQwJTk4JUQwJUJDJUQwJUI1JUQwJUI1JUQwJUJDJTIwJUQwJUIyJUQxJTg1JUQwJUJFJUQwJUI0JUQxJThGJUQxJTg5JUQwJUI4JUQwJUI5JTIwJUQwJUJBJUQwJUIwJUQwJUJEJUQwJUIwJUQwJUJCJTIwJUQwJUI4JUQwJUJEJUQxJTgyJUQwJUI1JUQxJTgwJUQwJUJEJUQwJUI1JUQxJTgyJUQwJUIwJTIwMTBNYiUyQyUyMCVEMCVCNCVEMCVCMiVEMCVCNSUyMCVEMCVCQiVEMCVCRSVEMCVCQSVEMCVCMCVEMCVCQiVEMSU4QyVEMCVCRCVEMSU4QiVEMCVCNSUyMCVEMSU4MSVEMCVCNSVEMSU4MiVEMCVCOCVDMiVBMDE3Mi4zMS4zMS4wJTJGMjQlMjAlRDAlQjglQzIlQTAxNzIuMzEuMzIuMCUyRjI0JTJDJTIwJUQwJUIzJUQxJTgwJUQxJTgzJUQwJUJGJUQwJUJGJUQxJThCJTIwJUQwJUJGJUQwJUJFJUQwJUJCJUQxJThDJUQwJUI3JUQwJUJFJUQwJUIyJUQwJUIwJUQxJTgyJUQwJUI1JUQwJUJCJUQwJUI1JUQwJUI5JTIwJUQwJUIyJTIwQUQlQzIlQTAlRTIlODAlOTQlQzIlQTBBZG1pbnNfVW5saW0lMjAoJUQwJUIwJUQwJUI0JUQwJUJDJUQwJUI4JUQwJUJEJUQwJUI4JUQxJTgxJUQxJTgyJUQxJTgwJUQwJUIwJUQxJTgyJUQwJUJFJUQxJTgwJUQxJThCJTIwJUUyJTgwJTk0JTIwJUQwJUIxJUQwJUI1JUQwJUI3JTIwJUQwJUJFJUQwJUIzJUQxJTgwJUQwJUIwJUQwJUJEJUQwJUI4JUQxJTg3JUQwJUI1JUQwJUJEJUQwJUI4JUQwJUI5KSUyQyUyMFVzZXJzX1NwZWVkXzEyOCVDMiVBMCglRDAlQkYlRDAlQkUlRDAlQkIlRDElOEMlRDAlQjclRDAlQkUlRDAlQjIlRDAlQjAlRDElODIlRDAlQjUlRDAlQkIlRDAlQjglMjAlRDElODElMjAlRDAlQkUlRDAlQjMlRDElODAlRDAlQjAlRDAlQkQlRDAlQjglRDElODclRDAlQjUlRDAlQkQlRDAlQjglRDElOEYlRDAlQkMlRDAlQjgpLiUyMCVEMCU5NyVEMCVCMCVEMCVCNCVEMCVCMCVEMSU4NyVEMCVCMCUyMCVEMCVCRiVEMCVCRSVEMCVCNCVEMCVCNSVEMCVCQiVEMCVCOCVEMSU4MiVEMSU4QyUyMCVEMCVCQSVEMCVCMCVEMCVCRCVEMCVCMCVEMCVCQiUyMCVEMCVCOCVEMCVCRCVEMSU4MiVEMCVCNSVEMSU4MCVEMCVCRCVEMCVCNSVEMSU4MiVEMCVCMCUyMCVEMCVCRiVEMCVCRSVEMSU4MCVEMCVCRSVEMCVCMiVEMCVCRCVEMSU4MyUyMCVEMCVCRCVEMCVCMCUyMCVEMCVCNCVEMCVCMiVEMCVCNSUyMCVEMSU4MSVEMCVCNSVEMSU4MiVEMCVCOCUyQyUyMCVEMCVCMyVEMSU4MCVEMSU4MyVEMCVCRiVEMCVCRiVEMCVCNSUyMCVEMCVCRiVEMCVCRSVEMCVCQiVEMSU4QyVEMCVCNyVEMCVCRSVEMCVCMiVEMCVCMCVEMSU4MiVEMCVCNSVEMCVCQiVEMCVCNSVEMCVCOSUyMEFkbWluc19VbmxpbSUyMCVEMCVCRiVEMSU4MCVEMCVCNSVEMCVCNCVEMCVCRSVEMSU4MSVEMSU4MiVEMCVCMCVEMCVCMiVEMCVCQiVEMSU4RiVEMSU4MiVEMSU4QyUyMCVEMSU4MSVEMCVCQSVEMCVCRSVEMSU4MCVEMCVCRSVEMSU4MSVEMSU4MiVEMSU4QyUyMCVEMCVCMSVEMCVCNSVEMCVCNyUyMCVEMCVCRSVEMCVCMyVEMSU4MCVEMCVCMCVEMCVCRCVEMCVCOCVEMSU4NyVEMCVCNSVEMCVCRCVEMCVCOCVEMSU4RiUyQyUyMCVEMCVCMyVEMSU4MCVEMSU4MyVEMCVCRiVEMCVCRiVEMCVCNSUyMFVzZXJzX1NwZWVkXzY0JUMyJUEwJUQwJUI2JUQwJUI1JUQxJTgxJUQxJTgyJUQwJUJBJUQwJUJFJTIwJUQwJUJFJUQwJUIzJUQxJTgwJUQwJUIwJUQwJUJEJUQwJUI4JUQxJTg3JUQwJUI4JUQwJUIyJUQwJUIwJUQxJTgyJUQxJThDJTIwJUQxJTgxJUQwJUJBJUQwJUJFJUQxJTgwJUQwJUJFJUQxJTgxJUQxJTgyJUQxJThDJTIwJUQwJUI0JUQwJUJFJTIwNjQlQzIlQTAlRDAlQkElRDAlOTElMkYlRDElODElMkMlMjAlRDAlQjIlRDElODElRDAlQjUlRDAlQkMlMjAlRDAlQkUlRDElODElRDElODIlRDAlQjAlRDAlQkIlRDElOEMlRDAlQkQlRDElOEIlRDAlQkMlMjAlRDAlQjAlRDAlQjIlRDElODIlRDAlQkUlRDElODAlRDAlQjglRDAlQjclRDAlQkUlRDAlQjIlRDAlQjAlRDAlQkQlRDAlQkQlRDElOEIlRDAlQkMlMjAlRDAlQkYlRDAlQkUlRDAlQkIlRDElOEMlRDAlQjclRDAlQkUlRDAlQjIlRDAlQjAlRDElODIlRDAlQjUlRDAlQkIlRDElOEYlRDAlQkMlMjBBRCUyMCVEMCVCRSVEMCVCMyVEMSU4MCVEMCVCMCVEMCVCRCVEMCVCOCVEMSU4NyVEMCVCOCVEMCVCMiVEMCVCMCVEMSU4MiVEMSU4QyUyMCVEMSU4MSVEMCVCQSVEMCVCRSVEMSU4MCVEMCVCRSVEMSU4MSVEMSU4MiVEMSU4QyUyMDUxMiUyMCVEMCVCQSVEMCVCMSUyRiVEMSU4MS4=
JUQwJTlGJUQwJUI1JUQxJTgwJUQwJUI1JUQxJTg1JUQwJUJFJUQwJUI0JUQwJUI4JUQwJUJDJTIwJUQwJUJBJTIwJUQxJTgwJUQwJUI1JUQwJUI0JUQwJUIwJUQwJUJBJUQxJTgyJUQwJUI4JUQxJTgwJUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJUQwJUI4JUQxJThFJTIwJUQwJUJBJUQwJUJFJUQwJUJEJUQxJTg0JUQwJUI4JUQwJUIzJUQxJTgzJUQxJTgwJUQwJUIwJUQxJTg2JUQwJUI4JUQwJUI4JTIwU3F1aWQ=
sudo nano /etc/squid/squid.conf
Указываем какие группы в AD мы будем использовать в Squid:
# Указываем какие группы в AD будут использоваться в Squid external_acl_type Admins_Unlim ttl=5 negative_ttl=5 %LOGIN/usr/lib/squid3/ext_kerberos_ldap_group_acl -a -g Admin_Unlim -D TESTZONE.LOCAL external_acl_type Users_Speed_64 ttl=5 negative_ttl=5 %LOGIN/usr/lib/squid3/ext_kerberos_ldap_group_acl -a -g Users_Speed_64 -D TESTZONE.LOCAL
Указываем разрешенные локальные сети (acl):
# Локальная сеть 1 acl localnet1 src 172.31.31.0/24 # Локальная сеть 2 acl localnet1 src 172.31.32.0/24 # Группа в AD без ограничений скорости acl Admins_Unlim external Admins_Unlim # Группа в AD с жесткими ограничениями скорости acl Users_Speed_64 external Users_Speed_64
JUQwJUEzJUQwJUJBJUQwJUIwJUQwJUI3JUQxJThCJUQwJUIyJUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUJGJUQxJTgwJUQwJUIwJUQwJUIyJUQwJUIwJTIwJUQwJUI0JUQwJUJFJUQxJTgxJUQxJTgyJUQxJTgzJUQwJUJGJUQwJUIwJTNB
# Разрешаем доступ только авторизованным пользователям AD. http_access allow auth # Разрешаем доступ из Локальной сети 1 http_access allow localnet1 # Разрешаем доступ из Локальной сети 2 http_access allow localnet2 # Остальным доступ блокируем http_access deny all
Задаем пулы по которым будут проходить пользователи:
# Кол-во пулов delay_pools 2 # Первый пул и его класс delay_class 1 1 # Второй пул и его класс delay_class 2 1 # Третий пул и его класс delay_class 3 3
JUQwJTk3JUQwJUIwJUQwJUI0JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUIzJUQxJTgwJUQxJTgzJUQwJUJGJUQwJUJGJUQxJThCJTIwJUQwJUI0JUQwJUJFJUQxJTgxJUQxJTgyJUQxJTgzJUQwJUJGJUQwJUIwJTIwJUQwJUJBJTIwJUQwJUJGJUQxJTgzJUQwJUJCJUQwJUIwJUQwJUJDJTNB
# Доступ к пулу 1 пользователей из списка Admins_Unlim delay_access 1 allow Admins_Unlim # Остальных не пропускаем в этот пул delay_access 1 deny all # Доступ к пулу 2 пользователей из списка User_Speed_64 delay_access 2 allow User_Speed_64 # Остальных не пропускаем в этот пул delay_access 2 deny all # Доступ к пулу 3 Локальной сети 1 delay_access 3 allow localnet1 # Доступ к пулу 3 Локальной сети 2 delay_access 3 allow localnet2 # Остальных не пропускаем в этот пул delay_access 3 deny all
JUQwJTk3JUQwJUIwJUQwJUI0JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUJGJUQwJUIwJUQxJTgwJUQwJUIwJUQwJUJDJUQwJUI1JUQxJTgyJUQxJTgwJUQxJThCJTIwJUQwJUJGJUQxJTgzJUQwJUJCJUQwJUJFJUQwJUIyJTNB
# Первому пулу без ограничения размера буфера и скорости delay_parameters 1 -1/-1 # Второму пулу ограничиваем размер буфера и скорость на пользователя 64 кБ/с delay_parameters 2 8000/8000 # Третьему пулу ограничиваем размер буфера и скорость на локальную сеть 5Mb и на хост 512 кБ/с delay_parameters 3 -1/-1 640000/640000 64000/64000
JUQwJUExJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUIyJTIwQWN0aXZlJTIwRGlyZWN0b3J5JTIwJUQwJUI0JUQwJUIyJUQwJUI1JTIwJUQwJUIzJUQxJTgwJUQxJTgzJUQwJUJGJUQwJUJGJUQxJThCJTJDJTIwJUQwJUJBJUQwJUJFJUQxJTgyJUQwJUJFJUQxJTgwJUQxJThCJUQwJUI1JTIwJUQwJUJDJUQxJThCJTIwJUQxJTgzJUQwJUJBJUQwJUIwJUQwJUI3JUQwJUIwJUQwJUJCJUQwJUI4JTIwJUQwJUIyJTIwJUQwJUJBJUQwJUJFJUQwJUJEJUQxJTg0JUQwJUI4JUQwJUIzJUQwJUI1JTIwKEFkbWluc19VbmxpbSUyQyUyMFVzZXJzX1NwZWVkXzY0KSUyMCVEMCVCOCUyMCVEMCVCMiVEMCVCQSVEMCVCQiVEMSU4RSVEMSU4NyVEMCVCMCVEMCVCNSVEMCVCQyUyMCVEMCVCMiUyMCVEMCVCRCVEMCVCOCVEMSU4NSUyMCVEMCVCRiVEMCVCRSVEMCVCQiVEMSU4QyVEMCVCNyVEMCVCRSVEMCVCMiVEMCVCMCVEMSU4MiVEMCVCNSVEMCVCQiVEMCVCNSVEMCVCOS4lMjAlRDAlQTElRDAlQkUlRDElODUlRDElODAlRDAlQjAlRDAlQkQlRDElOEYlRDAlQjUlRDAlQkMlMjAlRDAlQkElRDAlQkUlRDAlQkQlRDElODQlRDAlQjglRDAlQjMuJTIwJUQwJUI4JUMyJUEwJUQwJUJGJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUI3JUQwJUIwJUQwJUJGJUQxJTgzJUQxJTgxJUQwJUJBJUQwJUIwJUQwJUI1JUQwJUJDJTIwU3F1aWQuJTIwJUQwJTlGJUQxJTgwJUQwJUJFJUQwJUIyJUQwJUI1JUQxJTgwJUQxJThGJUQwJUI1JUQwJUJDJTIwJUQxJTgwJUQwJUIwJUQwJUIxJUQwJUJFJUQxJTgyJUQxJTgzLg==
Мы рассмотрели основные варианты ограничения скорости интернета с использованием delay_class 1,2 и 3 класса. Их вполне достаточно чтобы реализовывать различные задачи по ограничению скорости.
Обзор использования 4 и 5 delay_class классов.
JUQwJTlEJUQwJUI1JUQwJUJDJUQwJUJEJUQwJUJFJUQwJUIzJUQwJUJFJTIwJUQxJTgxJUQwJUJCJUQwJUJFJUQwJUIyJTIwJUQwJUJFJUQwJUIxJTIwJUQxJThEJUQxJTgyJUQwJUI4JUQxJTg1JTIwJUQwJUI0JUQwJUIyJUQxJTgzJUQxJTg1JTIwJUQwJUJBJUQwJUJCJUQwJUIwJUQxJTgxJUQxJTgxJUQwJUIwJUQxJTg1Lg==
4 класс идентичный классу 3, только в нем есть возможность задавать размер буфера и скорости не только по хосту, но и по пользователю (если используется NCSA-авторизация. Как настроить ее описано здесь). Хочу заметить что если пользователь авторизуется на нескольких ПК под одним логином, то скорость ему поделится на равные части от выделенной на каждого пользователя (прим. на пользователя выделено 16000/16000, пользователь заходит в интернет под своим логином на двух разных ПК, то скорость будет у него на каждом из ПК равна 8000/8000).
Использование пула выглядит так:
# Кол-во пулов delay_pools 1 # Первый пул и его класс delay_class 1 4 # Доступ к пулу 1 пользователей из списка прокси-авторизации internet_users delay_access 1 allow internet_users # Остальных не пропускаем в этот пул delay_access 1 deny all # Не ограничиваем размер буфера и скорость на локальную сеть и на хост, а пользователю ограничиваем на 512 кБ/с delay_parameters 1 -1/-1 -1/-1 -1/-1 64000/64000
Сохраняем конфиг. и перезапускаем Squid. Проверяем работу.
NSUyMCVEMCVCQSVEMCVCQiVEMCVCMCVEMSU4MSVEMSU4MSVDMiVBMCVEMCVCRiVEMCVCRSVEMCVCQSVEMCVCMCUyMCVEMSU4NyVEMSU4MiVEMCVCRSUyMCVEMCVCRCVEMCVCNSUyMCVEMCVCNCVEMCVCRSVEMSU4OCVEMCVCQiVEMCVCOCUyMCVEMSU4MCVEMCVCMCVEMCVCNyVEMCVCRSVEMCVCMSVEMSU4MCVEMCVCMCVEMSU4MiVEMSU4QyVEMSU4MSVEMSU4RiUyMCVEMCVCMiUyMCVEMCVCRCVEMCVCNSVEMCVCQyVFMiU4MCVBNiUyMCVGMCU5RiU5OSU4MQ==
ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ
будет ли корректно работать такая конструкция ?)
http_access allow localnet
http_access allow localhost
http_access deny all
acl shef src «/etc/squid/user»
acl dostupurl url_regex «/etc/squid/dostup_url»
acl bad_url url_regex «/etc/squid/bad_url»
acl bad_slovo url_regex «/etc/squid/bad_slovo»
acl multimedia url_regex -i «/etc/squid/ban_suite»
#acl multimedia2 rep_mime_type -i ^video
acl media1 urlpath_regex -i mp3$ flv$ avi$ mp4$ swf$
acl rabota url_regex -i .permstat.gks.ru* .consultant.ru*
http_access deny media1 !shef
http_access deny bad_slovo
http_access deny bad_url !shef
delay_pools 1
delay_class 1 2
delay_parameters 1 20000/12000 9000/9000
#delay_access 1 allow multimedia2 !shef !dostupurl
delay_access 1 allow multimedia !shef
delay_access 1 allow multimedia !rabota
delay_access 1 allow multimedia !dostupurl
delay_access 1 deny all
желание порезать скорость не по хостам а по контенту)
и как squid отработает логику если писать так #delay_access 1 allow multimedia2 !shef !dostupurl