Документация по ОС FreeBSD Пятница, 10.05.2024, 06:28
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Apache [58]
DNS [25]
FTP [27]
Mail [74]
Samba [24]
Squid [46]
SSH [23]
VPN [35]
РРР [20]
Net [173]

Главная » Статьи » Сеть » Squid

Настройка Squid для начинающих (Часть 4)

ОГРАНИЧЕНИЯ ПО СКОРОСТИ

 

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

 

Пулы регулируются с помощью трех параметров: delay_class, delay_parameters, delay_access. Количество пулов указывается с помощью параметра delay_pools.

 

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

 

    1. Весь поток пива ограничен одним краном (на всю сеть).

 

    2. Весь поток пива ограничен одним краном, но при этом кран делится        на подкранчики (на каждый IP).

    3. Весь поток пива ограничен одним краном, но кран делится на подкранчики (на подсети), которые также делятся на мини кранчики (на каждый IP).

 

Форматы:

 

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

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

 

действие может быть allow (разрешить) и deny (запретить). При этом, данный пул действует на тех, кому он разрешен и не действует на тех, кому он запрещен. В случае, если указано allow all, а затем deny Pupkin, то на Пупкина данный класс всё-равно подействует, т.к. IP-адрес Пупкина объявленный в acl Pupkin, входит в список адресов acl all. Имейте это ввиду.

 

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

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

 

параметры отличаются в зависимости от класса пула:

 

для первого класса:

 

        delay_parameters 1  байт_на_всю_сеть

 

для второго класса:

 

        delay_parameters 1  на_всю_сеть на_клиента

 

для третьего класса:

 

        delay_parameters 1  на_всю_сеть на_подсеть на_клиента

 

Для примера, у нас канал на 128 Кбит (в среднем 15 Кбайт в секунду) и мы желаем Васе (Pupkin) дать всего 4 Кбайта/сек (на все про всё один маленький бокальчик), отделу программирования (Prog) дать всего 10 Кбайт/сек и на каждого всего по 5 Кб/сек (всего два бокальчика), всех остальных ограничить в 2 Кбайта/сек на каждого и 10 Кб/сек на всех, а файлы mp3 (media) ограничить в 3 Кбайта в секунду на всех (на всю бочку пива такой маленький кран). Тогда пишем:

 

        acl Prog    src    192.168.0.1-192.168.0.9

        acl Pupkin  src    192.168.0.10

        acl LocalNet src    192.168.0.0/255.255.255.0

        acl media   urlpath_regex -i \.mp3$ \.asf$ \.wma$

 

        delay_pools 4

        # сначала ограничим mp3

        delay_class 1 1

        delay_parameters 1 3000/3000

        delay_access 1 allow media

        delay_access 1 deny all

        # ограничим бедного Васю

        delay_class 2 1

        delay_parameters 2 4000/4000

        delay_access 2 allow Pupkin

        delay_access 2 deny all

        # ограничим отдел программирования

        delay_class 3 2

        delay_parameters 3 10000/10000 5000/5000

        delay_access 3 allow Prog

        delay_access 3 deny all

        # а теперь ограничим остальных (второй класс пула)

        delay_class 4 2

        delay_parameters 4 10000/10000  2000/2000

        delay_access 4 deny media

        delay_access 4 deny Pupkin

        delay_access 4 deny Prog

        delay_access 4 allow LocalNet

        delay_access 4 deny all

 

Часто возникает вопрос, а как лучше всего использовать столь малый канал, чтобы он автоматически делился между всеми теми, кто в данный момент что-либо загружает? На этот вопрос имеется однозначный ответ -средствами прокси сервера Squid этого сделать не возможно, но всё-таки кое-что предпринять можно:

 

        delay_class 1 2

        delay_parameters 1   -1/-1   5000/15000

        delay_access 1 allow LocalNet

        delay_access 1 deny all

 

Таким образом мы выделяем на всю нашу сеть и на подсети максимальный канал (-1 означает неограниченность), а каждому пользователю даем скорость максимум в 5 Кб/сек после того, как он скачает на максимальной скорости первые 15 Кбайт документа.

 

Таким образом клиент не съест весь канал, но достаточно быстро получит первые 15 Кбайт.
 
 
Категория: Squid | Добавил: oleg (11.11.2007)
Просмотров: 2498 | Рейтинг: 5.0/1 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024