+ Responder ao Tópico



  1. #1
    Assessoria a provedores Avatar de paulojrandrade
    Ingresso
    Apr 2006
    Localização
    Dourados, Brazil
    Posts
    291
    Posts de Blog
    1

    Padrão Controle de Banda !!! Please

    Bom dia pessoal !!! Naum quero ser chato ok!!! Mas é o seguinte já li um monte, pode ter certeza um monte mesmo de tutoriais e manuais sonre iproute2, ip... etc etc,... chegando ao script denominado CBQ, ou o Bandlimit, mas gente é o seguinte... é fascinante, ambos realmente controlam a banda, perfeitamente.... MASSSS ... o trafego todo da rede tb....
    No CBQ tentei fazer ele limitar a porta 80, naum tive sucesso... até a porta 3128... !!!!!
    Eai ? onde estou comendo barriga ?
    Sinceramente estou perdido !!!!
    Obrigado pela colaboração a todos....

    Forte abraço... :-D

  2. #2

    Padrão Re: Controle de Banda !!! Please

    Citação Postado originalmente por paulojrandrade
    Bom dia pessoal !!! Naum quero ser chato ok!!! Mas é o seguinte já li um monte, pode ter certeza um monte mesmo de tutoriais e manuais sonre iproute2, ip... etc etc,... chegando ao script denominado CBQ, ou o Bandlimit, mas gente é o seguinte... é fascinante, ambos realmente controlam a banda, perfeitamente.... MASSSS ... o trafego todo da rede tb....
    No CBQ tentei fazer ele limitar a porta 80, naum tive sucesso... até a porta 3128... !!!!!
    Eai ? onde estou comendo barriga ?
    Sinceramente estou perdido !!!!
    Obrigado pela colaboração a todos....

    Forte abraço... :-D
    Fica mais fácil de você conseguir ajuda postando alguns dos teus script.

    Posta aí...

  3. #3
    Assessoria a provedores Avatar de paulojrandrade
    Ingresso
    Apr 2006
    Localização
    Dourados, Brazil
    Posts
    291
    Posts de Blog
    1

    Padrão Re: Controle de Banda !!! Please

    amigo... naum sei se vc entendeu... os scripts q tenho é o do Bandlimit e o CBQ... os quais se encontram nesse site... mas tudo bem... estou te enviando o script....

    este é o rc.bandlimit-v.04

    #!/bin/bash

    ##############################################################################
    # UnderLinux BandLimit #
    # ============================================ #
    # #
    # Copyright (c) 2003 by Marcus Maciel(ScOrP|On) [email protected] #
    # https://under-linux.org #
    # #
    # This program is free software. You can redistribute it and/or modify #
    # it under the terms of the GNU General Public License as published by #
    # the Free Software Foundation; either version 2 of the License. #
    ##############################################################################


    # Dependencias
    # Ipchains ou Iptables , iproute2 , modulos do kernel de CBQ QoS e compania... hehehe
    # Iptables: necessita de iptable_mangle e ipt_MARK
    # Ipchains: nenhuma

    ##################
    #INSTALACAO
    # crie o diretorio bandlimit dentro do seu /etc
    # mkdir /etc/bandlimit
    # dentro deste diretorio crie os arquivos ips e interfaces
    # touch /etc/bandlimit/ips
    # touch /etc/bandlimit/interfaces
    # depois edite o ips e o interfaces
    # colocando dentro do ips
    # os ips que vc deseja limitar 1 por linha no seguinte formato
    # ip:ratein:rateout ex: 10.0.1.2:97:33
    # e no interfaces as interfaces que vc usa na sua maquina
    # no formato ethx ex: eth0
    # 1 por linha tambem ))
    #
    # Para rodar coloque o script dentro do seu rc.local
    # Para remover as regras digite rc.bandlimit stop
    #
    ##################



    ####
    # IMPORTANTE!!!! USAMOS OS COMANDO
    # iptables -F -t mangle
    # ipchains -F input
    # ipchains -F output
    # Isso fara com que se voce tem alguma regra no seu mangle no iptables
    # ou alguma regra no input ou output no seu ipchains esta regra sera apagada
    # Para que voce nao perca suas regras de Firewall do iptables/ipchains
    # Caso use alguma coisa no mangle do iptables ou alguma coisa no input/output
    # no ipchains sete seu script de regras abaixo abaixo
    #Lembrando que usamos o mangle apartir do mark 2 e este vai gerando um mark novo
    #ate acabar seus ips ou seja se voce fizer pra 250 ips o ultimo mark sera o 252
    #Caso use o Mark tente comecar apartir do 1000 para evitar Marks Iguais
    #script=/path/seuscript.sh
    script=0

    ##########################################################################################################
    #Inicio da Configuracao

    #Arquivos de Configuracao
    ips=/etc/bandlimit/ips
    #ips2=/etc/bandlimit/ips2
    interfaces=/etc/bandlimit/interfaces
    #########################

    #Firewall's Suportados ipchains e Iptables # Padrao IPTABLES
    #firewall=ipchains
    firewall=iptables
    ###################################


    #############
    # Interfaces
    redelocal=eth0
    #redelocal2=eth0
    redelocal2=inexistente
    internet=eth1
    #############

    #Fim da configuracao
    ##########################################################################################################
    #ifacenum=0

    ###Contando o numero de Interaces####
    #for iface in `cat $interfaces`
    #do
    # ifacenum=`expr $ifacenum + 1`
    #done


    if [ $firewall == "iptables" ]
    then
    modprobe iptable_mangle
    modprobe ipt_MARK
    fi



    #inicio do markador
    mark=2



    if [ "$1" = "stop" ]; then
    ################################
    echo "Removendo Regras"
    for iface in `cat $interfaces`
    do
    tc qdisc del dev $iface root
    done
    if [ $firewall == "iptables" ]
    then
    iptables -F -t mangle
    if [ $script != "0" ]
    then
    $script
    fi
    else
    ipchains -F input
    ipchains -F output
    if [ $script != "0" ]
    then
    $script
    fi
    fi
    ################################

    else # Se nao tem "stop" entao assume start


    #Limpar Regras antes de rodar o script )
    iptables -F -t mangle
    if [ $firewall == "iptables" ]
    then
    iptables -F -t mangle
    if [ $script != "0" ]
    then
    $script
    fi

    else
    ipchains -F input
    ipchains -F output
    if [ $script != "0" ]
    then
    $script
    fi

    fi


    #adicionado interfaces
    for iface in `cat $interfaces`
    do
    tc qdisc del dev $iface root
    tc qdisc add dev $iface root handle 1 cbq bandwidth 10Mbit avpkt 1000 cell 8
    tc class change dev $iface root cbq weight 1Mbit allot 1514
    done

    ####


    for ip in `cat $ips`
    do
    ratein=`echo $ip | cut -d ":" -f 2`
    rateout=`echo $ip | cut -d ":" -f 3`
    ip=`echo $ip | cut -d ":" -f 1`

    #entrada
    tc class add dev $redelocal parent 1: classid 1:$mark cbq bandwidth 10Mbit rate "$ratein"Kbit weight `expr $ratein / 10`Kbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded
    tc qdisc add dev $redelocal parent 1:$mark handle $mark sfq perturb 10
    tc filter add dev $redelocal parent 1:0 protocol ip prio 200 handle $mark fw classid 1:$mark
    if [ $firewall == "iptables" ]
    then
    iptables -t mangle -A POSTROUTING -d $ip -j MARK --set-mark $mark
    else
    ipchains -A output -d $ip --mark $mark
    fi

    #Saida
    tc class add dev $internet parent 1: classid 1:$mark cbq bandwidth 10Mbit rate "$rateout"Kbit weight `expr $rateout / 10`Kbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded
    tc qdisc add dev $internet parent 1:$mark handle $mark sfq perturb 10
    tc filter add dev $internet parent 1:0 protocol ip prio 200 handle $mark fw classid 1:$mark
    if [ $firewall == "iptables" ]
    then
    iptables -t mangle -A FORWARD -s $ip -j MARK --set-mark $mark
    else
    ipchains -A input -s $ip --mark $mark
    fi
    #################################################################
    mark=`expr $mark + 1`
    done

    if [ $redelocal2 != "inexistente" ]
    then
    for ip in `cat $ips2`
    do
    ratein=`echo $ip | cut -d ":" -f 2`
    rateout=`echo $ip | cut -d ":" -f 3`
    ip=`echo $ip | cut -d ":" -f 1`

    #entrada
    tc class add dev $redelocal2 parent 1: classid 1:$mark cbq bandwidth 10Mbit rate "$ratein"Kbit weight `expr $rateout / 10`Kbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded
    tc qdisc add dev $redelocal2 parent 1:$mark handle $mark sfq perturb 10
    tc filter add dev $redelocal2 parent 1:0 protocol ip prio 200 handle $mark fw classid 1:$mark
    if [ $firewall == "iptables" ]
    then
    iptables -t mangle -A POSTROUTING -d $ip -j MARK --set-mark $mark
    else
    ipchains -A output -d $ip --mark $mark
    fi

    #Saida
    tc class add dev $internet parent 1: classid 1:$mark cbq bandwidth 10Mbit rate "$rateout"Kbit weight `expr $rateout / 10`Kbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded
    tc qdisc add dev $internet parent 1:$mark handle $mark sfq perturb 10
    tc filter add dev $internet parent 1:0 protocol ip prio 200 handle $mark fw classid 1:$mark
    if [ $firewall == "iptables" ]
    then
    iptables -t mangle -A FORWARD -s $ip -j MARK --set-mark $mark
    else
    ipchains -A input -s $ip --mark $mark
    fi
    #################################################################
    mark=`expr $mark + 1`
    done
    fi
    fi # fim do script

  4. #4
    ramices
    Visitante

    Padrão Re: Controle de Banda !!! Please

    Para Controle de Banda eu Utilizo o IPFW+Dummynet (FREEBSD) é muito preciso e flexível.

    Também permite que você crie pipes por porta por máquina por rede por interface, muito bom.

    Espero ter ajudado!

  5. #5
    Assessoria a provedores Avatar de paulojrandrade
    Ingresso
    Apr 2006
    Localização
    Dourados, Brazil
    Posts
    291
    Posts de Blog
    1

    Padrão Re: Controle de Banda !!! Please

    obrigado pela dica amigo... mas uso o Slackware 10.2... só queria entender pq qndo limito a navegação, limita tb a rede... ousejas de maquina para maquina fica controlado... nausm sei se vcs estão entendendo.. ;o)