abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 12:00 | Zajímavý projekt

Projekt Termbox umožňuje vyzkoušet si linuxové distribuce Ubuntu, Debian, Fedora, CentOS a Arch Linux ve webovém prohlížeči. Řešení je postaveno na projektu HyperContainer. Podrobnosti v často kladených dotazech (FAQ). Zdrojové kódy jsou k dispozici na GitHubu [reddit].

Ladislav Hagara | Komentářů: 7
dnes 11:00 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě CVE-2016-8655 v Linuxu zneužitelné k lokální eskalaci práv. Chyba se dostala do linuxového jádra v srpnu 2011. V upstreamu byla opravena minulý týden [Hacker News].

Ladislav Hagara | Komentářů: 0
včera 22:00 | Komunita

Přibližně před měsícem bylo oznámeno, že linuxová distribuce SUSE Linux Enterprise Server (SLES) běží nově také Raspberry Pi 3 (dokumentace). Obraz verze 12 SP2 pro Raspberry Pi 3 je ke stažení zdarma. Pro registrované jsou po dobu jednoho roku zdarma také aktualizace. Dnes bylo oznámeno, že pro Raspberry Pi 3 je k dispozici také nové openSUSE Leap 42.2 (zprávička). K dispozici je hned několik obrazů.

Ladislav Hagara | Komentářů: 5
včera 06:00 | Zajímavý software

OMG! Ubuntu! představuje emulátor terminálu Hyper (GitHub) postavený na webových technologiích (HTML, CSS a JavaScript). V diskusi k článku je zmíněn podobný emulátor terminálu Black Screen. Hyper i Black Screen používají framework Electron, stejně jako editor Atom nebo vývojové prostředí Visual Studio Code.

Ladislav Hagara | Komentářů: 38
včera 06:00 | Zajímavý článek

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2016 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2016. Kalendáře Perl Advent Calendar 2016 a Perl 6 Advent Calendar přinášejí každý den zajímavé informace o programovacím jazyce Perl. Stranou nezůstává ani programovací jazyk Go.

Ladislav Hagara | Komentářů: 9
3.12. 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 17
3.12. 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 25
2.12. 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 18
2.12. 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 6
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 775 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: (E)SFQ a spravedlivé rozdělení linky

LFCIB avatar 29.6.2006 14:06 LFCIB | skóre: 19 | blog: LFCIB | /home/lfcib
(E)SFQ a spravedlivé rozdělení linky
Přečteno: 790×
Dobrý den,

nastavil jsem si HTB a na konec pověsil SFQ a zkoušel jsem testovat jak se to bude chovat. Server je S1 a dva testovací počítače, počítač PC1 a PC2.

Cíl: spravedlivě rozdělit rychlosti mezi počítače, které budou spolu v jedné třídě. (jestli je to praktické řešení nevím, ale jiné mě nenapadá)

Dejme tomu, že mám od providera 1000 kbps linku a chci ji hodně nasdílet tak, že jí rozdělím na 3 třídy
1. třída 500 kbps - zde bude 2x PC (PC1 a PC2)
2. třída 250 kbps - zde budou jiná pc
3. třída 250 kbps - zde budou jiná pc
A já teď budu řešit příklad s třídou 1., kterou jsem si nasimuloval a testoval s PC1 a PC2.

PC1 a PC2 sdílí rychlost 500 kbps a díky SFQ se v čase spravedlivě rozdělují rychlosti mezi jednotlivé konexe(dle mých informací). Díky testování jsem nezjistil nic převratného, jen že to tak asi bude.

Na PC1 jsem spustil stahování (40MB) souboru z S1(zatím to omezuji i pro S1 abych mohl testovat) a rychlost se vyšplhala na 1000 kbps a jelo to, následně jsem spustil stahování stejného souboru z PC2, rychlost jela na 500 kbps a na PC1 se snížila na polovinu. Takže dvě spojení na dvou PC se spravedlivě rozdělila. Když jsem ale na PC2 spustil stahování stejného souboru znovu k tomu prvnímu, stahovali se 3 soubory ze dvou PC, přičemž každý z nich se stahoval stejnou rychlostí, tzn. že na PC1 zbyla 1/3 rychlosti a pro PC2 se ukously 2/3.

Když jsem stahování onoho souboru č. 2 na PC2 pozastavil a místo něj spustil Bittorrent, začlo to být ještě horší, protože si Bittorrent udělal mnoho spojení do internetu a tak se mi z 1/3 pro PC1 stala dejme tomu 1/20.

Takže se mi v rámci jedné třídy rozdělují poměrně rychlosti v závislosti na počtu spojení.

Když udělám pro každé PC jednu třídu, tak bych to měl vyřešit, ale to se mi nechce, protože by těch PC mohlo být v budoucnu více.

Takže jsem pátral a mělo by to řešit ESFQ, které by mi mělo v rámci třídy rozdělit rychlosti mezi spojení vázaná na jednotlivé IP adresy (třeba).

Chtěl bych se zeptat, jak mám postupovat, když bych chtěl to esfq využít. Neumím dobře anglicky a také kompilování jádra bych se chtěl prozatím vyhnout(je jen nějaký modul?). Jaké doporučujete kroky? Mám Debian GNU/Linux Sarge a vše využívám z této distribuce, je tam jádro 2.4, můžete mě prosím nějak nasměrovat?

Dále, když bych chtěl pak omezovat i upload na rozhraní eth0, šlo by to takto teoreticky filtrovat?
tc filter add dev eth0 parent 1:0 prio 2 protocol ip u32 match ip src 192.168.0.2 flowid 1:11
Nechtěl bych tady něco dělat a pak to kvůli uploadu nějak složitě předělávat za pomoci IMQ, když už tak rovnou.

Dále, snažil jsem se přijít na to co je to parametr burst a našel jsem dvě různá vysvětlení a tak nevim.

Buď je to: počet dat, které projdou bez omezení třídy (např. 5k znamená 5kb dat) Nebo je to: maximální odchylka od rate (cburst od ceil)

Ptám se proto, že často když začnu stahovat, vylétne na několik vteřin (cca 5 vteřin) rychlost na cca trojnásobek maximální a pak klesne docela rychle na tu co by měla být maximální. Takže bych se přikláněl k první verzi, ale moc mi tam pak nesedí ta hodnota. A burst je podle mě něco jako dávkování, takže jsem to nějak nepochopil a prosím o vysvětlení. Jako odchylku bych to chápal i s hodnotou, ale našel jsem na netu i to první vysvětlení.

Nastavení HTB:
tc qdisc add dev eth0 root handle 1:0 htb default 11

tc class add dev eth0 parent 1:0 classid 1:1 htb rate 1000kbit burst 20kbit

tc class add dev eth0 parent 1:1 classid 1:11 htb rate 500kbit ceil 1000kbit burst 10kbit
tc class add dev eth0 parent 1:1 classid 1:12 htb rate 250kbit ceil 500kbit burst 5kbit
tc class add dev eth0 parent 1:1 classid 1:13 htb rate 250kbit ceil 250kbit burst 5kbit

tc qdisc add dev eth0 parent 1:11 handle 11:0 sfq perturb 10
tc qdisc add dev eth0 parent 1:12 handle 12:0 sfq perturb 10
tc qdisc add dev eth0 parent 1:13 handle 13:0 sfq perturb 10

tc filter add dev eth0 parent 1:0 prio 1 protocol ip u32 match ip protocol 17 0xff match ip dport 53 0xffff flowid 1:11
tc filter add dev eth0 parent 1:0 prio 2 protocol ip u32 match ip dst 192.168.0.2 flowid 1:11
tc filter add dev eth0 parent 1:0 prio 2 protocol ip u32 match ip dst 192.168.0.3 flowid 1:11
Díky moc za váš čas a snahu

LFCIB
-=:L:i:N:u:X:=-<=>-=:4:e:V:e:R:=- Vyhovuje mi Debian GNU/Linux

Odpovědi

Max avatar 29.6.2006 15:25 Max | skóre: 64 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: (E)SFQ a spravedlivé rozdělení linky
Přesně tak, SFQ nezajišťuje rovnoměrné rozdělení zátěže mezi uživateli, či programy, ale pouze mezi TCP spojeními. O spravidlivé řešení se postará ESFQ, ale bez kompilace jádra se neobejdeš ;-), navíc ještě budeš muset opatchovat iproute2 a následně zkompilovat a nainstalovat ;-). Vše je velice jednoduché. Stáhneš si zdrojáky jádra a iproute2 a potom patch esfq
wget -c http://developer.osdl.org/dev/iproute2/download/iproute2-2.6.16-060323.tar.gz
wget -c http://fatooh.org/esfq-2.6/esfq-2.6.15.1.tar.gz
Pak už jen stačí opatchovat zdrojáky jádra a iproute2
cd /usr/src/linux
patch -p1 < ../esfq-2.6.15.1/esfq-kernel.patch
cd /usr/src/iproute2-2.6.16-060323
patch -p1 < ../esfq-2.6.15.1/esfq-iproute2.patch
Patch esq na 2.6.15 funguje i na 2.6.16 a 2.6.17 ...
Momentálně pracuju na článku o kompletním shapingu od kompilace, patchování apod. až po skripty. Počítám, že do 14 dní by mohl být hotov a pak, pokud bude mít redakce zájem, ho tu zveřejním.
Zdar Max
Měl jsem sen ... :(
Max avatar 29.6.2006 15:35 Max | skóre: 64 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: (E)SFQ a spravedlivé rozdělení linky
Hmm, jop, imq je dobrá věc ;-). Ulehčuje hodně věcí. Pokud budeš kompilovat jádro apod., tak si to rovnou opatchuj i s imq ;-). Ale pro imq musíš zase patchovat iptables :-D, mno, když do toho půjdeš, tak prostě iptables+iproute2+kernel musíš kompilovat a patchovat ;-). Pokud by jsi v tom patchování byl najetej a chtěl by jsi ještě něco víc, jak obyčejný esfq+imq, tak by jsem se být tebou podíval ještě na ipp2p a layer7 filter. Tyto projekty dokáží identifikovat p2p pakety apod. věci a následně je můžesš lehce shapovat, či zakázat apod. Jinak na routeru se řeší omezování uploadu velice jednoduše, máš eth do netu a eth do vnitřní sítě. Filtr hodíš na tu do netu a shapuješ upload ;-) (jednoduše řečeno, samozřejmš se pak trošku změní hrátky s iptables apod. v tom skriptu)
Zdar Max
Měl jsem sen ... :(
LFCIB avatar 29.6.2006 15:43 LFCIB | skóre: 19 | blog: LFCIB | /home/lfcib
Rozbalit Rozbalit vše Re: (E)SFQ a spravedlivé rozdělení linky
Teda. Asi to máš zmáknutý, už se těšim na ten článek o shapovaní :-)

Jdu hledat jak se kompiluje jádro :-)

Doufám, že se v tom neztratím. Ale nebojim se toho!

Jinak ještě k tomu uploadu, tak jak to popisuješ mi to je jasný, ale co pak, když ty adresy NATuju?

LFCIB
-=:L:i:N:u:X:=-<=>-=:4:e:V:e:R:=- Vyhovuje mi Debian GNU/Linux
Max avatar 29.6.2006 16:12 Max | skóre: 64 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: (E)SFQ a spravedlivé rozdělení linky
Samotný u32 filtr bych nepoužíval, nevím, zda to s ním samotným vůbec jde. Nejlepší asi je použít iptables a packety prostě markovat.
Zdar Max
Měl jsem sen ... :(
LFCIB avatar 3.7.2006 13:47 LFCIB | skóre: 19 | blog: LFCIB | /home/lfcib
Rozbalit Rozbalit vše Re: (E)SFQ a spravedlivé rozdělení linky
Ahoj, tak se mi to jádro podařilo na několikátý pokus zkompilovat (jedna kompilace mi trvá 4-5 hodin - hrozný) a už mi i naběhlo. Akorát mi to píše že to nenašlo moduly pro iptables.. něco jestli jsem použil insmod atd. Ale já si myslel že iptables budou v jádře a né jako moduly, nikde jsem v menuconfigu ty volby pro netfilter nenašel, po patchnutí esfq jsem tam esfq našel, ale iptables jenom nějaké části, jako markování forward... prostě ted na tom nerozchodim ani firewall...

Takže jak jsem postupoval:

1. jsem si stáhl jádro 2.6.17.1, iptables 1.3.5 a pak to esfq a iproute jak mi napsal MAX.

2. Rozbalil jsem jádro a hodil symbolický link na /usr/src/linux

3. pak jsem patchnul (jak psal MAX) kernel a iproute

4. ted už jsem jenom naslepo dělal co se mi zdálo jako správný

5. jsem spustil make menuconfig a nastavil tam fs a ide a přidal esfq

6. jsem myslel že budu muset ty nový iptables 1.3.5 nějak nainstalovat před kompilací jádra, takže jsem dal make

7. to samý s iproute

8. a pak jsem dal na jádro make (čekal 5 hodin) a make install

9. jsem dal make modules a make modules_install

10. přidal jsem položku v grubu a nastavil na nové jádro

11. reboot a pak mi to normálně najelo, ale když se pouštěl skript s firewallem, tak mi to snad ke každému řádku vyhodilo chybu že chybí modul pro iptables a nějaké řeči o iptables 1.2.11(původní verze) nebo nějak tak byla ta verze

IPP2P se mi tam nepodařilo dát, imq k tomu jsem tam dával patch-o-matic ale taky se to nepovedlo... takže pro začátek bych byl rád za to esfq...

Jak tedy jádru dám vědět že si to má zkompilovat s tou verzí iptables co jsem si stáhl, to samé i iproute? to když dám make tak se to nainstaluje a do těch konfigů pro kernel přidá samo?

Nejradši bych to udělal napoprvé, protože čekat cca 5 hodin a pak zjistit že to bylo na nic je fakt strašný.

Nebo jak tam nahraji ty moduly iptables, když už je to takhle zkoněný :-)

Díky za pomoc

LFCIB
-=:L:i:N:u:X:=-<=>-=:4:e:V:e:R:=- Vyhovuje mi Debian GNU/Linux
3.7.2006 16:44 trekker.dk | skóre: 71
Rozbalit Rozbalit vše Re: (E)SFQ a spravedlivé rozdělení linky
Nebo jak tam nahraji ty moduly iptables, když už je to takhle zkoněný
Podívej se, jestli jsou v /lib/modules/verze/kernel/net/ipv4/netfilter/. Pokud je tam nenajdeš, podívej se do menuconfigu, jestli jsi je nechal zakompilovat do jádra (<*>) nebo jsi na ně zapomněl (< >)
Quando omni flunkus moritati
LFCIB avatar 3.7.2006 16:53 LFCIB | skóre: 19 | blog: LFCIB | /home/lfcib
Rozbalit Rozbalit vše Re: (E)SFQ a spravedlivé rozdělení linky
Já jsem iptables/netfilter právě při zatrhávání *ček v menuconfigu nenašel :-( Ale v /lib/modules/verze/kernel/net/ipv4/netfilter/ ty soubory *.ko jsou, to jsou ty moduly? Nějak v tom mám guláš a nikde jsem o tom nic nenašel.

Díky moc

LFCIB
-=:L:i:N:u:X:=-<=>-=:4:e:V:e:R:=- Vyhovuje mi Debian GNU/Linux
3.7.2006 20:24 trekker.dk | skóre: 71
Rozbalit Rozbalit vše Re: (E)SFQ a spravedlivé rozdělení linky
Jo, ty .ko soubory, to je ono, mělo by tam být něco jako ip_tables.ko, iptable_filter.ko a další. Příkazem modprobe by se ten modul měl nahrát (parametrem je jméno modulu = jméno toho souboru bez .ko)

Pro základní funkce potřebuješ ipt_MASQUERADE, iptable_nat, ip_nat, ip_conntrack, iptable_filter, ip_tables.

Vzhledem k tomu, že ti to vyhazuje chyby při nahrávání pravidel, pravděpodobně nesouhlasí verze - v takovém případě modprobe skončí s chybou.
Quando omni flunkus moritati
Max avatar 3.7.2006 20:38 Max | skóre: 64 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: (E)SFQ a spravedlivé rozdělení linky
Network => Networking Option => Tady zakřížkovávej jak splašenej (krom teda experimentálních modulů a těch debugovacích)
Network => Networking Option => Network packet filtering (replaces ipchains) ---> zaškrtej vše, krom experimentálních věcí (a debugovacích), co půjde, dávej do modulu.
Network => Networking Option => QoS and/or fair queueing ---> To samé, zaškrtávej, co to jde ;-)

Toto jsou hlavní věci, nikde nehledej položky s názvem iptables apod. Jsou tam jen názvy služeb, modulů apod. ;-)

Zdar Max
Měl jsem sen ... :(
LFCIB avatar 3.7.2006 22:03 LFCIB | skóre: 19 | blog: LFCIB | /home/lfcib
Rozbalit Rozbalit vše Re: (E)SFQ a spravedlivé rozdělení linky
Díky moc, já už jsem našel kde je problém - mezi židlí a klávesnicí. Protože jak tam nejsou ty posuvníky, nevšiml jsem si, že jsou dole ještě volby. Panebože.

:-)

LFCIB
-=:L:i:N:u:X:=-<=>-=:4:e:V:e:R:=- Vyhovuje mi Debian GNU/Linux
LFCIB avatar 29.6.2006 15:36 LFCIB | skóre: 19 | blog: LFCIB | /home/lfcib
Rozbalit Rozbalit vše Re: (E)SFQ a spravedlivé rozdělení linky
Díky moc ;-) budu se sn(m)ažit :-)

Jinak asi budu muset mít jádro 2.6 a to opatchovat co? Takže né kompilovat jádro, ale jen opatchovat?

Já umím kompilovat leda tak jádra lískových ořechů :-)

Dík za naroutování, určitě se to (ne)povede :-)

LFCIB
-=:L:i:N:u:X:=-<=>-=:4:e:V:e:R:=- Vyhovuje mi Debian GNU/Linux
Max avatar 29.6.2006 16:16 Max | skóre: 64 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: (E)SFQ a spravedlivé rozdělení linky
Patche jsou i pro jádra 2.4.x, ale pokud nutně nepotřebuješ jádro řady 2.4.x, tak bych opravdu použil 2.6.x ;-). Jádro se musí opatchovat (pro neznalce => přidají se další volby do nabídky) a pak zkompilovat (zaškrtnou se ty volby v nabídce a jde se na kompilování) ....
Zdar Max
PS:Vyšly tu články o kompilaci kernelu apod. , zkus na ně kouknout ;-). Nebo pokud máš rychlý net, tak si stáhni z avc.sh.cvut.cz video o kompilaci jádra ;-)
Měl jsem sen ... :(
Max avatar 29.6.2006 16:18 Max | skóre: 64 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: (E)SFQ a spravedlivé rozdělení linky
Myslím, že je to tohle ....
Zdar Max
Měl jsem sen ... :(
3.7.2006 22:14 ...... | skóre: 41 | blog: ...
Rozbalit Rozbalit vše Re: (E)SFQ a spravedlivé rozdělení linky
Jedu ještě stále na jádře 2.4, ale mám ho zde http://zlin.ath.cx/~petr/linux/ . Obsahuje IMQ, l7-filters, ESFQ, IPP2P, Patch-o-matic (např. CONNMARK apod.). Je tam i pár skriptů na dělení pomocí HTB, SFQ, ESFQ, patchnuté iptables, a balík iproute2. Všechno je to primárně dělané pro Slackware. Jestli se ti s tím nechce dělat, tak použij toto. Hodně štěstí.
LFCIB avatar 4.7.2006 00:39 LFCIB | skóre: 19 | blog: LFCIB | /home/lfcib
Rozbalit Rozbalit vše Re: (E)SFQ a spravedlivé rozdělení linky
Děkuji, rád se inspiruji.

S pozdravem

LFCIB
-=:L:i:N:u:X:=-<=>-=:4:e:V:e:R:=- Vyhovuje mi Debian GNU/Linux

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.