witam, rozwiązania są dwa (pewnie jest ich więcej), przynajmniej te najbardziej doraźne.
1.Jak zauważył Krzysztof Drewicz jest funkcja w squidzie delay_pool i tu dam przykład na to
### delay_pools ### - tomek acl regulka1 url_regex -i 10.0 # regułka acl dla sieci lokalnej
acl regulka2 url_regex -i .html .gif .png .htm .cgi .php .asp # regułka acl dla elementów stron www, tu można wpisać wszystko to co ma isę ściągać super szybko
delay_pools 3 # ile zbiorników opóźniających będziemy używać
#opis pool 1 delay_class 1 2 # pool 1 klasy 2 delay_parameters 1 -1/-1 -1/-1 # żadnych ograniczeń dla cache po sieci lokalne delay_access 1 allow regulka1 # opóźniaj według opisu - regułka 1
# pool 2 delay_class 2 2 pool 2 klasy 2 delay_parameters 2 1200000/1200000 -1/-1 # sciągaj wszystko z regułki 2 z predkością 1200000 = oto jest około 120 kilobajtów / sekunde, squid przyjmuje że 64000 to 512 kilobitów/s delay_access 2 allow regolka2
#pool3 , chyba majważniejszy, opis : logika #wszystki inne nie wymienione w reguła1 lub regułka2 #sciagaj_z_predkością1200000 chyba_że_plik_ściągany_przekroczy 500000 klilobajtów wtedy_ogranicz_prędkość_ściągania_do 20000 kilobajtów/s delay_class 3 2 delay_parameters 3 1200000/1200000 20000/500000
można przy pomocy lms-mgc (chyba) zrobić regułki żeby nam robił squid.conf z automatu. można też naprzykład podzielić ludzi adresami w/q parametrów np. od *.*.*.50 do *.*.*.100 to ludzie co maja max 128 wtedy regułka była by: acl regulka50_100 src 10.0.2.50-10.0.2.100/255.255.255.0
rozwiązanie drugie ustawiłem wszystko w lms.imi w grupie [traffic-logiptables]
#trzeba dobrze ustawić
wan_interfaces = eth1
local_ports = 80 8080 3128
[traffic-htbiptlimits]
outfile = /etc/rc.d/rc.limits
iptables_binary = /usr/sbin/iptables
tc_binary = /usr/sbin/tc
wan_interfaces = eth1:1024
local_ports = 8080 3128
teraz przy przeładowaniu wymuś aby robił też rc.limitc
jeśli uzywasz lmsd do regułek, to pewnie w /etc/lms/ masz plik htb-header, ja go troche zmodyfikowałem
_________________________________________
#!/bin/sh IPT=/usr/sbin/iptables TC=/usr/sbin/tc LAN=eth0 WAN=eth1 BURST="burst 30k"
stop () { $IPT -t mangle -D FORWARD -i $WAN -j LIMITS >/dev/null 2>&1 $IPT -t mangle -D FORWARD -o $WAN -j LIMITS >/dev/null 2>&1
$IPT -t mangle -F LIMITS >/dev/null 2>&1 $IPT -t mangle -X LIMITS >/dev/null 2>&1 #$IPT -t mangle -F OUTPUT #$IPT -t filter -F FORWARD # to te linijki poniżej #######################################
/usr/sbin/iptables -t mangle -D INPUT -p tcp --dport 8080 -j LIMITS
/dev/null 2>&1
/usr/sbin/iptables -t mangle -D OUTPUT -p tcp --sport 8080 -j LIMITS
/dev/null 2>&1
/usr/sbin/iptables -t mangle -D INPUT -p tcp --dport 3128 -j LIMITS
/dev/null 2>&1
/usr/sbin/iptables -t mangle -D OUTPUT -p tcp --sport 3128 -j LIMITS
/dev/null 2>&1
...
_____________________________________________________________________________
poprostu ALEC w ferworz walki zapomniał całkowicie o innych portach (czy naprzykład squid'zie) obsług squida standardowo można uzyskać używając lms-traffic-htbiplimits, jest on fajnie zrobiony i nie zapomina o innych portach.
jeśli byś otrzebował szerszego opisu do squida to mogę napisać. linuxem zajmuje się dopiero od 4 miesięcy, prawie wszystki serwer którymi zawiaduje to netware novell'a, dużo tego nie jest jakieś 150 szt., a to wszystko bez wychodzenia z domu, więc że mam duże 2 łącza w domu postanowiłem zostać legalnym isp'em (czytaj linux) , a i novell jak wykupił suse to idzie w linuxa,
Pozdrawiam Tomek
uczestnicy (1)
-
tomasz osko