+ Responder ao Tópico



  1. #1

    Padrão Controle de banda Garantida

    Olá pessoal,, tenho um servidor rodando o Debian Sarge 3.1 e o bandlimit do underlinux para fazer o controle de banda, so que agora estou precisando vender uma banda garantida para meus clientes.

    Por exemplo o cliente que assina 256 de velocidade e vai ter uma garantia de banda de 128k ... Ja tentei um regra do HTB postada aqui mas dá erro no final, ele não acha o comando match que fica na ultimas linhas do código.

    O que eu preciso, é de fazer esse controle de banda, dando a garantia mesmo com o acesso cheio no servidor, e que rode no Debian...

    Valew pessoal...

  2. #2

    Padrão hehehehe

    cara CBQ e osso!!!
    mas pra sua solucao e simples
    cria uma regra default em seu controle de banda com os kbps dedicados e mete esse cliente nela.

    Caso o match esteja dando errado, verifica o script ou melhor posta ele ai.



  3. #3

    Padrão

    e como fica a regra no cbq para fazer isso???? Muito Obrigado....

  4. #4

    Padrão

    segue ai o script que eu usei

    #!/bin/bash
    # Abaixo estou definindo a interface para o HTB utilizando o
    # comando 'tc', ou seja, estou dizendo que agora ela trabalhará
    # com o HTB e não mais com o PFIFO.

    tc qdisc add dev eth0 root handle 1: htb default 12

    # Criando as classes com seus respectivos limites de banda...
    #
    # Essa é a classe mãe da interface, ou seja, é a classe com o
    # total de banda, o total do seu link ou da sua placa de rede, da
    # interface...
    # aqui estou dizendo que o nosso link é de 100kbps

    tc class add dev eth0 parent 1: classid 1:1 htb rate 100kbps ceil 100kbps

    # Essas são as demais classes filhas...
    # esta primeira é a 1:10 que tem banda garantida de 30kbps ou
    # seja, nunca menos que isso.... E pode chegar a 100kbps se as
    # outras classes não tiverem usando o restante da banda do
    # link que colocamos acima com 100kbps..
    # Por isso 30kbps (garantia) ceil 100kbps (maximo)...
    # Oque seria a banda garantida ?
    # Seria a banda que esta classe teria no momento em que o link
    # estivesse com trafego alto, ou seja, mesmo que outra classe
    # estivesse precisando de banda a classe em questão teria essa
    # "banda garantida" (claro se estivesse usando), se estiver
    # ociosa a banda da classe em questão, as outras usariam.

    tc class add dev eth0 parent 1:1 classid 1:10 htb rate 30kbps ceil 100kbps

    # Esta é a 1:11 que tem 10kbps de banda garantida e 100kbps
    # caso a classe mãe tenha banda ociosa...

    tc class add dev eth0 parent 1:1 classid 1:11 htb rate 10kbps ceil 100kbps

    # essa é a mesma coisa, 60kbps de banda garantida...

    tc class add dev eth0 parent 1:1 classid 1:12 htb rate 60kbps ceil 100kbps

    #
    # Aqui você coloca quem você quer na classe que você quizer..
    #

    # Aqui você está colocando o IP source 1.2.3.4 com destino a
    # porta 80 na classe 1:10 que é a de "30kbps ceil 100kbps"

    tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32
    match ip src 13.2.0.5 match ip dport 80 0xffff flowid 1:10

    tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32
    match ip src 13.2.0.4 flowid 1:11

    ----------------------------------------------------------------
    resultado foi o seguinte:

    RTNETLINK answers: File exists
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: File exists
    RTNETLINK answers: File exists
    RTNETLINK answers: File exists
    ./ban: line 49: match: command not found
    ./ban: line 52: match: command not found


    Como que eu resolvo isso???? valew pessoal



  5. #5

    Cool

    Código :
    tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32
    match ip src 13.2.0.5 match ip dport 80 0xffff flowid 1:10
     
    tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32
    match ip src 13.2.0.4 flowid 1:11

    mude para

    Código :
    tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src 13.2.0.5 match ip dport 80 0xffff flowid 1:10
     
    tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src 13.2.0.4 flowid 1:11

    ou seja.. uma linha inteira para cada "tc"

  6. #6

    Padrão

    Bom agora estou com outro problema.. conseguir acabar com os erros,,, so que o HTB não está controlando a banda de jeito nenhum... eu tenho o cbq instalado, quando eu vou executar o script e paro a daemon do cbq... Bom abaixo esta o script que eu usei para configurar o meu HTB,,, se alguem poder me informar onde está o erro dele... serei muito grato.... Valew pessoal!!!!




    #!/bin/bash
    # Abaixo estou definindo a interface para o HTB utilizando o
    # comando 'tc', ou seja, estou dizendo que agora ela trabalhará
    # com o HTB e não mais com o PFIFO.

    tc qdisc add dev eth0 root handle 1: htb default 12

    # Criando as classes com seus respectivos limites de banda...
    #
    # Essa é a classe mãe da interface, ou seja, é a classe com o
    # total de banda, o total do seu link ou da sua placa de rede, da
    # interface...
    # aqui estou dizendo que o nosso link é de 100kbps

    tc class add dev eth0 parent 1: classid 1:1 htb rate 10024kbps ceil 10024kbps

    # Essas são as demais classes filhas...
    # esta primeira é a 1:10 que tem banda garantida de 30kbps ou
    # seja, nunca menos que isso.... E pode chegar a 100kbps se as
    # outras classes não tiverem usando o restante da banda do
    # link que colocamos acima com 100kbps..
    # Por isso 30kbps (garantia) ceil 100kbps (maximo)...
    # Oque seria a banda garantida ?
    # Seria a banda que esta classe teria no momento em que o link
    # estivesse com trafego alto, ou seja, mesmo que outra classe
    # estivesse precisando de banda a classe em questão teria essa
    # "banda garantida" (claro se estivesse usando), se estiver
    # ociosa a banda da classe em questão, as outras usariam.

    tc class add dev eth1 parent 1:1 classid 1:10 htb rate 400kbps ceil 400kbps

    # Esta é a 1:11 que tem 10kbps de banda garantida e 100kbps
    # caso a classe mãe tenha banda ociosa...

    tc class add dev eth1 parent 1:1 classid 1:11 htb rate 10kbps ceil 100kbps

    # essa é a mesma coisa, 60kbps de banda garantida...


    tc class add dev eth1 parent 1:1 classid 1:12 htb rate 60kbps ceil 100kbps

    #
    # Aqui você coloca quem você quer na classe que você quizer..
    #

    # Aqui você está colocando o IP source 1.2.3.4 com destino a
    # porta 80 na classe 1:10 que é a de "30kbps ceil 100kbps"

    tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src 13.2.0.29 match ip dport 80 0xffff flowid 1:10



  7. #7

    Padrão

    ninguem sabe como por isso para funfar não???