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

squid + niceshaper
http://forum.freesco.pl/viewtopic.php?f=22&t=11992
Strona 1 z 2

Autor:  czerwo [ środa, 5 kwietnia 2006, 16:37 ]
Tytuł:  squid + niceshaper

Chcialem byc dobry i chcialem sobie zrobic niceshapera i squida i co sie okazalo?? po pol godzinie siedzienia na forum i czytania gowno zdzialalem!! Duzo info 0 konkretow. Dajecie skrypty po czym piszecie podnies imq trzeba szukac jak podniesc imq itd.
Prosze o zrobienie pozadnego opisu!!
Ja go juz pozniej na wiki przeniose ale dajcie co i jak bo ja sie bawilem ale mi nerwy puscily!!

Autor:  -MW- [ środa, 5 kwietnia 2006, 17:28 ]
Tytuł: 

ok
tylko jak ktos podnosi imq w innym skrypcie to moze byc problem :)

Autor:  czerwo [ środa, 5 kwietnia 2006, 17:31 ]
Tytuł: 

opisz mi po ludzku co ma byc i skrypty a ja sie zajme reszta a nie ze ja bede przez 4h studiowal forum zeby dojsc do poczatku

Autor:  -MW- [ środa, 5 kwietnia 2006, 19:19 ]
Tytuł: 

http://forum.freesco.pl/viewtopic.php?p=71799#71799


podnoszenie imq razem w jednym skrypcie to bzdura bo sa one potrzebne niceshaperowi chociazby jemy nie wspominaja o tym
co jeszcz ludzie pchaja w imq.

proponuje przy wlaczonym nice w metodzie imq wylaczyc interfejsy
i potestowac router.

niestety wszystko trzeba przerabiac pod siebie - nie ma gotowcow
ja czytalem i zadawalem glupie pytania inni tez moga :)


http://forum.freesco.pl/viewtopic.php?t ... c&start=40

Autor:  czerwo [ środa, 5 kwietnia 2006, 21:58 ]
Tytuł: 

jak sie odwine to pozabijam :x

Autor:  czerwo [ środa, 5 kwietnia 2006, 22:04 ]
Tytuł: 

Mam tak:
[root@serwer rc.d]# cat imq
#!/bin/sh

# Podnoszenie interfejsów wirtulanych IMQ

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

/sbin/modprobe imq numdevs=4 &>/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
;;

w nice
method imq

widze ze po imq0 i 1 cos idzie:
[root@serwer niceshaper]# ifconfig imq0 | grep "RX by"
RX bytes:13871000 (13.2 Mb) TX bytes:13871000 (13.2 Mb)
[root@serwer niceshaper]# ifconfig imq1 | grep "RX by"
RX bytes:233773957 (222.9 Mb) TX bytes:233773957 (222.9 Mb)
[root@serwer niceshaper]# ifconfig imq2 | grep "RX by"
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
[root@serwer niceshaper]# ifconfig imq3 | grep "RX by"
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)


dalej
[root@serwer rc.d]# cat squid_imq
#!/bin/sh

TC="/sbin/tc"
i="/usr/sbin/iptables"
#0120306

case "$1" in
start)

echo ""
echo " ----ON---- "
echo ""

# port na ktorym pracuje squid
PORT=8010

# usowa bałwan jestem
$TC qdisc del dev imq3 root &>/dev/null

# ---- tworzy lancuch ------------
$i -t mangle -N squid
#----- Odowolanie do lancucha-----
$i -t mangle -A POSTROUTING -j squid

#---markowanie squida----z cache
$i -A squid -t mangle -p tcp -m string --string 'X-Cache: HIT ' -j CONNMARK --set-mark 0x8888
$i -A squid -t mangle -p tcp --sport $PORT -j CONNMARK --restore-mark

# kieruje zamarkowane pakiety do imq
$i -A squid -t mangle -p tcp -m mark --mark 0x8888 -j IMQ --todev 3

# przepustowosc interfejsu dla squida w KB (kilo bajtach)
SR=2048
# Tworzymy glowna kolejke na interfejsie
$TC qdisc add dev imq3 root handle 40:0 htb default 11
# Glowna klasa
$TC class add dev imq3 parent 40:0 classid 40:1 htb rate $((SR*8))kbit ceil $((SR*8))kbit quantum 1600
# podklasy
$TC class add dev imq3 parent 40:1 classid 40:11 htb rate $((SR*8))kbit ceil $((SR*8))kbit quantum 1500 burst 0k cburst 0k
# sprawiedliwy podzial
$TC qdisc add dev imq3 parent 40:11 esfq perturb 10 quantum 1500

;;
stop)

echo ""
echo " ----OFF---- "
echo ""

# usowa bałwan jestem
$TC qdisc del dev imq3 root

#---kasuje odwolania
$i -t mangle -D POSTROUTING -j squid
#---czysci bałwan jestem w lancuchu
$i -t mangle -F squid
#---kasuje lancuch
$i -t mangle -X squid

;;
restart)
$0 stop
sleep 1
$0 start
;;
*)

echo ""
echo " Uzycie skryptu [ start | stop | restart ] "
echo ""

exit
;;
esac

ja mu start a on mi:
Unknown qdisc "esfq", hence option "perturb" is unparsable

Autor:  jamp [ środa, 5 kwietnia 2006, 22:15 ]
Tytuł: 

To działa u mnie napewno :D
: [/] [] ()
#! /bin/sh
# Podnoszenie interfejsów wirtulanych IMQ

. /etc/rc.conf
. /etc/rc.d/functions
 
case "$1" in
start)
stat_busy "Inicjacja wirtualnych interfejsów IMQ"
/sbin/modprobe imq numdevs=6 &>/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
/sbin/ifconfig imq4 up &>/dev/null
/sbin/ifconfig imq5 up &>/dev/null
stat_done
wynik
;;
stop)
stat_busy "Wył±czanie wirtualnych interfejsów IMQ"
/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/ifconfig imq4 down &>/dev/null
/sbin/ifconfig imq5 down &>/dev/null
/sbin/rmmod imq &>/dev/null
stat_done
wynik
;;
restart)
$0 stop
$0 start
stat_done
wynik
;;
*)
echo "Użycie: rcimq [ start | stop | restart ]"
exit
;;
esac

Autor:  czerwo [ środa, 5 kwietnia 2006, 22:20 ]
Tytuł: 

imq to mi sie podnioslo :)
ale tamto 2 to juz nie, rozumiem ze nei ma esfq??

Autor:  tasiorek [ środa, 5 kwietnia 2006, 22:55 ]
Tytuł: 

czerwo pisze:
ale tamto 2 to juz nie, rozumiem ze nei ma esfq??

Dobrze rozumiesz, ale tego sie po Tobie nie spodziewalem :P
Upgrade iproute do wersji 020116-5nnd + ewentualny upgrade kernela. Samo iproute powinno wystarczyc.

Autor:  -MW- [ czwartek, 6 kwietnia 2006, 00:14 ]
Tytuł: 

http://forum.freesco.pl/viewtopic.php?t=9003&start=20 :)

czy z taka iloscia postow wypada pytac ? :)

Autor:  czerwo [ czwartek, 6 kwietnia 2006, 07:28 ]
Tytuł: 

:: iproute: local version (020116-3nnd) is newer than repo version (020116-2nnd)

dobrze ze mam dostep do buildera bo nie wiem skad bym zabral ten pakiet

Autor:  czerwo [ czwartek, 6 kwietnia 2006, 07:59 ]
Tytuł: 

chyba dalem rade, zrobie opis na wiki bo zescie tak to namieszali ze szkoda gadac a pytam bo zachowuje sie jak lama.
Gdyby to byla osoba z drogi nie zrobila by tego

Autor:  tasiorek [ czwartek, 6 kwietnia 2006, 12:18 ]
Tytuł: 

-MW- pisze:
czy z taka iloscia postow wypada pytac ? :)

Pytac wypada zawsze.
czerwo pisze:
:: iproute: local version (020116-3nnd) is newer than repo version (020116-2nnd)
dobrze ze mam dostep do buildera bo nie wiem skad bym zabral ten pakiet

A po co Ci ten pakiet?
http://ww1.devel-nnd.brb.pl/nnd/repo.te ... pkg.tar.gz - link goscil juz wiele razy na forum.
czerwo pisze:
a pytam bo zachowuje sie jak lama

Malo tego, nawet wyszukiwarki nie raczyles uzyc.

Autor:  czerwo [ czwartek, 6 kwietnia 2006, 12:47 ]
Tytuł: 

tasiorek teraz sie zdziwisz
szukałem i prosze cie bardzo:
http://forum.freesco.pl/viewtopic.php?t=9003&start=20

pacman -U http://devel-nnd.brb.pl/nnd/pakiety.tes ... pkg.tar.gz
i co?? nie chodzi.

Uwzam ze jak ktos robi opis typu:
http://forum.freesco.pl/viewtopic.php?t=9003
Squid i Niceshaper - rozwiazanie problemu dla wszystkich !!!
Dla wszystkich??

lub:

http://forum.freesco.pl/viewtopic.phpt= ... niceshaper

To powinno to byc w taki sposob zeby ludzie nie mieli problemow.
Powiem tak czytajac to wszytsko nie dowiedzialem sie:
Co to MISS i HIT (ja tam wiem ale inni)
Dowiedzialem sie jednak ze jest to w squid 2.5.STABLE10-1nnd
I jeszcze parenascie rzeczy by sie znalazlo.
Dlatego przykladajcie sie bardziej przy pisaniu takich rzeczy bo opis moze zrobic kazdy ale rzecz w tym jak on jest zrobiony. Pamietajmy ze ten system instaluja ludzie ktorzy nie wiedza co to linux i z czym to sie je

Autor:  tasiorek [ czwartek, 6 kwietnia 2006, 15:58 ]
Tytuł: 

czerwo pisze:
Pamietajmy ze ten system instaluja ludzie ktorzy nie wiedza co to linux i z czym to sie je

Duzy blad. Jak sie cos instaluje, to powinno sie miec o tym zielone pojecie. Jak nie masz, to google i przydaloby sie poczytac troche. Co to za admin, ktory nie ma pojecia o systemie na ktorym stoi jego serwer.
Co do padnietego linka, to kazdy kto przeczyta manual pacmana, bedzie wiedzial gdzie znalezc repozytoria i moze je sobie recznie przegladnac. Nie trzeba do tego zadnej wielkiej wiedzy, wystarczy logiczne myslenie.
Wracajac do pakietu, to nie wiesz gdzie sie zglasza przeniesienie pakietu do aktualnego repo panie developerze :P (juz Cie wyreczylem).

Autor:  -MW- [ czwartek, 6 kwietnia 2006, 21:12 ]
Tytuł: 

mam rozumiec ze dostepne w necie obrazy nnd maja juz poprawione niedogodnosci i po pobraniu obrazu nie wyskoczy mi komunikat o bledzie
esfq ?


a co do skryptu to jest zamieszczony kompletny. tylko skopiowac i uruchomic - pod warunkiem ze masz juz uruchomione imq i squida.
co wiecej trzeba tlumaczyc?
opis podnoszenia imq jest na forum wiele razy.

Autor:  czerwo [ czwartek, 6 kwietnia 2006, 21:12 ]
Tytuł: 

dobra stestowalem 2 skrypty i oto wnioski:

#!/bin/bash
TC="/sbin/tc"
i="/usr/sbin/iptables"
#0120306

case "$1" in
start)

echo ""
echo " ----ON---- "
echo ""

# port na ktorym pracuje squid
PORT=8080

# usowa bałwan jestem
$TC qdisc del dev imq3 root &>/dev/null

# ---- tworzy lancuch ------------
$i -t mangle -N squid
#----- Odowolanie do lancucha-----
$i -t mangle -A POSTROUTING -j squid

#---markowanie squida----z cache
$i -A squid -t mangle -p tcp -m string --string 'X-Cache: HIT ' -j CONNMARK --set-mark 0x8888
$i -A squid -t mangle -p tcp --sport $PORT -j CONNMARK --restore-mark

# kieruje zamarkowane pakiety do imq
$i -A squid -t mangle -p tcp -m mark --mark 0x8888 -j IMQ --todev 3

# przepustowosc interfejsu dla squida w KB (kilo bajtach)
SR=2048
# Tworzymy glowna kolejke na interfejsie
$TC qdisc add dev imq3 root handle 40:0 htb default 11
# Glowna klasa
$TC class add dev imq3 parent 40:0 classid 40:1 htb rate $((SR*8))kbit ceil $((SR*8))kbit quantum 1600
# podklasy
$TC class add dev imq3 parent 40:1 classid 40:11 htb rate $((SR*8))kbit ceil $((SR*8))kbit quantum 1500 burst 0k cburst 0k
# sprawiedliwy podzial
#$TC qdisc add dev imq3 parent 40:11 esfq perturb 10 quantum 1500
$TC qdisc add dev imq3 parent 40:11 esfq perturb 10 quantum 1500
;;
stop)

echo ""
echo " ----OFF---- "
echo ""

# usowa bałwan jestem
$TC qdisc del dev imq3 root

#---kasuje odwolania
$i -t mangle -D POSTROUTING -j squid
#---czysci bałwan jestem w lancuchu
$i -t mangle -F squid
#---kasuje lancuch
$i -t mangle -X squid

;;
restart)
$0 stop
sleep 1
$0 start
;;
*)

echo ""
echo " Uzycie skryptu [ start | stop | restart ] "
echo ""

exit
;;
esac


ten skrypt jest do niczego natomiast:

#!/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 8080 -m connmark --mark 0 -m string --string 'X-Cache: MISS from ' -j CONNMARK --set-mark 1
iptables -A OUTPUT -t mangle -p tcp --sport 8080 -m connmark --mark 0 -m string --string 'X-Cache: HIT from ' -j CONNMARK --set-mark 2
iptables -A OUTPUT -t mangle -p tcp --sport 8080 -j CONNMARK --restore-mark

# Wszystkie pakiety HIT/MISS kieruję na wirtualny interfejs imq2
# ==============================================================
iptables -t mangle -A OUTPUT -o eth0 -m mark --mark 1 -j IMQ --todev 2
iptables -t mangle -A OUTPUT -o eth0 -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

jest oki ale napisany jest zle ;/
czemu nie jest zadeklarowana zmienna lan?? tylko jest wpisane na sztywno eth1 czy tam 0??
Zrobie opis na wiki w najblizszym czasie

Autor:  -MW- [ czwartek, 6 kwietnia 2006, 21:15 ]
Tytuł: 

na jakiej podstawie tak wnioskujesz?

Autor:  czerwo [ czwartek, 6 kwietnia 2006, 21:17 ]
Tytuł: 

sprawdzilismy to z makogiem
przy stosowaniu pierwszego skryptu malo co idzie przez imq a przy stosowaniu skryptu 2 duzo wiecej idzie przez imq

Autor:  -MW- [ czwartek, 6 kwietnia 2006, 21:20 ]
Tytuł: 

bo pakiety z netu tez ida :)


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

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

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