logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Squid - jak ograniczyć prędkość pobierania dla wybranych klientów?

k4be 21 Sty 2007 12:45 3678 4
REKLAMA
  • #1 3469068
    k4be
    Poziom 31  
    Posty: 2129
    Pomógł: 102
    Ocena: 332
    Czy można w konfiguracji squid ograniczyć prędkość pobierania plików przekraczającyh pewien rozmiar, ale tylko dla wybranych adresów klientów? Ewentualnie, czy można te pliki całkiem wyciąć, ale też tylko dla wybranych klientów?
  • REKLAMA
  • #2 3469392
    gothye
    Poziom 33  
    Posty: 2421
    Pomógł: 183
    Ocena: 60
    zastosuj w squidzie delay pools na predkość jaka ci będzie odpowiadać w kb

    do wielkości byforowanych plików podajesz regułkę np dla plików 256kb:
    store_avg_object_size 256 kB
  • REKLAMA
  • #3 3469497
    k4be
    Poziom 31  
    Posty: 2129
    Pomógł: 102
    Ocena: 332
    znalazłem 'delay pool' w konfiguracji, ale żadnej sensownej dokumentacji do tego...
    a buforowane ma być, i jest, wszystko.
  • REKLAMA
  • Pomocny post
    #4 3469693
    z33m
    Poziom 2  
    Posty: 3
    Pomógł: 1
    
    http_port 8080 
    icp_port 0 
    acl QUERY urlpath_regex cgi-bin \? 
    no_cache deny QUERY 
    cache_mem 16 MB 
    cache_dir ufs /cache 200 16 256 
    redirect_rewrites_host_header off 
    replacement_policy GDSF 
    acl localnet src 192.168.1.0/255.255.255.0 
    acl localhost src 127.0.0.1/255.255.255.255 
    acl Safe_ports port 80 443 210 119 70 21 1025-65535 
    acl CONNECT method CONNECT 
    acl all src 0.0.0.0/0.0.0.0 
    http_access allow localnet 
    http_access allow localhost 
    http_access deny !Safe_ports 
    http_access deny CONNECT 
    http_access deny all 
    maximum_object_size 12000 KB 
    cache_mgr twoj@email 
    cache_effective_user squid 
    cache_effective_group squid 
    log_icp_queries off 
    cachemgr_passwd tajnehaselko all 
    buffered_logs on 
    
    #######DELAY POOLS - tu wazne 
    
    acl magic_words1 url_regex -i 192.168 
    acl magic_words2 url_regex -i .html .gif .png .htm .cgi .php .asp 
    cgi-bin .js .css 
    
    #Mamy 3 rozne regulki delay_pools 
    delay_pools 3 
    
    #Regulka 1 klasy 2 - magic_words1, czyli zadnych ograniczen na ruch po 
    #sieci lokalnej 
    # ('magiczne slowo w adresie' 192.168) 
    delay_class 1 2 
    #predkosc 999999999999... powinna nam wystarczyc; -1/-1 znaczy, 
    #ze nie nakladamy 
    #zadnych ograniczen na dlugosc pliku i predkosc jego sciagania 
    delay_parameters 1 9999999999999/9999999999999 -1/-1 
    delay_access 1 allow magic_words1 
    
    #Regulka 2 klasy 2 - magic_words2, czyli wszystko, co ma w 
    #adresie url slowa .html .htm .gif. js .php 
    #itp. idzie pelna predkoscia SDI (115,2 Kb/s) 
    
    delay_class 2 2 
    #(115.2*1024/8 = 14745.6, co jest mniejsze od 15650, 
    #nic nie szkodzi - maja i tak isc pelna predkoscia SDI 
    delay_parameters 2 15650/15650 -1/-1 
    delay_access 2 allow magic_words2 
    
    #Regulka 3 klasy 2 - wszystko inne - .exe, tar.gz, mp3 
    # (ale nie z Napstera :)) slowem wszystko inne 
    # - idzie z predkoscia 14560*8/1024 = 114,453 Kb/s 
    #(zostaje troche miejsca na poczte, telnet, irc itp. 
    #az osiagnie (juz nie mnoze) wielkosc 150000 (ok. 200 kilo), 
    #potem leci z predkoscia 5000 (ok. 5-6 kilo) 
    #Jezeli sciagamy drugi i trzeci i czwarty i setny 
    #(userzy sciagaja wiele plikow naraz, bo mysla ze 
    #im pojdzie szybciej) plik exe, mp3, itp. to wszystkie 
    #one musza sie zmiescic w predkosci 5000. 
    delay_class 3 2 
    delay_parameters 3 14650/14650 5000/150000 
    
    #W ten sposob, co by sie nie dzialo, zawsze mamy wolne ok. 5 kilo lacza, 
    #dzieki czemu strony otwieraja sie szybko 
    # 
    #EOF


    To jest przykladowy plik Squid'a , (zrodlo : http://zlobek.tcz.info/artykul.php3?dzial=8&id=48 ) . Jesli do tego mialyby dojsc ograniczenia dla pojedynczych uzytkownikow mozna sprobowac utworzyc acl magic_wordsX url_regex -i 192.168 dla kazdego z uzytkownikow. Troche czasu juz minelo od mojej ostatniej konfiguracji Squid'a (opierajacej sie glownie na tym przykladzie) , wiec przepraszam za ogolne informacje , ale mam nadzieje ze w jakis sposob pomoglem.
  • #5 3469764
    k4be
    Poziom 31  
    Posty: 2129
    Pomógł: 102
    Ocena: 332
    A skąd w url miałby się wziąć adres klienta? Spróbuję lepiej użyć 'src'.

    Dodano po 52 [minuty]:

    Zrobione.
    acl limitpr src "/etc/squid/limitpr.acl"
    acl bezlimitu src "/etc/squid/bezlimitu.acl"
    delay_pools 2
    delay_class 1 1
    delay_class 2 1
    delay_access 1 allow bezlimitu
    delay_access 1 deny all
    delay_access 2 allow limitpr
    delay_access 2 deny all
    delay_parameters 1 99999999/999999999
    delay_parameters 2 5000/150000

    W pliku limitpr.acl lista adresów klientów limitowanych, każdy w nowej linii, a w bezlimitu.acl lista nielimitowanych, w ten sam sposób. Limitowani pobierają bez ograniczeń pliki do ok. 140kB, po przekroczeniu tego rozmiaru prędkość jest limitowana do ok. 4kB/s. Te liczby zmienię, bo troche mi nie odpowiadają.
    Nie wiem jak konfiguracja działa przy klientach nie podanych w pliku.
REKLAMA