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í
×
    včera 22:33 | Nová verze

    Byl vydán Debian 13.5, tj. pátá opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.14, tj. čtrnáctá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    15.5. 12:55 | Nová verze

    CiviCRM (Wikipedie) bylo vydáno v nové verzi 6.14.0. Podrobnosti o nových funkcích a opravách najdete na release stránce. CiviCRM je robustní open-source CRM systém navržený speciálně pro neziskové organizace, spolky a občanské iniciativy. Projekt je napsán v jazyce PHP a licencován pod GNU Affero General Public License (AGPLv3). Český překlad má nyní 45 % přeložených řetězců a přibližuje se milníku 50 %. Potřebujeme vaši pomoc, abychom se dostali dál. Pokud máte chuť přispět překladem nebo korekturou, přidejte se na platformu Transifex.

    jardaIT | Komentářů: 2
    15.5. 12:22 | Bezpečnostní upozornění

    Další lokální zranitelností Linuxu je ssh-keysign-pwn. Uživatel si může přečíst obsah souborů, ke kterým má právo ke čtení pouze root, například soubory s SSH klíči nebo /etc/shadow. V upstreamu již opraveno [oss-security mailing list].

    Ladislav Hagara | Komentářů: 1
    14.5. 17:22 | Komunita

    Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.

    Ladislav Hagara | Komentářů: 7
    14.5. 16:55 | Zajímavý software

    Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.

    Ladislav Hagara | Komentářů: 27
    14.5. 14:00 | Zajímavý projekt

    Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.

    Pinhead | Komentářů: 6
    14.5. 02:22 | Zajímavý software

    Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.

    Ladislav Hagara | Komentářů: 0
    14.5. 01:11 | Nová verze

    Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    13.5. 21:22 | Bezpečnostní upozornění

    Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.

    Ladislav Hagara | Komentářů: 1
    13.5. 14:00 | Komunita

    Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.

    Ladislav Hagara | Komentářů: 13
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1645 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Jak na sdílení pásma aka (traffic) shaping

    Sdílením pásma (dale jen shaping) se rozumí přidělení určité maximální rychlosti některým datovým tokům tekoucím přes router. Sepsal bych několik heslovitých poznámek, ostatní se dá dobře najít v dokumentaci (především v LARTC):

    * Vlastní shaping se provádí pomocí tzv. Queueing Discipline, zkráceně qdisc. Tyto se definují pomocí příkazu tc (zkratka od traffic control). Tyto qdiscy se nastavují pro každou síťovou kartu zvlášť, na každé síťové kartě jich může být hodně a různě uspořádaných.

    * Příkaz tc má poměrně složitou syntaxi a pro začátečníka není moc vhodný (nekamenovat, můj názor). Proto je dobré používát různé skripty, které shaping nastaví podle zadaného konfig. souboru (např. cbq.init, htb.init)

    * Pozornosti doporučuju qdisc HTB (Hierarchical Token Bucket) a SFQ (Stochastic Fair Queuing). Zatímco první slouží k (hierarchickému) rozdělení pásma mezi datové taky, druhý slouží k rovnoměrnému a spravedlivému rozdělení toku mezi několik spojení. Např: pomocí HTB se rozdělí pásmo mezi uživatele A,B a C a pomocí SFQ se každému uživateli zajistí spravedlivé rozdělení jeho pásma mezi všechny jeho spojení

    * HTB uspořádává třídy do stromu, v kořeni je celé síťové rozhraní, dál je to na vás. Jednotlivé sourozenecké uzly si navíc mezi sebou mohou půjčovat nevyužité pásmo. Na každém listu je pak potřeba pověsit nějaký qdisc, který zajistí rozdělení pásma přiděleného od HTB dané třídě mezi spojení, které ve třídě jsou. Většinou to bývá SFQ, případně FIFO.

    * Všechno popsané v minulém odkazu za vás nastaví htb.init, stačí mu jen předhodit několik konfiguračních souborů.

    * Pokud se na daném rozhraní provádí i NAT, je potřeba si uvědomit, že packety prochází shapingem až po provedení NATu, takže přicházíme o interni zdrojovou adresu u odeslaných packetů a nemůžeme tedy podle ní přímo rozlišovat provoz. Provoz je dobré rozlišovat pomocí FWMARK, které si ve firewallu pomocí iptables -j MARK můžeme nastavit jak chceme (a případně je můžeme využít i třeba pro statistiky přenosu)

    * Shaping se z principu dá provádět pouze na odchozím interface (na příchozím rozhraní se musí data přijímat takovou rychlostí, jakou je vysílající strana posílá). Toto je poměrně často nemožné (provider vám většinou provoz shapeovat nebude a i kdyby chtěl, tak pokud používáte NAT, tak z principu provider nemůže mít k dispozici dostatek informací). Většina používaných protokolů má naštěstí nějakou detekci rychlosti, takže je možné pomocí shapeování na odchozím interface do LOKÁLNÍ sítě nepřímo rychlost posílání omezovat. Při dodržení některých pravidel to funguje i docela spolehlivě. Především není možné moc dobře používat půjčování nevyužitého pásma, protože může dojít k situaci, kdy u providera packety z jedné třídy hlavičkami umlátí packety z druhé třídy. Příklad: Máme dvě lokální třídy A (max 1Mbit/s) a B (max 1Mbit/s). Celkem máme linku 1,5Mbit/s. Obě třídy chtějí využít maximální rychlosti, takže u providera "čeká" na doručení 2Mbit/s packetů. Protože linka má jen 1,5Mbit/s musí se proto router u providera rozhodovat, které packety pošle. Pokud není poměr packetů z obou tříd vyrovananý (jedna má např. hodně malých packetů a druhá málo velkých), tak na náš router přijde například 0,9MBit/s z jedné třídy a 0,6Mbit/s z druhé třídy. Router si ověšem myslí, že druhá třída nevyužívá plně svoje pásmo a proto "volné" pásmo přidělí první třídě. Takže místo aby se obě třídy spravedlivě rozdělily 0,7 vs 0,7, tak budou hodnoty různě oscilovat. Dále samozřejmě není možné shapeovat provoz určený pro router.

    * Je dobré udělat speciální třídu pro malé packety (iptables -m length), cca do 80-100B a ty pouštět prioritně. Zrychlí se tak odezva SSH, pošty a spol. Je to velice vhodné i pro síťové hry. Také se tak upřednostní potvrzovací packety, takže se vyřeší známý problém DC++, kdy velké packety odchozích spojení (cca 1500B) vůbec nepustily k lince malé potvrzující packety pro příchozí data a download tak klesl třeba na 20%.

    * Není jednoduché shapeovat služby jako DC++ a spol., protože používají různá čísla portů. Nejúčinější řešení je použít moduly pro iptables, které tyto spojení poznají (většinou ale jen úvodní packet) a rozšíření Connection Marking (řeší problém poznávání, které packety patří do spojení, které jsme podle úvodního packetu označili jako např. DC).

    * Do modemu se většinou doporučuje posílát o pár procent menší datový tok, než kolik máme od providera. Efektivně se tak z činnosti vyřadí buffer modemu, který je poměrně hloupý, a náš router získá lepší kontrolu nad řízením toku linky.

    * Papír a tužka nejsou nepřátelé a pěkný diagrámek často pomůže rozmyslet situaci a/nebo vyřešit problém.

    Související dokumenty

    HTB Home (externí dokument)
    htb.init (externí dokument)
    LARTC - Linux Advanced Routing and Traffic Control Howto (externí dokument)
    IPP2P - poznávání peer-to-peer spojení (externí dokument)

    Dokument vytvořil: Radek Hladik, 9.12.2005 23:23 | Poslední úprava: Käyttäjä 11133, 24.4.2007 21:23 | Historie změn | Zobrazeno: 2461×

    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.