Ограничение на скоростта на Squid, За системния администратор

Squid има толкова много възможности, че разработчиците често дори нямат време да ги опишат подробно. Общата настройка, като правило, не създава проблеми, трудностите започват, когато е необходимо да се настроят ограничения за използването на канала, да се организира достъп до прокси сървъра с помощта на външни инструменти или да се избере програма за работа с регистрационни файлове.

Ситуацията, когато един канал трябва да бъде справедливо разделен между потребителите, в никакъв случай не е необичайна. В Squ >

Принципът на ограничаване на скоростта е прост. Всеки заявен обект първо се буферира и едва след това се предава на клиента. Всеки пул се определя от два параметъра: скорост на запълване и размер на буфера. Ако количеството данни е по-малко от размера на буфера, тогава клиентът ги получава с максимална скорост, но когато лимитът бъде достигнат, информацията ще бъде издадена в съответствие с настройките. Когато басейнът се изпразни, Squid ще получи останалата част от исканата информация.

Скоростта, с която басейнът се запълва, зависи от класа. За всеки пул един от пет класа трябва да бъде зададен с помощта наdelay_class (преди версия 2.6, един от три):

От това можем да заключим, че колкото по-висок е класът, толкова повече ограничения преминава връзката. Така че за четвъртия клас се прилагат първо общи ограничения, след това ограничения за подмрежи, ограничения за индивидуални хостове и накрая ограничения за потребители. Тоест, не трябва да очаквате, че потребителят ще получи ясно определена част от канала, ако неговата подмрежа е избрала свой лимит.

Класът за пула се определя с помощта на параметъраdelay_class, чиито аргументи са номерът на пула и номерът на класа. Броят на пуловете се задава от параметъраdelay_pools. Например, нека създадем два пула и да дефинираме клас за всеки от тях. За тованапишете следните редове в squid.conf:

$ sudo vim /etc/squid/squid.conf # Задайте списъци за достъп, чрез които ще разпределяме потребителите в пулове acl office src 192.168.1.0/24 acl office2 src 192.168.2.0/24 acl user src 192.168.1.20/32 acl bo ss src 192.168.1.12/32

delay_pools 2 # 2 пула delay_class 1 2 # пул 1 клас 2 delay_class 2 3 # пул 2 клас 3

Членството в потребителския пул се указва с помощта наdelay_access, неговият синтаксис е подобен наhttp_access : delay_access pool позволява/отказва ACL

delay_access 1 разреши офис delay_access 1 позволи на потребителя delay_access 1 откаже всички delay_access 2 разреши office2 delay_access 2 разреши на шефа delay_access 2 откаже всички http_access разреши офис office2 boss user http_access откаже всички

Първият пул включва клиентите, описани в ACL office и потребител, вторият пул включва office2 и boss. Трябва да се помни, че ACL, които не са посочени в delay_access, ще имат достъп до мрежата без ограничения. След това, като използватеdelay_parameters, задайте ограниченията на скоростта за всеки пул. В зависимост от класа на пула, броят на аргументите ще бъде различен. Така че за четвъртия клас пълният формат на записа изглежда така:delay_parameters pool common network individual_user

Съответно, последният аргумент не се използва в третия клас, а „мрежата“ и „потребителят“ липсват във втория. Броят на двойките трябва да съответства на класа, ако пропуснете нещо, калмарът ще откаже да работи. Ограниченията за всяка от позициите се състоят от двойка filling_rate / pool_volume. Но стойностите са посочени тук в байтове, а доставчиците отчитат скоростта в битове. В позиции, където няма ограничения, задайте-1 :

параметри на_закъснение 1 16000/16000 8000/8000 параметри_закъснение 2 32000/32000 -1/-1 16000/16000

Използвайки различни типове acl, можете да въвеждате ограничения за време, протоколи, типове файлове и т.н. Например, използвайки тази конструкция, е лесно да ограничите скоростта за феновете на изтегляне на мултимедия: acl мултимедия urlpath_regex -i \.mp3$ \.mpeg$ \.avi$ delay_pools 3 delay_class 3 1 delay_access 3 разреши мултимедия delay_access 3 отказва всички delay_parameter s 3 8000/8000

Сега, когато изтегляте файлове от посочените типове, скоростта няма да надвишава 64 kbps. По същия начин се определят и сроковете. Например, за да намалите скоростта за всички потребители до 32 kbps през работно време, приложете следното правило: acl work_hours time M T W T F 9:00-18:00 delay_class 4 2 delay_access 4 enable work_hours delay_access 4 deny all delay_parameters 4 -1/-1 4000/4000

Пазач

Строителна компания "ТЕМП" предлага апартаменти в нови сгради в Санкт Петербург. Възможна е ипотека.

Искате да печелите добри пари. Участвайте в партньорската програма на сайта за запознанства MyLove.Ru. Най-големите изплащания сред подобни партньорски програми.