Драсьте!
Возникла необходимость ограничить скорость пользователям, для этого решил воспользоваться 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. Вроде делаю всё правильно, но отчего-то не работает, вот выдержка
> из конфига (конфиг эксперементальный):Делай сквиду restart, а не reconfigure. Бага сквида, объявленная (в ФАК-е, кажется) фичейф: если делаешь reconfigure, то delay_pool-ы больше не работают.
> delay_access 1 allow it
> Фильм качается со скоростью около 10 мбайт/сек --- т.е. ограничение скорости не
> работает.
>> Драсьте!
>> Возникла необходимость ограничить скорость пользователям, для этого решил воспользоваться
>> 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 кб/с.Что же я делаю не так?
>[оверквотинг удален]
>> фичейф: если делаешь 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 снова в него попали, им переназначается скорость. Проверьте.
> У Вас пересекающие группы, группа 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 squidurl_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\.polymeracl 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 HEADacl 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 httpdelay_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
Ну вроде все верно, а попробуйте еще такой вариант, использовать 2 класс, а не 1все-таки во второй пул Вы подсеть проталкиваете, а для этого уже надо бы использовать 2-й класс, 1-й он индивидуальный. Ну и могу посоветовать с помощью cachemgr.cgi посмотреть, что вообще происходит с Delay_pool, если они работают, то там это будет видно, кто куда попал и у кого какой трафик.