Ogranichavane na trafika
Original : Tomasz Chmielewski
Prevod : Dinko Belchevski
Tozi dokument obiasniava kak da ogranichim skorostta na transfer na edna Linux mashina.Toi
e prevod (sus sukrashteniia) na Bandwith-Limiting-HOWTO razprostraniavan
sus Slackware.Triabva da otbelezha, che tozi dokument e pisan kraia na 2001 g.
i do momenta ne e promenen v distributsiiata na Slackware. Poradi tova
versiite na programite mozhe da ne sa suvsem aktualni, kakto i chast ot
informatsiiata. Zatova izpolzvaite tozi dokument kato osnova, no ne i
kato reshenie na vsichki problemi.
Sudurzhanie
1. Vuvedenie
1.1. Predi da zapochnem.
1.2. Ot kakvo se nuzhdaem.
1.3. Kak raboti vsichko tova?
2. Instalirane i konfigurirane na neobhodimite programi
2.1. Instalirane na Squid s aktivirani delay pools(a prevedi go de)
2.2. Konfigurirane na Squid
2.3. Razreshavane na vuzniknali problemi
3. Ogranichavane na trafika na ostanalite protokoli chrez CBQ
3.1. FTP
3.2. Napster(to mai ne se izpolzva veche),Realaudio,Windows Media i t.n.
4. FAQ
4.1. Vuzmozhno li e ogranichavane na skorostta za vseki potrebitel chrez izpolzvaneto na delay pools?
4.2. Kak da nakaram Wget da raboti sus Squid?
4.3. Nastroih si sobstveniia SOCKS survur da slusha na port 1080, i sega ne moga da se vurzha kum koito i da bilo IRC survur.
4.4. Ne mi haresva kogato Kazaa ili Audiogalaxy izpolzvat tsialata lenta pri upload.
4.5. Moia izhodiasht mail survur iziazhda tseliia kanal.
4.6. Moga li da ogranicha moia sobstven FTP ili WWW survur podobno na pokazanoto vuv vuprosa po-gore?
4.7. Moga li da ogranicha skorostta po potrebiteli chrez CBQ?
4.8. Kogato startiram cbq.init, toi suobshtava za lipsvasht sch_cbq.
4.9. CBQ poniakoga ne raboti bez osnovatelna prichina.
4.10. Delay pools sa tupi;ne mozhe li da si svaliam na pulnata skorost kogato samo az izpolzvam mrezhata?
4.11. Moiat download spira v 23:59 sus suobshtenie "acl day time 09:00-23:59" v squid.conf.Kakvo da napravia?
4.12. ZHurnalite na Squid rastat mnogo burzo, kakvo da napravia?
4.13. CBQ e tupo;ne mozhe li da si svaliam na pulnata skorost kogato samo az izpolzvam mrezhata?
5. Dopulnitelna informatsiia
5.1. Polezni vruzki
1. Vuvedenie
TSelta na tozi dokument e da zapoznae chitatelia s nachinite za ogranichavane na
skorostta na vhodiashtiia i izhodiashtiia trafik, taka che da se izbegne izpolzvaneto na
tsialata skorost na Internet vruzkata ot potrebitelite na vashata mrezha.
Tova e vazhno kogato vashata Internet vruzka e bavna, a puk potrebitelite vi
svaliat tonove MP3-ki i poslednite Linux distributsii.
Poslednata versiia na tozi dokument mozhe da bude namerena v Internet na adres
http://www.linuxdoc.org.
1.1. Predi da zapochnem
Neka si predstavim slednata situatsiia:
* Imame 115,2 kbit/s ppp(modem) vruzka kum Internet (115,2/10 = 11,5 kbytes/
s).Zabelezhka: za eth vruzka (mrezhova karta), bihme razdelili 115,2 na 8, no
za ppp vruzka se deli na 10, poradi start i stop bitovete.
* Imame niakolko LAN svurzani kompyutura, chiito potrebiteli praviat goliam
trafik.
* ZHelaem stranitsite da se otvariat burzo, nezavisimo ot tova kolko
potrebiteli svaliat v momenta.
* Predpolaga se, che Internet vruzkata e ppp0.
* Mrezhoviia interfeis e eth0.
* Mrezhoviia adres e 192.168.1.0/24.
1.2. Ot kakvo se nuzhdaem
Za da nakarame vsichko da raboti se nuzhdaem ot Squid proksi survur, malko poznaniia
po ipchains ili iptables i CBQ. Tova e :).
Ako zhelaete mozhete da instalirate IPTraf, za da sledite skorostta i trafika.
1.3. Kak raboti vsichko tova
Squid e mozhe bi nai-dobriia proksi survur za Linux. Toi mozhe da ni pomogne da spestim
trafik i skorost po dva nachina:
* Purviiat e osnovnata cherta na proksi survurite - te paziat svalenite stranitsi,
kartinki i drugi obekti v svoia kesh (v pametta ili na lokalniia disk). Kogato
te se zaiaviat za svaliane ot dvama potrebitelia, veche ne se svaliat ot Internet,
a ot lokalniia kesh.
* Otdelno ot osnovniia kesh, Squid pritezhava spetsialna osobenost narechena delay
pools. Blagodarenie na delay pools,e vuzmozhno da se ogranichi skorostta na
Internet trafika, chrez t.n. 'magic words'(ot tuk natatuk shte gi naricham shabloni),
koito sushtestvuvat vuv vseki edin URL adres. Naprimer takuv shablon mozhe da e
'.mp3','.exe' ili '.avi'. Vsiaka spetsialna chast ot adresa (kato .avi) mozhe da
bude definirana kato shablon.
Taka nie mozhe da nakarame Squid da svalia tezi adresi sus zadadena ot nas skorost
(da kazhem s 5 kbytes/s). Ako vashite potrebiteli zapochnat da svaliat failove
ednovremenno, to te shte svaliat tezi failove vsichko na vsichko s 5 kbytes/s, ostaviaiki
ostanalite za Internet stranitsi, elektronna poshta, IRC i dr.
Razbira se Internet ne se izpolzva samo za svaliane na failove prez http i ftp. Na
po-kusen etap nie shte razgledame i ogranichavane na skorosta na Napster,Realaudio i
dr.
2. Instalirane i konfigurirane na neobhodimite programi
2.1. Instalirane na Squid s aktivirani delay pools
Kakto be otbeliazano Squid pritezhava edna osobenost narechena delay pools, koiato
ni pozvoliava da ogranichim skorostta. Za suzhalenie v povecheto distributsii tazi
vuzmozhnost ne e aktivirana.
Ako veche imate instaliran Squid, shte ne nalozhi da vi razocharovam - shte triabva da go
deinstalirate i da go instalirate otnovo, no veche s vklyucheni delay pools.
1. Za da vzemete maksimalnoto ot vashiia Squid, shte triabva da go instalirate na
otdelen dial, za negoviia kesh (naprimer narechen /cache). Negoviia razmer triabva
da e okolo 300MV, v zavisimost ot nuzhdite vi.
Razbira se mozhe da se izpolzva i direktoriia ( /cache) na glavniia dial.
2. Sega shte dobavim 'squid' potrebitel:
# useradd -d /cache/ -r -s /dev/null squid >/dev/null 2>&1
Nikoi niama da mozhe da se registrira kato 'squid', vklyuchitelno i 'root'.
3. SHTe svalim izhodniia kod na Squid ot http://www.squid-cache.org
Po vreme na pisane na statiiata poslednata versiia e Squid 2.4.
4. Razarhivirame koda v /var/tmp:
# tar xzpf squid-2.4.STABLE-src.tar.gz
5. Kompilirame i instalirame Squid (vsichko ednovremenno):
# ./configure --prefix=/opt/squid --exec-prefix=/opt/squid
--enable-delay-pools --enable-cache-digests --enable-poll
-- disable-ident-lookups --enable-truncate --enable-removal-policies
# make all
# make install
2.2. Konfigurirane na Squid
1. Konfigurirane na squid.conf
#squid.conf
#Vsiaka edna ot optsiite e dobre dokumentirana v originalniia squid.conf i na
#adres http://www.visolve.com/squidman/Configuration%20Guide.html
#
#Portovete na koito shte 'slusha' Squid.
http_port 8080
icp_port 3130
#cgi-bins niama da se keshira.
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
#Pametta, koiato shte izpolzva Squid. Vsushtnost tia e malko poveche ot zadadenata.
cache_mem 16 MB
#205 oznachava, che Squid shte izpolzva 250MV ot diska.
cache_dir ufs /cache 250 16 256
#Mestopolozhenie na zhurnalnite failove na Squid.
cache_log /var/log/squid/cache.log
cache_access_log /var/log/squid/access.log
cache_store_log /var/log/squid/store.log
cache_swap_log /var/log/squid/swap.log
#Kolko puti shte se prezapishat zhurnalite predi da budat iztriti.
#Vizhte FAQ za poveche informatsiia.
logfile_rotate 10
redirect_rewrites_host_header off
cache_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 20 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 3000 KB
store_avg_object_size 50 KB
#Nastroite tuk ako zhelaete Squid da raboti v 'prozrachen' rezhim.
#Tova oznachava, che niama da se nalozhi da se nastroivat vsichki klienti,
#no se poluchavat niakoi uslozhneniia.
#Ostaviane na komentarite e dobra ideia.
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
#vsichki vashi potrebite shte identifitsirat pred survurite
#kato izpolzvashti Mozilla pod Linux. :)
anonymize_headers deny User-Agent
fake_user_agent Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.6+) Gecko/20011122
#To make our connection even faster, we put two lines similar
#to the ones below. They will point a parent proxy server our own Squid
#will use. Don't forget to change the server to the one that will
#be fastest for you!
#Measure pings, traceroutes and so on.
#Make sure that http and icp ports are correct.
#Premahnete komentarite na "cache_peer" ako e neobhodimo.
#Tova e proksito, koeto shte izpolzvate za vsichki vruzki...
#cache_peer w3cache.icm.edu.pl parent 8080 3130 no-digest default
#...osven vruzkite ot IP adresi zapochvashti s "!".
#Dobra ideia e da ne se izpolzva po-visoko
#cache_peer_domain w3cache.icm.edu.pl !.pl !7thguard.net !192.168.1.1
#Tova e polezno kogato iskate da izpolzvate Cache Manager.
#Kopiraite cachemgr.cgi v cgi-bin direktoriiata na vashiia WWW survur.
#Mozhe da go izpolzvate chrez napisvane na sledniia adres v brauzura:
#http://your-web-server/cgi-bin/cachemgr.cgi
cache_mgr your@email
cachemgr_passwd secret_password all
#Tova e imeto pod koeto shte raboti Squid.
cache_effective_user squid
cache_effective_group squid
log_icp_queries off
buffered_logs on
#####DELAY POOLS
#Tova e nai-vazhnata chast ot ogranichavaneto na vhodiashtiia trafik chrez Squid
#Za podrobna informatsiia vizhte squid.conf ili http://www.squid-cache.org
#Ne zhelaem da ogranichavame skorosta vuv vutreshnata mrezha.
acl magic_words1 url_regex -i 192.168
#CHrez dolniiat red se definirat tipovete.
#Slozhete vsichki tiah v edin red.
acl magic_words2 url_regex -i ftp .exe .mp3 .vqf .tar.gz .gz .rpm .zip .rar .avi .mpeg .mpe .mpg .qt
.ram .rm .iso .raw .wav .mov
#Niama da ogranichavane failove s razshireniia .html,.gif,.jpg i podobni,
#zashtoto te ne konsumirat mnogo skorost.
#Sega shte razgranichim denia na dve zoni.
#Prez noshtta svaliame ogranicheniiata.
#Vnimanie! Izpolzvaneto na tozi podhod shte prekusni vsichki svalianiia
#v 23:59. Prochetete FAQ za poveche informatsiia.
acl day time 09:00-23:59
#Nie imame dve razlichni delay_pools
#Razgledaite dokumentatsiiata na Squid, za da se zapoznaete
#s delay_pools i delay_class.
delay_pools 2
#Purviiat delay pool
#Ne iskame da zabaviame lokalniia trafik.
#Ima tri pool klasa; tuk rabotim samo s vtoriia.
#Purviiat delay class (1) ot vtori tip (2).
delay_class 1 2
#-1/-1 oznachava, che niama ogranicheniia.
delay_parameters 1 -1/-1 -1/-1
#magic_words1: 192.168 koiato ia nastroihme po-rano
delay_access 1 allow magic_words1
#Vtoriiat delay pool.
#chrez nego zabaviame trafika definiran s magic_words2.
#Vtoriia delay class (2) ot vtori tip (2).
delay_class 2 2
#Vsichko e v baitove;
#Triabva da zapomnim, che Squid ne vzema pod vnimanie start/stop bitovete
#5000/150000 sa stoinostite za tsialata mrezha
#5000/120000 sa stoinostite za edinichno IP
#kogato razmerut na prehvurlenata informatsiia stane nad 150000 baita,
#te shte produlzhat da svaliat s 5000 bytes/s
delay_parameters 2 5000/150000 5000/120000
#CHasoviia diapazon, koito definirahme po-rano 09:00-23:59.
delay_access 2 allow day
delay_access 2 deny !day
delay_access 2 allow magic_words2
#EOF
Kogato vsichko e konfigurirano e vreme da bude izprobvano.
# mkdir /var/log/squid/
# chown squid:squid /var/log/squid/
# chmod 770 /var/log/squid/
# chown -R squid:squid /opt/squid
# chown -R squid:squid /cache/
#/opt/squid/bin/squid -z
Sega veche mozhe da se startira proksi survura. Dobra programa za sledene na
trafika e IPTraf. CHrez neia mozhe da proverim i rabotosposobnostta na taka
startiranoto proksi. Mozhe da go svalite ot http://freshmeat.net. Ne zabraviaite
da konfigurirate vsichki brauzuri kum pravilnoto proksi(naprimer 192.168.1.1
port 8080 naprimer).Sega veche mozhe da startirame Squid:
# /opt/squid/bin/squid
Ako vsichko raboti mozhe da dobavim /opt/squid/bin/squid vuv vashiia initsializirasht
skript. Obiknoveno tova e /etc/rc.d/rc.local.
Drugi polezni optsii sa:
# /opt/squid/bin/squid -k reconfigure (tova shte prekonfigurira Squid s novite
promeni v squid.conf)
# /opt/squid/bin/squid -help (bez komentar)
2.3. Razreshavane na vuzniknali problemi
Instalirahme i konfigurirahme Squid s izpolzvane na delay pools. Tova obache ne e
dostatuchno. Predpolaga se, che izpolzvate IP-masquerade, koeto shte pozvoli na vashite
potrebiteli da izpolzvat IRC, ICQ, elektronna poshta i dr. Tova dobre, obache triabva
sme sigurni, che vashite potrebiteli shte izpolzvat Squid za dostup do web stranitsi
i ftp. Za tazi tsel shte izpolzvame ipchains (za iadra 2.2.h) ili iptable ( za iadra
2.4.h).
2.3.1. Izpolzvane na ipchains ( za iadra 2.2.h)
SHTe opitame da zabranim dostupa do publichni proksi survuri, taka che vashite
potrebiteli da ne gi izpolzvat vmesto lokalniia. Povecheto ot tiah rabotiat na
portove 3128 i 8080:
#/sbin/ipchains -A input -s 192.168.1.1/24 -d ! 192.168.1.1 3128 -p TCP -j REJECT
#/sbin/ipchains -A input -s 192.168.1.1/24 -d ! 192.168.1.1 8080 -p TCP -j REJECT
Triabva da sme sigurni, che nikoi niama da se vurzhe direktno s Internet:
#/sbin/ipchains -A input -s 192.168.1.1/24 -d ! 192.168.1.1 80 -p TCP -j REDIRECT 8080
Kogato ste sigurni, che vsichko raboti pravilno, dobavete tezi redove vuv vashite
initsializirashti skriptove.Obiknoveno tova e /etc/rc.d/rc.local.
Ako mislite da blokirate dostupa da FTP (portove 20 i 21),taka che da se
preminava prez Squid, to tova ne e dobra ideia poradi nai-malko dve prichini:
* Squid e http proksi, a ne ftp proksi.Toi mozhe da svalia i do izvestna stepen
da kachva na ftp, no ne mozhe da iztriva ili preimenuva failove.
* IE 5.5 ima bug - toi ne izpolzva proksi, za da svalia ot ftp, vmesto tova
toi izpolzva IP-masquerade. Poradi tazi prichina ako blokirame portove 20 i
21 niama da mozhe da izpolzvame IE 5.5 za dostup do ftp.
2.3.2. Izpolzvane na iptables ( za iadra 2.4.h )
#/sbin/iptables -A FORWARD -s 192.168.1.1/24 -d 192.168.1.1 --dport 3128 -p TCP -j DROP
#/sbin/iptables -A FORWARD -s 192.168.1.1/24 -d 192.168.1.1 --dport 8080 -p TCP -j DROP
#/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
Za poveche informatsiia, zashto pravim tova po tozi nachin prochetete gornata glava.
3. Ogranichavane na trafika na ostanalite protokoli chrez CBQ
Triabva da zapomnim, che vashite LAN potrebiteli mogat da razvaliat vashite usiliia
prosto izpolzvaiki Kazaa ili neshto ot tozi rod, puk i vse oshte ne sme ogranichili
skorostta na svaliane ot ftp.
Tova shte napravim ne direktno, a indirektno. Ako vashata vruzka kum Internet se
osushtestviava prez ppp0, a LAN interfeisa vi e eth0, nie shte ogranichim skorostta
na izhoda na eth0, i po tozi nachin shte ogranichim skorostta na vhoda na ppp0.
Za da napravim tova triabva da izpolzvame CBQ i cbq.init. Mozhe da gi namerite na
ftp://ftp.equinox.gu.net/pub/linux/cbq/. Svalete go i go kopiraite v /etc/rc.d/.
Osven tova triabva da instalirate iproute2 ako go niamate instaliran.
Sega poglednete v /etc/sysconfig/cbq/. Tam triabva da imate primeren fail, koito
bi triabvalo da raboti sus cbq.init. Ako takuv lipsva, to ili ne ste go kompilirali
v iadroto ili ne e predstaven kato modul. Vuv vsichki sluchai triabva da slozhite
primernite failove v tazi direktoriia i da proverite dali shte proraboti.
3.1. FTP
Triabva da suzdadete fail cbq-10.ftp-network v /etc/sysconfig/cbq/
#touch /etc/sysconfig/cbq/cbq-10.ftp-network
Dobavete slednite redove v nego:
DEVICE=eth0,10Mbit,1Mbit
RATE=15Kbit
WEIGHT=1Kbit
PRIO=5
RULE=:20,192.168.1.0/24
RULE=:21,192.168.1.0/24
Startiraite CBQ i ako vsichko e nared go dobavete v skriptovete za avtomatichno
startirane ( tuk e pokazana rabotata s versiia 0.6.2 ):
#/etc/rc.d/cbq.init-v0.6.2 start
Sega veche vashiia survur niama da izprashta informatsiia s poveche ot 15Kbit prez eth0
i po takuv nachin niama da mozhe da svalia informatsiia s poveche ot 15Kbit ot Internet.
3.2. Napster(to mai ne se izpolzva veche),Realaudio,Windows Media i t.n
Ideiata na tova koeto shte napravim e podobna na tazi pri ftp.
Suzdaite fail cbq-50.naster-network v /etc/sysconfig/cbq i dobavete slednite
redove:
DEVICE=eth0,10Mbit,1Mbit
RATE=35Kbit
WEIGHT=3Kbit
PRIO=5
#Window Media Player
RULE=:1755,192.168.1.0/24
#Real Player
RULE=:554,192.168.1.0/24
RULE=:7070,192.168.1.0/24
#Naster
RULE=:6699,192.168.1.0/24
RULE=:6700,192.168.1.0/24
#Audiogalaxy izpolzva portove ot 41000 do 41900.Izbroiavaneto im shte e
#nai-malko dosadno.Zatova otriazvame portove ot 41031-41900 i shte
#opishem samo portove ot 41000-41031.
RULE=:41000,192.168.1.0/24
RULE=:41001,192.168.1.0/24
#i t.n. do port 41031
RULE=:41030,192.168.1.0/24
#Niakoi po hitri potrebiteli mogat da se svurzhat kum SOCKS
#survuri kogato izpolzvat Napster,Kazaa i t.n. Zatova e dobra ideia da
#se napravi neshto po vuprosa, kogato startirate sobstveno SOCKS proksi.
RULE=:1080,192.168.1.0/24
#Mozhe da dobavite sobstveni pravila, sledeiki koi portove se izpolzvat
#chrez IPTraf po analogichen nachin.
#RULE=:port,192.168.1.0/24
Sega shte otrezhem portovete izpolzvani ot Audiogalaxy:
Za iadra 2.2.h:
#/sbin/ipchains -A input -s 192.168.1.1/24 -d ! 192.168.1.1 41031:41900 -p TCP
-j REJECT
Za iadra 2.4.h
#/sbin/iptables -A FORWARD -s 192.168.1.1/24 -d ! 192.168.1.1 --dport 41031:
41900 -p TCP -j REJECT
Dobavete tezi redove v initsializirashtite skriptove.
4. FAQ
4.1. Vuzmozhno li e ogranichavane na skorostta za vseki potrebitel chrez izpolzvaneto na delay pools?
Da.Poglednete dokumentatsiiata na squid.conf ili proverete dokumentatsiiata na adres http://www.squid-cache.org.
4.2. Kak da nakaram Wget da raboti sus Squid?
Prosto e.Suzdaite fail .wgetrc v sobstvenata si direktoriia i dobavete slednite
redove tam:
HTTP_PROXY=192.168.1.1:8080
FTP_PROXY=192.168.1.1:8080
Ako iskate da napravite tezi nastroiki globalni napishete man wget :).
4.3. Nastroih si sobstveniia SOCKS survur da slusha na port 1080, i sega ne moga da se vurzha kum koito i da bilo IRC survur.
Vuzmozhni sa dve prichini.
Ako toi e otvoren, koeto oznachava, che vseki mozhe da go izpolzva ot vsiako miasto.
Tova e dupka v sigurnostta, koito triabva da premahnete.Osven tova povecheto
IRC survuri ne pozvoliavat takiva survuri da se svurzvat s tiah.
Dazhe da ste sigurni, che vashiia SOCKS e zatvoren, to niakoi IRC survuri otnovo
mogat da otkazhat vruzka s tiah - te prosto proveriavat dali SOCKS survura
raboti na port 1080. Reshenieto e da promenite porta.
4.4. Ne mi haresva kogato Kazaa ili Audiogalaxy izpolzvat tsialata lenta pri upload.
Deistvitelno tova ne e priiatno, no e lesno razreshimo.
Suzdaite fail s ime /etc/sysconfig/cbq/cbq-15.ppp i napishete slednite redove
(predpolaga se, che vashiia izhodiasht interfeis e ppp0).
DEVICE=ppp0,115Kbit,11Kbit
RATE=15Kbit
WEIGHT=2Kbit
PRIO=5
TIME=01:00-07:59;110Kbit/11Kbit
RULE=,:21
RULE=,213.25.25.101
RULE=,:1214
RULE=,:41000
RULE=,:41001
#I taka do 41030
RULE=,:41030
4.5. Moia izhodiasht mail survur iziazhda tseliia kanal
.
Prosto dobavete reda:
RULE=,:25
4.6. Moga li da ogranicha moia sobstven FTP ili WWW survur podobno na pokazanoto vuv vuprosa po-gore?
Po printsip, da. Obache vsichki te si imat sobstveni nachini za ogranichavane
na skorostta, koito sa za predpochitane.
Qdra 2.4.h
/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j REDIRECT
--to-port 25
Qdra 2.2.h
/sbin/ipchains -A input -s 192.168.1.1/24 -d ! 192.168.1.1 25 -p TCP -j
REDIRECT 25
4.7. Moga li da ogranicha skorosta po potrebiteli chrez CBQ?
Da, vuzmozhno e. Razgledaite skripta cbq.init, tam ima niakoi primeri.
4.8. Kogato startiram cbq.init, toi suobshtava za lipsvasht sch_cbq.
Veroiatno niamate instalirani CBQ modulite. Ako ste kompilirali CBQ v iadroto
slozhete v komentar slednite redove:
# if ! modprobe $module; then
# echo "**CBQ: could not load module $module"
# exit
# fi
4.9. CBQ poniakoga ne raboti bez osnovatelna prichina.
Tova ne triabva da se sluchva. Poniakoga mozhe da nablyudavate goliam trafik,
vupreki che ste ogranichili neobhodimite portove. V tozi sluchai mozhe da
izpolzvate IPTraf, za da razberete koi port e bil izpolzvan. Obache
vuzmozhnite portove sa mnogo, zatova e po lesno da instalirate sobstveno
SOCKS proksi - mnogo po-lesno e da nablyudavate edin edinstven port. Ne
zabraviaite obache da zatvorite vsichki portove i da ostavite otvoreni
portove 25 i 110.
4.10. Delay pools sa tupi;ne mozhe li da si svaliam na pulnata skorost kogato samo az izpolzvam mrezhata?
Za suzhalenie ne mozhete da napravite mnogo po tozi vupros.
Edinstvenoto koeto mozhe da se napravi e da se konfigurira cron da izklyuchva
delay pools v 1:00 i da gi vklyuchva otnovo v 7:30 chasa.
Za da napravite tova suzdaite dva faila squid.conf-day i squid.conf-night i
gi postavete v /opt/squid/etc/.
Faila squid.conf-day e kopie na originalniia fail, a faila squid.conf-night
e otnovo kopie na originalniia, no v nego premahnati redovete za delay pools.
Sega veche triabva da se konfigurira crond chrez dobaviane na slednite redove
v /etc/crontab
#SQUID
01 9 * * * root /bin/cp -f /opt/squid/etc/squid.conf-day /opt/squid/etc/squid.conf;
/opt/squid/bin/squid -k reconfigure
59 23 * * * root /bin/cp -f /opt/squid/etc/squid.conf-night /opt/squid/etc/squid.conf;
/opt/squid/bin/squid -k reconfigure
4.11. Moiat download spira v 23:59 sus suobshtenie "acl day time 09:00-23:59" v squid.conf.Kakvo da napravia?
Vie mozhe da postignete tova premahvaiki redovete acl ot squid.conf i sushto
"delay_access 2 allow dzien delay_access 2 deny !dzien".
4.12. ZHurnalite na Squid rastat mnogo burzo, kakvo da napravia?
Nai-dobriia nachin e da izpolzvate logrotate, obache triabva da izpolzvate maluk
trik, za da raboti sus squid. Slozhete slednite redove v /etc/crontab:
#SQUID - logrotate
01 4 * * * root /opt/squid/bin/squid -k rotate; /usr/sbin/logrotate /etc/logrotate.conf;
/bin/rm -f /var/log/squid/*.log.0
Sega triabva da se konfigurira logrotate da se startira v 04:01, taka che
premahnete vsichki startirashti failove na logrotate, naprimer v /etc/cron.daily/.
/etc/logrotate.d/syslog:
#SQUID logrotate - shte pazi zhurnalite 40 dena
/var/log/squid/*.log.0 {
rotate 40
compress
daily
postrotate
/usr/bin/killall -HUP syslogd
endscript
}
4.13. CBQ e tupo;ne mozhe li da si svaliam na pulnata skorost kogato samo az izpolzvam mrezhata?
Vuzmozhno e.Ima dva nachina da postignete tova.
Purviia i po-lesen e podoben na reshenieto, koeto napravihme sus Squid.
Dobavete sledniia red v /etc/sysconfig/cbq/:
TIME=00:00-07:59;110Kbit/11Kbit
Mozhete da imate mnozhestvo TIME deklaratsii v konfiguratsionnite failove na CBQ.
Obache budete vnimatelni, poradi malka greshka v cbq.init-v0.6.2 skripta,
ne mozhe zadavate niakoi vremena kato 00:00-08:00 naprimer. Za da proverite
dali vsichko e nared izpulnete slednata komanda:
/etc/rc.d/cbq.init-v0.6.2 timecheck.
Tova e primer na korekten izhod:
[root@mangoo rc.d]#./cbq.init start; ./cbq.init timecheck **CBQ: 3:44: class
10 on eth0 changed rate (20Kbit -> 110Kbit) **CBQ: 3:44: class 40 on ppp0
changed rate (15Kbit -> 110Kbit) **CBQ: 3:44: class 50 on eth0 changed rate
(35Kbit -> 110Kbit)
A tova za greshen izhod:
[root@mangoo rc.d]#./cbq.init start; ./cbq.init timecheck **CBQ: 3:54: class
10 on eth0 changed rate (20Kbit -> 110Kbit) ./cbq.init: 08: value too great
for base (error token is "08")
Vtoriia nachin da napravite CBQ inteligenten e po-truden - toi ne zavisi ot
vremeto. Mozhe da prochetete za nego v Linux 2.4 Advanced Routing HOWTO, i
izpolzvane na tc komandata.
5. Dopulnitelna informatsiia
5.1. Polezni vruzki
Domashnata stranitsa na Squid:
http://www.squid-cache.org
Squid 2.4 Stable 1 rukovodstvo
http://www.visolve.com/squidman/Configuration Guide.html
http://www.visolve.com/squidman/Delaypool parameters.html
Squid FAQ
http://www.squid-cache.org/Doc/FAQ/FAQ-19.html#ss19.8
CBQ skript
http://www.linuxdoc.org/HOWTO/Adv-Routing-HOWTO.html
Kontrolirane na trafika (na Polski)
http://ceti.pl/~kravietz/cbq/
IPTraf
http://cebu.mozcom.com/riker/iptraf/
IPCHAINS
http://www.linuxdoc.org/HOWTO/IPCHAINS-HOWTO.html