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í
×
    dnes 18:11 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 2
    dnes 16:33 | IT novinky

    Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.

    Ladislav Hagara | Komentářů: 1
    dnes 15:55 | Nová verze

    Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | Nová verze

    Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

    Ladislav Hagara | Komentářů: 2
    včera 21:00 | Nová verze

    Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    včera 20:11 | Komunita

    Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Nová verze

    Byla vydána nová verze 3.0.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP bude brzy k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | IT novinky

    Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.

    Ladislav Hagara | Komentářů: 1
    včera 12:22 | Nová verze Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (39%)
     (46%)
     (15%)
     (17%)
     (21%)
     (15%)
     (18%)
     (16%)
     (16%)
    Celkem 190 hlasů
     Komentářů: 12, poslední 4.10. 20:35
    Rozcestník

    Dotaz: Problem s shapingem

    23.4.2008 08:50 Pavel Záruba
    Problem s shapingem
    Přečteno: 387×
    Zdravím, mám menší problém se skriptem pro omezování rychlosti. Skript jako takový funguje dobre, ze souboru nacitam informace o uzivateli a shapuju, ale pokud chci ,aby IP které nejsou v daném souboru měli nejakou minimální rychlost, tak mi na Lanu vzroste ping a vyskytne se několika procentní loss. Mohli byste mi poradit, co tam mám špatně (Sekce OSTATNÍ IP-úplně dole)
    #! /bin/sh
    
    # umisteni klienskych ip
    IP_PATH="/etc/users/users.txt"
    
    DOWNLOAD=2000kbit
    UPLOAD=2000kbit
    GARANTDOWN=50kbit
    GARANTUPLOAD=50kbit
    
    shaping_up() {
    
    echo ""
    echo "Mazu predchozi nastaveni"
    
     tc qdisc del dev eth0 root &> /dev/null
     tc qdisc del dev eth1 root &> /dev/null
     tc qdisc add dev eth0 root handle 1: htb default 9999 r2q 100
     tc qdisc add dev eth1 root handle 1: htb default 9999 r2q 100
    
    # propustnost internetu
     tc class add dev eth0 parent 1:0 classid 1:1 htb rate ${UPLOAD} prio 1
     tc class add dev eth1 parent 1:0 classid 1:1 htb rate ${DOWNLOAD} prio 1
    
    # QOS
    line=` wc -l $IP_PATH | awk '{print $1}'`
    x=1
    while [ "$x" -le $line ]; do
            a=`sed -n $x\p $IP_PATH | awk '{print $1}'`
            if [ $a = \# ]; then
            false
            else
            ip=`sed -n $x\p $IP_PATH | awk '{print $2}'`
            upload=`sed -n $x\p $IP_PATH | awk '{print $4}'`
            download=`sed -n $x\p $IP_PATH | awk '{print $3}'`
            data="$(expr $x + 1000) $base"
    
            # Level 1 subclases (HTB)
            tc class add dev eth1 parent 1:1 classid 1:1${x} htb rate ${GARANTDOWN} ceil ${download}
            tc filter add dev eth1 parent 1: protocol ip prio 10 u32 match ip dst ${ip} flowid 1:1${x}
    
            tc class add dev eth0 parent 1:1 classid 1:1${x} htb rate ${GARANTUPLOAD} ceil ${upload}
            tc filter add dev eth0 parent 1: protocol ip prio 10 u32 match ip src ${ip} flowid 1:1${x}
    
            fi
            x=$(expr $x + 1)
    done
    
    # P2P shaping
    tc class add dev eth0 parent 1:1 classid 1:8999 htb rate 500kbit ceil 1000kbit
    tc class add dev eth1 parent 1:1 classid 1:8999 htb rate 500kbit ceil 1000kbit
    
    i=1
    for i in $(seq  9);do
    
    tc filter add dev eth0 parent 1:0 protocol ip prio 2 handle $i fw classid 1:8999
    tc filter add dev eth1 parent 1:0 protocol ip prio 2 handle $i fw classid 1:8999
    
    done
    
    #P2P konec
    
    ##################################################################
    # Ostatni IP 
         tc class add dev eth0 parent 1:1 classid 1:9999 htb rate 50kbit
         tc class add dev eth1 parent 1:1 classid 1:9999 htb rate 50kbit
         tc filter add dev eth0 parent 1: protocol ip prio 10 u32 match ip src 0.0.0.0/0 flowid 1:9999
         tc filter add dev eth1 parent 1: protocol ip prio 10 u32 match ip dst 0.0.0.0/0 flowid 1:9999
    
    
    echo ""
    echo "Vse nastaveno :)"
    echo ""
    
    }
    
    shaping_down() {
      echo -e "Zastavuji shapovani klientu ... "
      tc qdisc del dev eth0 root &> /dev/null
      tc qdisc del dev eth1 root &> /dev/null
      echo -e "Shapov▒n▒ zastaveno ... "
    }
    
    case "$1" in
    'start')
      shaping_up
      ;;
    'stop')
      shaping_down
      ;;
    '--help')
      echo -e "\nPouziti: $0 start|stop\n"
      echo -e "$0 start     => zapne shaping"
      echo -e "$0 stop      => vypne shaping"
      echo -e "$0 --help    => vypise tuto napovedu\n"
     ;;
    * )
      echo -e "\nPouziti: $0 start|stop\n"
      echo -e "Napoveda: $0 --help\n"
    esac
    

    Odpovědi

    23.4.2008 08:57 pht
    Rozbalit Rozbalit vše Re: Problem s shapingem
    co si pamatuju, tak ping a packet loss souvisi s nejakym nastavenim htb (ci jine metody) ohledne delky fronty, do ktere kernel schovava packety nez je vypusti. jsem linej to ted hledat presne ale myslim ze se to da najit snadno. minimalne v "lartc" o tom zminka bude.
    23.4.2008 10:03 Pavel Záruba
    Rozbalit Rozbalit vše Re: Problem s shapingem
    Hledám, hledám, nenacházím :(
    24.4.2008 06:51 pht
    Rozbalit Rozbalit vše Re: Problem s shapingem
    no, jeste me napadlo, jestli to neni tim, ze aplikujete 50 kbit na oba ethernety a masku 0.0.0.0/0 a tudiz na veskery lan provoz. mozna by to chtelo nejak osetrit lokalni IP, nebo pomoci iptables markovat pakety ktere se routuji.
    24.4.2008 08:05 Pavel Záruba
    Rozbalit Rozbalit vše Re: Problem s shapingem
    Rychlost pro vsechny IP, které jsou na Lanu nastavené mám, i pro samotný router.
    24.4.2008 06:55 pht
    Rozbalit Rozbalit vše Re: Problem s shapingem
    jinak, ten cyklus na nacteni souboru mate hroznej, ctete ten soubor extra pro kazdy radek zvlast. zkuste neco takoveho:
    sed 's/#.*$//;s/^ *//;s/ *$//;/^$/d' < $input_file | \
            while read parametr1 parametr2 parametr3 parametr4; do
    
            echo "1=$parametr1"
            echo "2=$parametr2"
            echo "3=$parametr3"
            echo "4=$parametr4"
    done
    
    24.4.2008 08:01 Pavel Záruba
    Rozbalit Rozbalit vše Re: Problem s shapingem
    Díky za optimalizaci :)

    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.