Freesco, NND, CDN, EOS
http://forum.freesco.pl/

Squid i Niceshaper - rozwiazanie problemu dla wszystkich !!!
http://forum.freesco.pl/viewtopic.php?f=22&t=9003
Strona 1 z 4

Autor:  sq6iuv [ piątek, 16 września 2005, 11:08 ]
Tytuł:  Squid i Niceshaper - rozwiazanie problemu dla wszystkich !!!

Witam zważywszy na problem wspołpracy squida z niceshaperem podaje rozwiązanie dla was, ponieważ widze tutaj mase postów na ten temat ciągle powtarzających się:

NICESHAPER + SQUID TRANSPARENT

robimy taki skrypcik:

############################################
#!/bin/bash

IMQ="imq2"
RATE="10000kbit" #przepustowość interfejsu lan
CEIL="10000kbit"
RATE_USER="2000kbit" #pasmo dla ludzika
CEIL_USER="2000kbit"
HOSTY="0.0.0.0/0" #tu tak ma być , nic nie zmieniamy

iptables -A OUTPUT -t mangle -p tcp --sport 9999 -m connmark --mark 0 -m string --string 'X-Cache: MISS from ' -j CONNMARK --set-mark 1
iptables -A OUTPUT -t mangle -p tcp --sport 9999 -m connmark --mark 0 -m string --string 'X-Cache: HIT from ' -j CONNMARK --set-mark 2
iptables -A OUTPUT -t mangle -p tcp --sport 9999 -j CONNMARK --restore-mark

# Wszystkie pakiety HIT/MISS kieruję na wirtualny interfejs imq2
# ==============================================================
iptables -t mangle -A OUTPUT -o eth1 -m mark --mark 1 -j IMQ --todev 2
iptables -t mangle -A OUTPUT -o eth1 -m mark --mark 2 -j IMQ --todev 2

tc qdisc del root dev $IMQ 2>/dev/null

tc qdisc add dev $IMQ root handle 1:0 htb
tc class add dev $IMQ parent 1:0 classid 1:1001 htb rate $RATE ceil $CEIL

tc class add dev $IMQ parent 1:1001 classid 1:5 htb rate $RATE_USER ceil $CEIL_USER
tc qdisc add dev $IMQ parent 1:5 handle 2:0 esfq hash dst perturb 10
tc filter add dev $IMQ protocol ip parent 1:0 u32 match ip dst $HOSTY flowid 1:5
############################################

-teraz podnosze imq na 3 wirt. interfejsy oczywiscie
-i teraz skrypcikowi nadaje chmod +x
niceshapera uruchamiam nie w mark tylko tez w IMQ
a skrypcik odpalam po niceshaperze
-i jeszcze jak nie mamy to:
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 9999
-ewent sprawdzamy "tc qdisc" czy kolejka sie ustawila na IMQ2

MAMY TERAZ SQUIDA TRANSPARENTNEGO KTOREGO NICESHAPER NIE PRZYCINA

NASTĘPNIE W SQUIDZIE ROBIMY PULE SPOWALNIAJĄCĄ, żeby nikt nam nie dojił całym gardłem, (www nie są przycinane), ja dałem sobie tak: (wycinek squida)

# download w lanie nie jest ograniczany:
acl nolimit url_regex -i 192.168
# download dla 192.168.0.2 nie jest ograniczany :
acl nolimitip src 192.168.3.3/32
acl nolimitip src 192.168.3.4/32
# pliki ograniczane:
acl limit url_regex -i ftp .zip .tgz .bin .pdf .exe .mp3 .wma .vqf .tar.gz .gz .rpm .rar .avi .mpeg .mpe .mpg .qt .ram .rm .iso .raw .wav .mov .torrent
#
delay_pools 2
#
# pool nr1 nie ogranicza transferu:
delay_class 1 2
delay_parameters 1 -1/-1 -1/-1
delay_access 1 allow nolimit
delay_access 1 allow nolimitip
#
# pool nr2 ogranicza transfer:
#delay_class 2 2
# ogranicza transfer do 6KB/s dla ka┐dego hosta w lanie,po pobraniu ok.100KB,
# limit transferu dla lanu 9KB/s :
#delay_parameters 2 20000/100000 20000/100000
#delay_access 2 allow limit
#
# przyk│ad inny:
# pool nr2 dla lanu pod Neostrada lub DSL:
delay_class 2 2
# Ograniczenie transferu wybranych plikˇw do 40KB/s dla lanu
# oraz 18KB/s dla hosta w lanie:
delay_parameters 2 100000/3000000 30000/1000000
delay_access 2 allow limit

############################################

czyli w moim przypadku siebie puściłem bez ograniczeń, a reszta ludków po sciagnieciu 1MB przycinana jest do 30kb/sek (każdy ustawia sobie to wg siebie)

Powodzenia, myślę ze problem squida i nice został rozwiązany , pozdrawiam :D


[/quote]

Autor:  sq6iuv [ piątek, 16 września 2005, 11:22 ]
Tytuł: 

AHA ZAPOMNIAŁEM NAJWAŻNIEJSZE!!!!

w configu niceshapera musimy ustawic tak:

interactive srcport 9999,80 dstport 9999,80 #taki mam u siebie ustawiony dla uplo i down. - tylko tak wpisujemy, ale nie wydzielamy pasma dla interactive !!!!! ważne.
9999 to port mojego squida

Autor:  adi [ piątek, 16 września 2005, 11:28 ]
Tytuł: 

Trochę nie rozumiem, po co odkręcać a potem spowalniać. Nie prościej i bez kłopotu sterowac tym z Niceshapera? :)

Autor:  sq6iuv [ piątek, 16 września 2005, 11:42 ]
Tytuł: 

z prostej przyczyny: jesli ludek sprawdzi sobie www.dsl.cz lub www.numion.com to leci mu super i cieszy sie ze ma szybkie łącze, po sciagnieciu jakiegoś pliku (tutaj 1MB spowalnia mu do pasma jakie zapodasz w puli spowalniającej, po drugie komfort i efekt działania stron jest o wiele szybszy niz przy normalnym dzieleniu, a wiekszość ludzi patrzy jak www biega o ocenia potem lacze pod tym kątem, i mamy tu tak ze tylko po porcie 80 jest taki komfort, a to co zapodasz w configu nice w users to tak nice to trzyma, jesli np. nie masz zrobionego ograniczania p2p to mozesz przyciąć np w nice do wartości 50kbit dla ludzika, i do tej wartosci ma trzymane pasmo (poza www), a www idzie elegancko, wyprobuj a przekonasz sie. Każdy ma wybór, ja tylko podaje rozwiązanie które u mnie sprawdza się super.
A jeśli chodzi o pule spowalniające , ma to za zadanie przyciać pliki ktore po www są ściągane (i ustalasz reguły sam), szybkość ładowania stron nie jest ograniczana.
acl limit url_regex -i ftp .zip .tgz .bin .pdf .exe .mp3 .wma .vqf .tar.gz .gz .rpm .rar .avi .mpeg .mpe .mpg .qt .ram .rm .iso .raw .wav .mov .torrent (o tym piszę - tym zajmuje się pula spowalniająca, po to te pule są żeby ktoś nie dojił nam filmu np. 700MB całym pasmem przez www)

Jeszcze w squid.conf warto dopisać takie coś:
client_persistent_connections off - ma to za zadanie poradzić sobie np. z flashgate'm

Autor:  sq6iuv [ piątek, 16 września 2005, 22:48 ]
Tytuł: 

Te rozwiązanie działa w 100%, napiszcie jesli ktos to uruchomi u siebie na serwku, jesli bedą wątpliwośi pomogę równnież w optymalizacji squida, pozdrawiam :D

Autor:  -MW- [ sobota, 17 września 2005, 21:04 ]
Tytuł: 

eeee - a niceshaper obcina ruch z netu?


fakt ze transfer ze squida idzie tak jak chce ale nice sie obija :)

Autor:  sq6iuv [ sobota, 17 września 2005, 23:12 ]
Tytuł: 

prawdopodobnie nie wpisaleś interactive src port 80,9999 dst port 80,9999 w niceshaperze
proszę dokladnie czytac, to co podalem tutaj jest kompletne, u mnie to chodzi 100%, inaczej niepisalbym , jesli bedą problemy daj mi (na priv) wjazd na serw i ci poustawiam to, potem powiem ci w czym blad zrobiles

Autor:  -MW- [ niedziela, 18 września 2005, 01:10 ]
Tytuł: 

prubowalem na starym squidzie moze tlatego


sq7fbp :)

ps . jaki jest lokalny w Opolu na 2m ?

Autor:  sq6iuv [ niedziela, 18 września 2005, 01:40 ]
Tytuł: 

witam 144.575Mhz local 2m JO80VS
a nice bierze "pod siebie" wszystko poza port 80, (www idzie po hit/miss w imq2 i dlatego taki bajer ze go robi w konia tego nice (squdzik musi być spatchowany :lol: )a reszta to zalatwia pula spowalniajaca, inaczej nie udalo mi sie zgrac tego , dziala rewelka
dodatkowo polecam wypierdzielic ruch p2p z portow ze squida www i innych priorytetowych uslug i zaplotkowac zapytania akceptowane przez squida na 1024:65535 w squid.conf

Autor:  -MW- [ niedziela, 18 września 2005, 23:17 ]
Tytuł: 

Cytuj:
tc qdisc add dev $IMQ root handle 1:0 htb
tc class add dev $IMQ parent 1:0 classid 1:1001 htb rate $RATE ceil $CEIL

tc class add dev $IMQ parent 1:1001 classid 1:5 htb rate $RATE_USER ceil $CEIL_USER
tc qdisc add dev $IMQ parent 1:5 handle 2:0 esfq hash dst perturb 10
tc filter add dev $IMQ protocol ip parent 1:0 u32 match ip dst $HOSTY flowid 1:5


z tym mam problem - system tego nie zna

Autor:  MAC!EK [ niedziela, 18 września 2005, 23:30 ]
Tytuł: 

NND ma efsq wkompilowane jeżeli używasz najnowszego jądra(kernela)

Autor:  sq6iuv [ poniedziałek, 19 września 2005, 02:46 ]
Tytuł: 

Z caylm szacunkiem do wszystkich, ale sa pytania na priv do mnie a po co to a dlaczego tamto(nie chce mi sie na takie pytania odpowiadac jak cos pytajcie tu , inni tez chca znac temat , a ja nie mam czasu kazdemu odpowiadać)!jak coś zabrakuje ZAKTUALIZUJCIE NND albo zapytajcie moderatorów ze cos wywala bląd, ....i jesli zrobicie tak jak opisalem DOKLADNIE będzie dzialać w 100%, naprawde ci co squida nie lubią to polubią!!!!, (generalnie od razu zdziwko walniecie natychmiast , bo jak to cioł a teraz nie tnie "info dla ludzi co robią metodą "prób i blędow" )w rzecz wchodzi rownież sprzet jaki czy ma dma wlaczone, ilosc RAM dla squda, squid.conf i jeszcze i wiele , mysle ze temat sie rozwinie i tu znajdziecie odpowiedz.
Receptę podalem gotową, ale squida musicie męczyć, podam tu moj config
ale dzis nie chce mi się (po imprezce) pozdrawiam

Autor:  adi [ poniedziałek, 19 września 2005, 08:01 ]
Tytuł: 

NND: Startuje niceshaper (kontrola przepływu) [Trwa....] Cannot find device "imq1"
Cannot find device "imq1"
Cannot find device "imq0"
Cannot find device "imq0"

Niceshaper version:0.5.1 30.12.2004
http://www.niceshaper.mikule.net

[Wykonane]
[root@rpm etc]# ./nicesq
Cannot find device "imq2"
Cannot find device "imq2"
Cannot find device "imq2"
Unknown qdisc "esfq", hence option "hash" is unparsable
Cannot find device "imq2"

Autor:  -MW- [ poniedziałek, 19 września 2005, 15:47 ]
Tytuł: 

nie dziw sie ze kazdy pyta o co innego - kazdy ma inna konfiguracje nnd - i twoj konfig nikomu nie pasuje - trzeba go przerabiac pod siebie

Cytuj:
NND ma efsq wkompilowane jeżeli używasz najnowszego jądra(kernela


NND instalowane z najnowszego obrazu i aktualizowane na bałwan jestem - a jednak nie zna

Autor:  sq6iuv [ poniedziałek, 19 września 2005, 16:06 ]
Tytuł: 

Trzeba podnieść IMQ, pisalem o tym , tu masz gotowy rc.imq:

##################################

#! /bin/sh
# Podnoszenie interfejsów wirtulanych IMQ

#
case "$1" in
start)
#
echo ""
echo " Wirtualne interfejsy IMQ właczone "
echo ""

/sbin/modprobe imq numdevs=3 &>/dev/null
/sbin/ifconfig imq0 up &>/dev/null
/sbin/ifconfig imq1 up &>/dev/null
/sbin/ifconfig imq2 up &>/dev/null
#/sbin/ifconfig imq3 up &>/dev/null

#
;;
stop)
#
echo ""
echo " Wirtualne interfejsy IMQ wyłączone "
echo ""

/sbin/ifconfig imq0 down &>/dev/null
/sbin/ifconfig imq1 down &>/dev/null
/sbin/ifconfig imq2 down &>/dev/null
#/sbin/ifconfig imq3 down &>/dev/null
/sbin/rmmod imq &>/dev/null
#
;;
restart)
$0 stop
$0 start
;;
*)
echo ""
echo "Użycie: IMQ [ start | stop | restart ]"
echo ""
exit
;;
esac

###################################

nadaj chmod +x rc.imq i odpal przed resztą na pierwszym miejscu, jesli masz mrtg to sobie przeinstaluj zeby dodal imq, bo ci bedzie bledy wywalac typy can't find cos tam

Autor:  sq6iuv [ poniedziałek, 19 września 2005, 16:13 ]
Tytuł: 

a jesli ktos ma problem z esfq to niech w skrypcie zamieni sobie z esfq na sfq, a propo niceshapera to: nie wiem czy niceshaper w paczce nnd obsluguje esfq, jesli nie to prosze sobie sciagnac źrodla i wyedytowac niceshaper.cpp tak: F4 F7 wpisac sfq jak znajdzie to dodać e przed sfq, tam chyba jest 4 takie zmiany , zapisać i skompilowac, esfq jest o wiele szybsze i dokladniejsze i mniej procka zżera

Autor:  Anonymous [ wtorek, 20 września 2005, 10:39 ]
Tytuł: 

Witam!

A jak powinien wygladac ten plik jesli chcialbym tyko uzywazc sqida do tego poczatkowego przyspieszenia a pozniej zeby nice dzialal. Dokladniej mowiac bałwan jestem sqida bez ograniczen tyko zeby przyspieszal a po 1 mb zwalnial. :)
Jak to zrobic? Ma ktos pomysl(jak prze edytowac ) to co kolega napisal wyzej

Autor:  sq6iuv [ wtorek, 20 września 2005, 12:01 ]
Tytuł: 

To wlaśnie jest tak pomyślane, niceshaperem sie nie przejmuj, squid leci z prędkością taką jak u góry w skrypcie podane RATE_USER CEIL_USER , a resztą po za www zajmuje sie niceshaper, tu już nic nie wymyślisz jeśli chodzi o wsółpracę niceshapera ze squidem.

Autor:  Anonymous [ środa, 21 września 2005, 11:20 ]
Tytuł: 

Aha to tak postaram sie to zrobic :) Zobaczymy jakie beda efekty :)

Autor:  sq6iuv [ czwartek, 22 września 2005, 10:23 ]
Tytuł: 

Robiłem testy z kernelem 2.4.31 z nnd , i faktycznie wywala bląd taki :
Unknown qdisc "esfq", hence option "hash" is unparsable
niby NND ma wkompilowane esfq ale coś z iproute jeszcze musi być,
w tym wypadku proszę zaplotkować w skrypcie to:
#tc qdisc add dev $IMQ parent 1:5 handle 2:0 esfq hash dst perturb 10

w moim przypadku działa wszystko ok, ponieważ mam skompilowane jądro iptables i iproute osobno, z paczki nnd nie uzywam, proponuje skompilować samemy albo np. podmienic , jest tu na forum dużo opisów jak to zmienic.

Strona 1 z 4 Strefa czasowa UTC+2godz.
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/