+ Responder ao Tópico



  1. #1

    Padrão QoS com Htb link 512k

    tenho um link de 1mb dedicado embratel...compramos um router cisco e nele temos um QoS para um servidor Voip limitando 512k para ele na hora de um gargalo.


    pois bem internamente tenho um servidor linux com iptables+squid então queria saber qual a melhor de gerenciar esses 512k deixando um limite para usuários que queiram fazer um download deixando de fora 4 máquinas da diretoria(queria fazer isso por mac e não por ip pois minha rede é dhcp).

    estou pesando em limitar o download em10 KB/s no máximo para não ocupar o link todo.

    outra coisa como posso gerenciar com HTB para que toda vez o link entre no gargalo(2 engraçadinhos tentando fazer download vai consumir 20KB/s)então queria limitar sempre a 10Kb/s para deixar 40KB/s livrea para navegar e se houver um gargalo deixar 250Kbs livre para o terminal service: pora 3389 e 100kpbs para www e se por exemplo 10 pessoas estiverem tentando fazer um downalod os 150kpbs(15KB/s).

    E conforme o link fosse liberando banda iria sendo distribuido para www,ftp,porta 3389 e etc...deu para entender?

    Como posso fazer isso com Htb+QoS da melhor forma possível pois depois vou implementando limite para portas FTP.


    se alguém achar outra forma de fazer isso para ficar melhor de gerenciar e mais organizado pois como nunca fiz posso está falando algo que não ficaria bom...por favor poste aqui.
    Última edição por lfernandosg; 13-08-2008 às 16:50.

  2. #2

    Padrão

    O HTB faz exatamente o que você quer. Dá uma olhada aqui:

    Artigos br-linux.org: Controle de Banda com HTB

    Eu uso no provedor e não troco por nada, tem muita coisa na internet, só dar uma olhada no Google.

  3. #3

    Padrão

    bom pelo o que estou fazendo mais ou menos assim:

    lembrando que as máquinas que estão fora do proxy precisam dos 512k total e estão usando a porta 80 pois estão fora do proxy(porta 3128):



    #!/bin/bash
    tc qdisc del dev eth0 root
    tc qdisc add dev eth0 root handle 1: htb default 50

    tc class add dev eth0 parent 1: classid 1:1 htb rate 512kpbs

    tc class add dev eth0 parent 1:1 classid 1:10 htb rate 250kpbs ceil 512kpbs
    tc class add dev eth0 parent 1:1 classid 1:20 htb rate 128kpbs ceil 512kpbs
    tc class add dev eth0 parent 1:1 classid 1:30 htb rate 64kpbs ceil 512kpbs

    tc qdisc add dev eth0 parent 1:10 handle 10: sfq perturb 10
    tc qdisc add dev eth0 parent 1:20 handle 20: sfq perturb 10
    tc qdisc add dev eth0 parent 1:30 handle 30: sfq perturb 10



    essa parte aqui não entendi bem, no meu server o ip interno é 10.0.1.254/24 e o externo um ip valido da embratel: 200.x.x.199/28:

    U32="tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 "
    U32=$U32"match ip src 192.168.0.0/24 match ip dst 192.168.1.0/24"


    $U32 match ip sport 3389 0xffff flowid 1:10 terminal service
    $U32 match ip sport 80 0xffff flowid 1:10 máquina liberadas ro proxy usando porta 80
    $U32 match ip sport 3128 0xffff flowid 1:20 www porta squid


    queria usar outra regra para limitar o download a 15kB/s copmo faço para limitar isso?a fora que fiz acima faz com que:

    1)meu acesso ao terminal service externo vai ter no mímino 250kpbs podendo chegar aos 512kpbs se o link estiver livre correto?
    2)As máquinas liberadas do proxy que tb poderão ter sempre os 512kpbs disponíveis...coloquei no mínimo 128kpbs chegando aos 512 correto?
    3)as máquinas que estão no proxy no mínimo terão 64kpbs podendo chegar so 512kpbs correto?

    queria um favor seu para não sufocar meu link de 512...abaixo segue as prioridades que preciso:

    1)terminal service porta 3389
    2)limitar downloads
    3)liberar máquinas diretoria para não pegar controle de banda
    5)navegação internet+e-mails(e-mail é muito usado)
    6)Ftp porta 21 uso pouco só para usuários internos.


    o que posso fazer com os 512k para suprir(distribuir sem dar problemas em nenhuma das opções) as necessidades acima??
    Última edição por lfernandosg; 14-08-2008 às 15:59.

  4. #4

    Padrão

    #!/bin/bash

    tc qdisc del dev eth1 root

    tc qdisc add dev eth1 root handle 1:0 htb default 40
    tc class add dev eth1 parent 1:0 classid 1:1 htb rate 100mbit

    tc class add dev eth1 parent 1:1 classid 1:10 htb rate 100kbit ceil 300kbit prio 0 # DNS / ACK / SYN / FIN
    tc class add dev eth1 parent 1:1 classid 1:20 htb rate 250kbit ceil 512kbit prio 1 # Terminal service
    tc class add dev eth1 parent 1:1 classid 1:30 htb rate 250kbit ceil 512kbit prio 2 # HTTP / HTTPS
    tc class add dev eth1 parent 1:1 classid 1:40 htb rate 300kbit ceil 500kbit prio 3 # Geral



    tc qdisc add dev eth1 parent 1:10 handle 10: sfq perturb 10
    tc qdisc add dev eth1 parent 1:20 handle 20: sfq perturb 10
    tc qdisc add dev eth1 parent 1:30 handle 30: sfq perturb 10
    tc qdisc add dev eth1 parent 1:40 handle 10: sfq perturb 10



    U32="tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 "
    U32=$U32"match ip src "" (aqui coloco o ip da placa externa linux?) match ip dst 10.0.1.254/24"(ip da placa linux rede interna)



    $U32 match ip sport 53 0xffff flowid 1:10 #Dns
    $U32 match ip sport 3389 0xffff flowid 1:20 #TS
    $U32 match ip sport 80 0xffff flowid 1:20 #porta 80 navegação
    $U32 match ip sport 3128 0xffff flowid 1:30 #geral porta 3128 porta do proxy.



    estou tentando montar um controle de banda efetivo para meus 512k de link embratel.


    mas estou com algumas dúvidas quanto ao HTB+TC:

    1)no UI32 no ip source vai ser o ip da placa de rede exterta(ip válido embratel) e o destino a placa de rede interna do servidor(gateway interno?)
    2)no servidor com estou fazendo HTB os pacotes são direcionados para a porta 3128 para usar o proxy mas alguns sites ainda utilizam a porta 80
    como devo proceder para deixar uma banda para os dois? fiz certo acima?
    3)lá onde coloco 100mbit da placa de rede, coloco a velocidade da placa ou do link?
    4)vou precisar criar todas as regras acima para o upload funcionar só alterando a placa de rede de eth1(interna servidor linux) para eth0(externa internet link)
    o que posso fazer para deixar meu controle de banda certinho lembrando que preciso de prioridade no temrinal service e preciso limitar o
    download para sufocar o link?
    5)se precisar criar a mesma regra para a placa de rede externa, posso colocar abaixo no mesmo script da placa interna?