LINUX.ORG.RU
ФорумAdmin

delay_pools и http_access


0

0

Задумался я вот над каким вопросом Допустим есть у меня acl user1 src 10.10.1.1/32 acl user2 src 10.10.1.2/32

acl site url_regex ^http://www.google.com

В секции http_access при перечислении acl в одной строке действует логика "И" http_access allow user1 site Пускает user1 только на www.google.com - логично http_access allow user1 user2 - не пускает ни одного ни другого ибо одновременного выполения этизх условий не может - тоже логично.

delay_access 1 allow user1 site - режет скорость для user1 только для сайта www.google.com И вот тут смотрим внимательно .... delay_access 2 allow user1 user2 - просто всовывает двух юзеров в один пул и оба через него ходят.

Где же тут соблюдение логики "И"? По последнему правилу ни один из них не должен был быть в пуле так как одновременно выполения условий не может быть.

Может в чем я не прав, так поправьте пожайлуста.

anonymous

в секции http_access нет никакого "И"

bash
()

Как это нет. Еще как есть. Конструкция что описана на примере www.google.com работает 100%

anonymous
()

ошибся, пардон :)) но то что ты предлагаешь - встречаю первый раз могу закинуть свой конф если надо, тоже пулы есть, но ограничений на проход к определённым сайтам по скорости нет :)

bash
()

Дело в том что , все описанное мной работает нормально Вопрос в том - распространяется ли логика "И" на delay_access allow 1 user1 user2 и т.д Выходит, что если засунуть юзеров в пул одной строкой , то это не должно работать, как так и там тоже работает "И" .

Может она и не работает . Не пойму я этого куска

anonymous
()

на delay_access логика "И" тоже распростроняется, делай:

delay_access 2 allow user1 user2 delay_access 2 deny all (и никто не пролезет :)))

bash
()

Ты видимо не понял что я пытаюсь выяснить.

допустим acl mp3 urlpath_regex \.mp3$ acl user1 src 10.10.1.1/32

delay_access allow user1 mp3 Это будет резать закачку пользователем user1 mp3 файлов тут явное "И"

а если delay_access allow 1 user1 user2 , то тут что-то нелогично применять логику "И" ибо применив ее вообще ни один из них в пул попасть не должон.

Подозреваю что , в таких случаях по контексту squid разбирает когда применять "И" а когда нет

anonymous
()

bash имеет ввиду, что когда эти юзеры пропускакются - действует правило по умолчанию т.к. этот один юзер ни в один пул не попадает. Т.е. в таком случае как я понимаю для юзера есть полный доступ. А вот если ты пропишешь еще правило "delay_access 2 deny all", тогда юзер не попавший в "delay_access 2 user1 user2" будет попадать на него и доступ для него будет запрещен.

UncleAndy ★★★
()

Из собственных опытов: да, если делать вариант N1, - работает, user попадает в pool, а вот если "delay_access 2 allow user1 user2" - у меня (у моего squid-а) действительно срабатывает логика "И" - т.е. кто б ни лез, одновременно быть user-ом "user1" и "user2" он не может, следовательно delay_access не срабатывает и user не попадает в pool.
Так же пробовал такое:
acl sp proxy_auth spirit
acl sp2 proxy_auth spirit2
acl comp src 192.168.20.161/255.255.255.255
delay_access 1 allow sp sp2 comp
delay_access 1 deny all
Не срабатывает (не засовывает в pool), ни под user-ом "spirit", ни под "spirit2", откуда бы не лез (хоть даже с 192.168.20.161).
Да, стоит squid-2.3.STABLE4.

spirit ★★★★★
()

ну если сделать delay_access 1 deny all то никто явно неуказаный в пул не попадет и будт качать с максимальной скоростью

Из это го и вышесказанного гарантированно работать будет если конкретно для каждого acl указывать параметр в отдельной строке

ss2001r
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.