Rozdelenie bandwith pre userof

Sekcia: Konfigurácia 22.03.2007 | 18:36
Avatar Lubo FC8, Ubuntu, Solaris 10/u8  Používateľ
Zdravim! Potreboval by som nejako nakopnut ohladne prerozdelenia pasma pricom vo firme mame linku 2MB a trebalo by ju rozdelit pre jednotlivych userof.Pocul som nieco o CBQ ale neviem ako na to. Vedeli by ste mi stym niekto poradit? Malo by to byt nejako takto: LInux na ktorom bude Squid+NAT a tiez CBQ. Diki.
    • Re: Rozdelenie bandwith pre userof 22.03.2007 | 20:55
      Avatar borg Fedora  Administrátor
      shaping. google na to vypluje dost manualov
      • Re: Rozdelenie bandwith pre userof 22.03.2007 | 20:59
        Avatar Lubo FC8, Ubuntu, Solaris 10/u8  Používateľ
        ofkej skusim si to vygooglit... btw ale nejako len v strucnosti sa neda cosi kolo toho napisat?
        • Re: Rozdelenie bandwith pre userof 22.03.2007 | 21:45
          WlaSaTy   Návštevník
          ano naslo a iste sa najde aj kamarat ktory sa podeli o tvoj plat vo firme :-)
          • Re: Rozdelenie bandwith pre userof 23.03.2007 | 09:48
            Avatar nipo Ubuntu 9.04  Používateľ
            squid & delay_pools ... to co potrebujes ku stastiu :-)
          • Re: Rozdelenie bandwith pre userof 23.03.2007 | 11:36
            Avatar Lubo FC8, Ubuntu, Solaris 10/u8  Používateľ
            Bohuzial, za toto niesom plateny kedze som technik a nie administrator a btw pustam sa do toho lebo chcem skusit cosi nove a vediet viac takze si taketo dristy odpust! Chcel som len vediet kde zacat... Takze dik moc!
            • Re: Rozdelenie bandwith pre userof 23.03.2007 | 11:56
              WlaSaTy   Návštevník
              Tak to je pre teba chvalihodne, tym padom si odpustim aj posledny drist : google = CBQ howto, v prvom poskytnutom dokumente je to krasne popisane. Ked budes mat specificku otazku, tak sa prosim ta ozvi, OK?
    • Re: Rozdelenie bandwith pre userof 23.03.2007 | 20:46
      Avatar lime Debian 3, Red Hat 6, Fedora Core 3  Používateľ
      No zaklad je si to spravne nakreslit a pochopit princip shapera a budete k tomu pottebovat iptables, tc, a principy cbq alebo htb mozes to robit bud cez -j MARK --set-mark 1, alebo lepsia cesta je kompilovat jadro s podporou IMQ, lebo pri nat iptables Vam upload istotne fungovat nebude :). Takze kompilovat podporu IMQ. Tu je manua ktory Vam pomoze aspon dufam :)). http://alfa.tailor.com.pl/imqhtb/2.4.20/imq_htb.html

      a tu je patch na kernel a iptables http://www.linuximq.net/patches.html

      a tu mas funkcny script v ktorom mas implementovane IMQ

      #!/bin/bash



      ifc_zew="eth0"



      max_upload="60kbit"

      up_others="5kbit"

      up_ssh="15kbit"

      up_http="20kbit"

      up_ftp="20kbit"



      max_download="250kbit"

      down_others="10kbit"

      down_ssh="40kbit"

      down_http="100kbit"

      down_ftp="100kbit"



      ########## Upload ##########

      ip link set imq0 up

      tc qdisc add dev imq0 root handle 1: htb default 10



      tc class add dev imq0 parent 1: classid 1:1 htb rate $max_upload ceil $max_upload

      tc class add dev imq0 parent 1:1 classid 1:10 htb rate $up_others ceil $max_upload

      tc class add dev imq0 parent 1:1 classid 1:20 htb rate $up_ssh ceil $max_upload

      tc class add dev imq0 parent 1:1 classid 1:30 htb rate $up_http ceil $max_upload

      tc class add dev imq0 parent 1:1 classid 1:40 htb rate $up_ftp ceil $max_upload



      tc filter add dev imq0 parent 1: protocol ip prio 10 handle 100 fw classid 1:10

      tc filter add dev imq0 parent 1: protocol ip prio 1 handle 200 fw classid 1:20

      tc filter add dev imq0 parent 1: protocol ip prio 1 handle 300 fw classid 1:30

      tc filter add dev imq0 parent 1: protocol ip prio 1 handle 400 fw classid 1:40



      tc qdisc add dev imq0 parent 1:10 handle 10:0 sfq perturb 10

      tc qdisc add dev imq0 parent 1:20 handle 20:0 sfq perturb 10

      tc qdisc add dev imq0 parent 1:30 handle 30:0 sfq perturb 10

      tc qdisc add dev imq0 parent 1:40 handle 40:0 sfq perturb 10



      iptables -t mangle -A POSTROUTING -m layer7 --l7proto ssh -j MARK --set-mark 200

      iptables -t mangle -A POSTROUTING -m layer7 --l7proto http -j MARK --set-mark 300

      iptables -t mangle -A POSTROUTING -m layer7 --l7proto ftp -j MARK --set-mark 400



      iptables -t mangle -A POSTROUTING -o $ifc_zew -j IMQ --todev 0



      ########## Download ##########

      ip link set imq1 up

      tc qdisc add dev imq1 root handle 1: htb default 10



      tc class add dev imq1 parent 1: classid 1:1 htb rate $max_download ceil $max_download

      tc class add dev imq1 parent 1:1 classid 1:10 htb rate $down_others ceil $max_download

      tc class add dev imq1 parent 1:1 classid 1:20 htb rate $down_ssh ceil $max_download

      tc class add dev imq1 parent 1:1 classid 1:30 htb rate $down_http ceil $max_download

      tc class add dev imq1 parent 1:1 classid 1:40 htb rate $down_ftp ceil $max_download



      tc filter add dev imq1 parent 1: protocol ip prio 10 handle 100 fw classid 1:10 // (1)

      tc filter add dev imq1 parent 1: protocol ip prio 1 handle 200 fw classid 1:20

      tc filter add dev imq1 parent 1: protocol ip prio 1 handle 300 fw classid 1:30

      tc filter add dev imq1 parent 1: protocol ip prio 1 handle 400 fw classid 1:40



      tc qdisc add dev imq1 parent 1:10 handle 10:0 sfq perturb 10

      tc qdisc add dev imq1 parent 1:20 handle 20:0 sfq perturb 10

      tc qdisc add dev imq1 parent 1:30 handle 30:0 sfq perturb 10

      tc qdisc add dev imq1 parent 1:40 handle 40:0 sfq perturb 10



      iptables -t mangle -A PREROUTING -m layer7 --l7proto ssh -j MARK --set-mark 200 // (2)

      iptables -t mangle -A PREROUTING -m layer7 --l7proto http -j MARK --set-mark 300

      iptables -t mangle -A PREROUTING -m layer7 --l7proto ftp -j MARK --set-mark 400

      iptables -t mangle -A PREROUTING -i $ifc_zew -j IMQ --todev 1


      Upravte si to podla potreby :)).

      Tak zdar :))
      Prejdite z modrej obrazovky k linuxu :))
      • Re: Rozdelenie bandwith pre userof 23.03.2007 | 20:49
        Avatar lime Debian 3, Red Hat 6, Fedora Core 3  Používateľ
        ESte to layer mozes vynechat

        taze script bude vyzerat takto

        #!/bin/bash

        ifc_zew="eth0"

        max_upload="60kbit"

        up_others="5kbit"

        up_ssh="15kbit"

        up_http="20kbit"

        up_ftp="20kbit"



        max_download="250kbit"

        down_others="10kbit"

        down_ssh="40kbit"

        down_http="100kbit"

        down_ftp="100kbit"



        ########## Upload ##########

        ip link set imq0 up

        tc qdisc add dev imq0 root handle 1: htb default 10



        tc class add dev imq0 parent 1: classid 1:1 htb rate $max_upload ceil $max_upload

        tc class add dev imq0 parent 1:1 classid 1:10 htb rate $up_others ceil $max_upload

        tc class add dev imq0 parent 1:1 classid 1:20 htb rate $up_ssh ceil $max_upload

        tc class add dev imq0 parent 1:1 classid 1:30 htb rate $up_http ceil $max_upload

        tc class add dev imq0 parent 1:1 classid 1:40 htb rate $up_ftp ceil $max_upload



        tc filter add dev imq0 parent 1: protocol ip prio 10 handle 100 fw classid 1:10

        tc filter add dev imq0 parent 1: protocol ip prio 1 handle 200 fw classid 1:20

        tc filter add dev imq0 parent 1: protocol ip prio 1 handle 300 fw classid 1:30

        tc filter add dev imq0 parent 1: protocol ip prio 1 handle 400 fw classid 1:40

        tc qdisc add dev imq0 parent 1:10 handle 10:0 sfq perturb 10

        tc qdisc add dev imq0 parent 1:20 handle 20:0 sfq perturb 10

        tc qdisc add dev imq0 parent 1:30 handle 30:0 sfq perturb 10

        tc qdisc add dev imq0 parent 1:40 handle 40:0 sfq perturb 10

        iptables -t mangle -A POSTROUTING -o $ifc_zew -j IMQ --todev 0



        ########## Download ##########

        ip link set imq1 up

        tc qdisc add dev imq1 root handle 1: htb default 10



        tc class add dev imq1 parent 1: classid 1:1 htb rate $max_download ceil $max_download

        tc class add dev imq1 parent 1:1 classid 1:10 htb rate $down_others ceil $max_download

        tc class add dev imq1 parent 1:1 classid 1:20 htb rate $down_ssh ceil $max_download

        tc class add dev imq1 parent 1:1 classid 1:30 htb rate $down_http ceil $max_download

        tc class add dev imq1 parent 1:1 classid 1:40 htb rate $down_ftp ceil $max_download

        tc filter add dev imq1 parent 1: protocol ip prio 10 handle 100 fw classid 1:10 // (1)

        tc filter add dev imq1 parent 1: protocol ip prio 1 handle 200 fw classid 1:20

        tc filter add dev imq1 parent 1: protocol ip prio 1 handle 300 fw classid 1:30

        tc filter add dev imq1 parent 1: protocol ip prio 1 handle 400 fw classid 1:40

        tc qdisc add dev imq1 parent 1:10 handle 10:0 sfq perturb 10

        tc qdisc add dev imq1 parent 1:20 handle 20:0 sfq perturb 10

        tc qdisc add dev imq1 parent 1:30 handle 30:0 sfq perturb 10

        tc qdisc add dev imq1 parent 1:40 handle 40:0 sfq perturb 10

        iptables -t mangle -A PREROUTING -i $ifc_zew -j IMQ --todev 1
        Prejdite z modrej obrazovky k linuxu :))
        • Re: Rozdelenie bandwith pre userof 23.03.2007 | 21:08
          Avatar lime Debian 3, Red Hat 6, Fedora Core 3  Používateľ
          A tu to mate na jednotlive IP uvod zostava a jadro je toto napr.

          ########## Upload ##########

          /sbin/tc class add dev imq0 parent 1:1 classid 1:10 htb rate 512kbit ceil 512kbit

          /sbin/tc filter add dev imq0 parent 1: protocol ip prio 1 u32 match ip src 192.168.1.10 flowid 1:10

          /sbin/tc qdisc add dev imq0 parent 1:10 handle 10:0 sfq perturb 10

          #Druha IP
          /sbin/tc class add dev imq0 parent 1:1 classid 1:12 htb rate 128kbit ceil 128kbit

          /sbin/tc filter add dev imq0 parent 1: protocol ip prio 1 u32 match ip src 192.168.1.20 flowid 1:12

          /sbin/tc qdisc add dev imq0 parent 1:20 handle 20:0 sfq perturb 10


          /sbin/iptables -t mangle -A POSTROUTING -o eth0 -j IMQ --todev 0

          ########## Download ##########

          /sbin/tc class add dev imq1 parent 1:1 classid 1:10 htb rate 256kbit ceil 256kbit burst 5k


          /sbin/tc filter add dev imq1 parent 1: protocol ip prio 1 u32 match ip dst 192.168.1.10 flowid 1:10


          #Druha IP
          /sbin/tc qdisc add dev imq1 parent 1:10 handle 10:0 sfq perturb 10

          /sbin/tc class add dev imq1 parent 1:1 classid 1:20 htb rate 56kbit ceil 56kbit burst 5k

          /sbin/tc filter add dev imq1 parent 1: protocol ip prio 1 u32 match ip dst 192.168.1.20 flowid 1:20

          /sbin/tc qdisc add dev imq1 parent 1:20 handle 20:0 sfq perturb 10

          /sbin/iptables -t mangle -A PREROUTING -i eth0 -j IMQ --todev 1


          a mate to poriesene :)). Este proxy a jeto

          poradim Vam iba ze nesmiete zabudniut na redirect portu

          /sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport -j REDIRECT --to-port 3128

          Squid si uz snad viete naconfigurovat vid. man squid. Mozno som niekde urobil preklep tak necopy to ako hluchy snazte sa to radsej pochopit :))
          Prejdite z modrej obrazovky k linuxu :))
          • Re: Rozdelenie bandwith pre userof 24.03.2007 | 12:25
            Avatar Lubo FC8, Ubuntu, Solaris 10/u8  Používateľ
            Dakujem! Musim si to cele nastudovat zatial som stihol nainstalovat kubuntu, vyhodit nepotrebne veci a updatnut. V pondelok zacnem instalovat fsetko co je na to potrebne a pokial budem mat viac volneho casu tak to mozno zacnem aj konfigurovat...