URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 6689
[ Назад ]

Исходное сообщение
"delay_pools - не работает"

Отправлено stakado , 11-Авг-11 10:25 
Драсьте!
Возникла необходимость ограничить скорость пользователям, для этого решил воспользоваться delay_pools. Вроде делаю всё правильно, но отчего-то не работает, вот выдержка из конфига (конфиг эксперементальный):
...
acl it src 10.0.0.2/255.255.255.255 10.0.0.13/255.255.255.255 10.0.0.23/255.255.255.255
acl lan src 10.0.0.0/24
acl all src 0.0.0.0/0.0.0.0
# ещё определение разных подразделений по ip, портов и методов соединения
...
delay_pools 2
delay_class 1 1
delay_class 2 1
delay_access 1 allow it
delay_access 1 deny all
delay_access 2 allow lan
delay_access 2 deny all
delay_parameters 1 5000/5000
delay_parameters 2 -1/-1

Для проверки качаю фильм с апача, который стоит на том же сервере, что и сквид. Мой ip - 10.0.0.2, т.е. я отношусь к acl - it.
Фильм качается со скоростью около 10 мбайт/сек --- т.е. ограничение скорости не работает.

Версии:
Linux gtw 2.6.21.3 #6 SMP Fri Dec 7 13:39:42 EST 2007 x86_64 (изначально Мандрива 2007.0, ядро пересобрано)
Squid Cache: Version 2.6.STABLE1
configure options: ... '--enable-delay-pools'...


Содержание

Сообщения в этом обсуждении
"delay_pools - не работает"
Отправлено Andrey Mitrofanov , 11-Авг-11 13:05 
> Драсьте!
> Возникла необходимость ограничить скорость пользователям, для этого решил воспользоваться
> delay_pools. Вроде делаю всё правильно, но отчего-то не работает, вот выдержка
> из конфига (конфиг эксперементальный):

Делай сквиду restart, а не reconfigure. Бага сквида, объявленная (в ФАК-е, кажется) фичейф: если делаешь reconfigure, то delay_pool-ы больше не работают.

> delay_access 1 allow it
> Фильм качается со скоростью около 10 мбайт/сек --- т.е. ограничение скорости не
> работает.


"delay_pools - не работает"
Отправлено stakado , 11-Авг-11 13:25 
>> Драсьте!
>> Возникла необходимость ограничить скорость пользователям, для этого решил воспользоваться
>> delay_pools. Вроде делаю всё правильно, но отчего-то не работает, вот выдержка
>> из конфига (конфиг эксперементальный):
> Делай сквиду restart, а не reconfigure. Бага сквида, объявленная (в ФАК-е, кажется)
> фичейф: если делаешь reconfigure, то delay_pool-ы больше не работают.
>> delay_access 1 allow it
>> Фильм качается со скоростью около 10 мбайт/сек --- т.е. ограничение скорости не
>> работает.

Уже почитавши форум стал делать restart, до этого делал reload.
Ща экспериментировал и заметил странную вещь: если в конфиге указать:
delay_parameters 1 5000/5000 --- качает со скоростью чуть более 5 мб/сек
если же указать delay_parameters 1 2000/2000 --- качает со скоростью чуть менее 2 кб/с.

Что же я делаю не так?


"delay_pools - не работает"
Отправлено sherlock , 11-Авг-11 13:56 
>[оверквотинг удален]
>> фичейф: если делаешь reconfigure, то delay_pool-ы больше не работают.
>>> delay_access 1 allow it
>>> Фильм качается со скоростью около 10 мбайт/сек --- т.е. ограничение скорости не
>>> работает.
> Уже почитавши форум стал делать restart, до этого делал reload.
> Ща экспериментировал и заметил странную вещь: если в конфиге указать:
> delay_parameters 1 5000/5000 --- качает со скоростью чуть более 5 мб/сек
> если же указать delay_parameters 1 2000/2000 --- качает со скоростью чуть менее
> 2 кб/с.
> Что же я делаю не так?

У Вас пересекающие группы, группа IT еще и попадает в LAN
попробуйте переписать так:

delay_access 2 allow lan !it

я конечно не уверен в механизме, но не исключено, что механизм работы такой:
проверяются права доступа в 1 пул, отрабатывается, урезается скорость, потом проверяются права доступа во 2-ой пул, опаньки, IT снова в него попали, им переназначается скорость. Проверьте.


"delay_pools - не работает"
Отправлено stakado , 11-Авг-11 15:03 
> У Вас пересекающие группы, группа IT еще и попадает в LAN
> попробуйте переписать так:
> delay_access 2 allow lan !it
> я конечно не уверен в механизме, но не исключено, что механизм работы
> такой:
> проверяются права доступа в 1 пул, отрабатывается, урезается скорость, потом проверяются
> права доступа во 2-ой пул, опаньки, IT снова в него попали,
> им переназначается скорость. Проверьте.

Сделал так - ничего не изменилось.

Возможно я где-то в другом месте накосячил - привожу свой конфиг полностью:
[root@gtw new_router]# cat /etc/squid/squid.conf
# Recommended settings
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
acl Apache rep_header Server ^Apache
broken_vary_encoding allow apache
cache_mem 32 MB
ftp_passive off
refresh_pattern ^ftp:         &n... 1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern .               0       20%     4320
coredump_dir /var/spool/squid

# // My changes
http_port 3128
cache_mgr stakado@polymer
cache_dir ufs /home/services/squid 5000 32 512
access_log /var/log/squid/access.log squid

url_rewrite_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf

# ACL: общие
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8

# ACL: подразделения
acl lan src 10.0.0.0/24
acl wifi src 10.0.1.0/24
acl admin src 10.0.0.2/255.255.255.255
acl it src 10.0.0.2/255.255.255.255 10.0.0.13/255.255.255.255 10.0.0.23/255.255.255.255
acl mts src 10.0.0.3/255.255.255.255 10.0.0.6/255.255.255.255 10.0.0.11/255.255.255.255
acl otk src 10.0.0.20/255.255.255.255
acl medics src 10.0.0.30/255.255.255.255
acl pushers src 10.0.0.8/255.255.255.255
acl servers-bux src 10.20.0.0/255.255.255.0

# ACL: время
acl tubes-time time MTWHF 08:00-12:20
acl tubes-time time MTWHF 13:50-17:00

# ACL: адреса

acl all_traffic url_regex .*
acl local_httpd url_regex ^http://service\.polymer

acl rbc url_regex ^http://cbrates\.rbc\.ru/bnk/bnk.exe$
acl kav-bases url_regex -i ^http://dnl-[0-1][0-9]\.geo\.ka...
acl kav-bases url_regex -i ^http://downloads\.kaspersky-labs\.com
acl kav-bases url_regex -i ^http://downloads[0-9]\.kaspersky-labs\.com
acl kav-bases url_regex -i ^http://(ru|eu|us|cn|kr|jp)[1-9](f|h)\.kaspersky-labs\.com

# Онлайн видео
acl tubes-mime rep_mime_type -i video/*
acl tubes url_regex -i youtube\.com
acl tubes url_regex -i rutube\.ru
acl tubes url_regex -i tv-tube\.ru
acl tubes url_regex -i vkadre\.ru

# ACL: Списки
acl fileshares url_regex '/etc/squid/lists/fileshares.list'
acl counters url_regex '/etc/squid/lists/counters.list'
acl porno url_regex '/etc/squid/lists/porn.list'
acl various url_regex '/etc/squid/lists/various.list'
acl socialnets url_regex '/etc/squid/lists/socialnets.list'

# ACL: порты и методы установки соединений
acl CONNECT method CONNECT
acl HEAD method HEAD

acl SSL_ports port 443 563

acl Safe_ports port 80          # http
acl Safe_ports port 9009        # turbobit
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 8080        # other http

delay_pools 2
delay_class 1 1
delay_class 2 1
delay_access 1 allow it
delay_access 1 deny all
delay_access 2 allow lan !it
delay_access 2 deny all
delay_parameters 1 10000/10000
# delay_parameters 1 3000/3000
delay_parameters 2 -1/-1


# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager

# Общие правила доступа
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow lan local_httpd
http_access allow wifi local_httpd

# Запрет на просмотр видео
http_access deny lan !it tubes-time tubes
deny_info http://service.polymer/tubes.html tubes
http_reply_access deny lan !it tubes-time tubes-mime
deny_info http://service.polymer/tubes.html tubes-mime

# Правила доступа по подразделениям
# Открыть доступ серверам 1С к база каспера и рбк (для скачивания 1С-ом базы кладр)
http_access allow servers-bux kav-bases
http_access allow servers-bux rbc

# Заблокировать счетчик на mail.ru Дену - иначе не печатаются письма
http_access deny pushers counters
deny_info http://service.polymer/1x1.gif counters

# Открыть доступ сети и фай-фаю
http_access allow lan
http_access allow wifi

# Закрыть доступ всем остальным
http_access deny all

# Default settings
icp_access allow all


"delay_pools - не работает"
Отправлено sherlock , 12-Авг-11 06:02 
Ну вроде все верно, а попробуйте еще такой вариант, использовать 2 класс, а не 1

все-таки во второй пул Вы подсеть проталкиваете, а для этого уже надо бы использовать 2-й класс, 1-й он индивидуальный. Ну и могу посоветовать с помощью cachemgr.cgi посмотреть, что вообще происходит с Delay_pool, если они работают, то там это будет видно, кто куда попал и у кого какой трафик.