Лев Забудкин написал подробную статью посвященную настройке прокси сервера squid. Особое внимание уделяется использованию ACL, лимитированию скорости прокачки и оптимизиции процесса кеширования.URL: http://www.opennet.me/base/net/squid_inst.txt.html
Новость: http://www.opennet.me/opennews/art.shtml?num=4919
Есть канал в Интернет 512Кбит. Хочется, чтобы он равномерно использовался всеми пользователями.
Поставил ограничения в squid - каждому по 128Кбит.
После проверки вроде бы все правильно - действительно каждому выдается его 128Кбит.
Но когда начинаю смотреть загрузку канала извне, получается немного другая ситация.
Squid скачивает файлы с Интернета на полной скорости, а отдает уже с ограничением.
Т.е. если например пользователь поставил скачивать большой файл, то squid начнет качать его на полную катушку и забьет весь канал.
И эти 10-20 минут канал будет загружен этим пользователем, хотя реально он докачает файл позже.
Т.е. канал будет загружаться нерамномерно, и, как следствие, качество Интернет для пользователей будет хуже, чем могло бы быть.
Можно ли это как-то пофиксить? Или хотя бы ткните в форум, где описано решение этой проблемы.
Заранее спасибо.
см ipfw pipe
man ipfw
man dummynetтам есть примеры
Читать squid.conf.default параметр delay_parameters
весь трафик в сквид не завернешь
>Есть канал в Интернет 512Кбит. Хочется, чтобы он равномерно использовался всеми пользователями.
>Поставил ограничения в squid - каждому по 128Кбит.
>После проверки вроде бы все правильно - действительно каждому выдается его 128Кбит.
>Но когда начинаю смотреть загрузку канала извне, получается немного другая ситация.
>Squid скачивает файлы с Интернета на полной скорости, а отдает уже с
>ограничением.
Естественно и это логично, ведь сервер, у которого запросили файл, отдает его прокси-серверу Squid'у на всей возможной скорости.>Можно ли это как-то пофиксить? Или хотя бы ткните в форум, где
>описано решение этой проблемы.
>Заранее спасибо.
Много разных вариантов, от IMQ, до iptables.Как пример cbq.init (если Линукс, то в /etc/init.d)
Но они просто будут дропить пакеты после заполнения буфера.
А попробуй ipfw(фря) или IPTABLES (Linux)средствами, тут где то есть описание (кажется в советах или заметках, точно не помню но видел)
iptables не умеет скорсоть ограничивать!
умеет, читай документацию
hmm, я конечно iptables давно не использовал, но тогда было только ограничение по количеству пакетов в секунду, а это далеко не лучший вариант.
tc из iproute2 надо юзать для таких целей...
http://www.linuxexposed.com/internal.php?op=modload&name=New...
iproute и iptables это две бльшие разницы, про tc я знаю, но выше zmej говорил, что iptables умеет траффик резать...
ну да, -m dstlimit, только оно пока в patch-o-matic, вроде бы
tc для этих целей правильней юзать, по-моему...
Незнаю...лично у меня все ок сквида 2.7
Сквидой пользуюсь давно ... и таких проблем не замечал ( скорее всего что то с параметрами пула вёдер)
А можешь привести часть конфига, где у тебя pool'ы?
Тем кто предлагал ipfw, iptables - это же совсем другое, а squid
логи пишет более детальные.
Нету у меня пулов - у меня пользователи продвинутые :)
Выкинуть надо squid и пользовать oops. Там всё замечательно ограничивается.
хех, зашёл сейчас для интереса на их сайт. последний релиз - 21.11.2003.
Потом у них, по моему кеш в один(два, три) больших файла складывался?
Хорошо если кеш небольшой (20-30 Гигов), а если 400-500?
Люди кто научил SQUID'a кешировать антивирусные и микросовтовские упдеты?
может это тебе поможет
http://www.opennet.me/openforum/vsluhforumID3/4373.html
Спасибо pev2000, но зачем мне Windows Update есле SQUID может ето делать:)
> Yuriy Kulikov,
> Можно ли это как-то пофиксить?а хз, навскидку - только немного извращенным методом комбинации Squid с dummynet/ipfw pipe:
- для каждого юзверного acl создать "серый" IP адрес (alias) на каком-нить интерфейсе (например на внутреннем, или на lo0)
- каждый acl заворачивать через директиву tcp_outgoing_address 192.168.2.N aclN
на свой "серый" IP (или на 127.0.2.N)
- в dummynet/ipfw pipe завернуть группы этих IP в зависимости от нужной скорости в свой pipe.P.S. Если Linux - то соответственно iptables+tc
> Люди кто научил SQUID'a кешировать антивирусные
> и микросовтовские упдеты?
А что по дефолту они не кешируются?
Создай отдельный Squid на отдельном порту, выставь соотв. размер кеша, выставь maximum_object_size побольше (по дефолту всего 4 Мб) и файрволом заверни трафик на хосты M$ и обновлений антивира на порт этой копии Squid.Ещё поставь
cache_replacement_policy heap LFUDA
Ну и не везет же пупкину :)
Народ как засравить чтобы народ мог выходить в Интернет только через squid. Как закрыть дыры, а то они говорият браузеру не использовать Проксю и все пропало.
2devictor
ой не смеши мои клавиши :-)
- есть верный способ - бить по морде :-)(за такие вопросы)
а если серьезно то man iptables
Доброго времени суток. Настраиваю сквид по этой статье статья отличная но тока вот ограничения почему то не работают.
Делаю так:
acl ulk src 192.168.1.0/24
http_access allow ulk
acl kontakt dstdomain .vkontakte.ru
http_access deny ulk kontaktи все равно вконтакте заходит.
#Объявляем наши правила доступа (acl - access rules)
#в ulk у нас все с 192.168.1.0 до 192.168.1.255
acl ulk src 192.168.1.0/24
#объявляем kontakt как адрес назначения домена .vkontakte.ru (тут верно, так как IP могут меняться)
acl kontakt dstdomain .vkontakte.ru
#тут запрещаем ulk доступ к kontakt
http_access deny ulk kontakt
#а тут дальше разрешаем ulk доступ ко всему другому
http_access allow ulkЧитайте внимательнее, сначала запрет, потом доступ!
PS: Друзья, я болел долго, аварии всякие бывают с людьми, я пытаюсь появляться. Всем спасибо за отзывы. Я надеюсь ещё не раз порадую Вас своими статьями.