+ Responder ao Tópico



  1. #1

    Padrão HTB Debian

    Olá pessoal. Uma questão?
    Tenho um link de 7MB Down e 3MB de UP rodando em um servidor Debian com iptables, squid e htb.
    Preciso controlar a banda de clientes conectados via rádio.
    internet - eth0 - proxy - eth1 - clientes.

    Só que neste link tenho alguns produtos distintos, do tipo:
    Produto1 - 1MB down/CIR 256 - 256 up
    Produto2 - 3MB down/CIR 256 - 256 up
    Produto3 - 512 down/CIR 64 - 64 up

    Qual seria a melhor configuração do htb-tools para esses produtos?
    Sendo que em cada produto tenho que colocar mais de um cliente compartilhando a velocidade do produto.

    Conto com a ajuda de voces.
    Obrigado

  2. #2

    Padrão

    Fazendo os scripts na mão, você consegue isso ai mole, mole, usando o "ceil" para o limite. Dá um pesquisada sobre HTB, que achará muito material. Uso aqui desde que montei o provedor, atualmente estou usando o controle por MAC, tudo feito por TC e HTB. O conteúdo no Google é vasto mesmo. Com o HTBTools, acho que não consegue do jeito que você quer.

  3. #3

    Padrão

    Oi José, obrigado pela dica.
    Confesso que tentei via TC mais nao tive bom resultado.
    No htb-tools fiz com várias classes. Tipo, cada produto eh uma classe. Tem momentos que ponho a velociade de um produto em 512 kbps e quando vejo com o q_view a velociadade da classe está com mais de 1Mb. Por isso que procuro ajuda.

    Voce pode passar o modelo que usou?
    Meu email eh: [email protected]
    ou poste aqui no forum, assim a comunidade eh beneficiada tambem.

    Obrigado.

  4. #4

    Padrão op

    E porque não daria! se a base do HTB Tools como o proprio nome fala e um utilitario para facilitar regras em TC com htb?
    Aqui tenho varios planos com meus clientes e utilizo varias velocidades diferenciadas sem contar na vantagem de verificar stats em tempo real entre outras coisas, aki o q não tinha no htb tools eu modifiquei aprimorando para meu uso.
    vou postar um exemplo de minha conf.
    Código :
    class REDE_INTERNA {
          bandwidth 8192;
          limit 9830;
          burst 0;
          priority 1;
     
    client TIG-PM {
          bandwidth 10;
          limit 110;
          burst 0;
          priority 6;
          upload 110;
                dst {
                   192.168.1.2/30;
                            };
                   };
     
    client TIG015 {
          bandwidth 25;
          limit 265;
          burst 0;
          priority 4;
          upload 265;
                dst {
                   192.168.15.2/30;
                            };
                   };
    };
    class default { bandwidth 8; };
    Agora se quer criar uma classe tipo dizer que vai ter disponivel 2MB pra plano tal e 1MB pra plano tal e facil tambem e so:
    Código :
    class REDE_INTERNA {
          bandwidth 8192;
          limit 9830;
          burst 0;
          priority 1;
     
    client TIG-PM {
          bandwidth 10;
          limit 110;
          burst 0;
          priority 6;
          upload 110;
                dst {
                   192.168.1.2/30;
                            };
                   };
     
    client TIG015 {
          bandwidth 25;
          limit 265;
          burst 0;
          priority 4;
          upload 265;
                dst {
                   192.168.15.2/30;
                            };
                   };
     
    class REDE_INTERNET_PLANO_@ {
          bandwidth 1024;
          limit 1024;
          burst 0;
          priority 1;
     
    client BLABLABLA {
          bandwidth 30;
          limit 300;
          burst 0;
          mark 1;
          priority 6;
          upload 300;
                dst {
                   192.168.15.2/30;
     
                };
    };
    };
    class default { bandwidth 8; };
    Espero ter ajudado

  5. #5

    Padrão Htb Debian

    Obrigado, é mais ou menos assim que faço hoje. Josué fez de outra forma e tambem funciona bem. Não sei se ele poderia colocar uma parte de sua solução aqui. Seria muito bom.
    Agradeço a todos. Se alguem tem outras sugestões, envie. Isso vai crescer nosso forum.

    Grande abraço,
    Joao

  6. #6

    Padrão

    Se for modificar o htbtools ai faz qualquer coisa né, vai ser o mesmo que fazer o script na mão. Não sei o tools originalmente faz o ceils, se fizer ta resolvido para você amigo. Sinceramente não tive experiência com o HTBTools, usei os comandos diretos mesmo.

  7. #7

    Padrão

    #Remove regras de HTB
    tc qdisc del dev eth0 root
    tc qdisc del dev eth0 ingress

    #Classes por Ip's
    tc qdisc add dev eth0 root handle 1: htb default 460 #Classe Default, tudo que não for filtrado cairá aqui.

    tc class add dev eth0 parent 1:1 classid 1:1 htb rate 4000kbit #Velocidade do seu Link
    tc qdisc add dev eth0 handle ffff: ingress #UpLoad

    tc class add dev eth0 parent 1:0 classid 1:30 htb rate 128kbit ceil 128kbit
    tc class add dev eth0 parent 1:0 classid 1:31 htb rate 128kbit ceil 128kbit
    tc class add dev eth0 parent 1:0 classid 1:32 htb rate 128kbit ceil 128kbit
    tc class add dev eth0 parent 1:0 classid 1:33 htb rate 128kbit ceil 128kbit#Classe dos clientes, rate é a velocidade garantida, e ceil é o limite caso o link esteja folgado.

    tc filter add dev eth0 protocol ip parent 1:0 prio 5 u32 match ip dst 10.0.0.58 flowid 1:30 #Filtro por Ip, um para cada classe.

    tc filter add dev eth0 protocol ip parent ffff:0 prio 1 u32 match ip src 10.0.0.30 police rate 128kbit burst 128kbit drop flowid ffff:1 #Controle de UpLoad, esse foi dificil de achar! Deixo aqui para todos! Um por Ip.


    Crie um arquivo de texto com as regras, uma por cliente. Boa sorte.