Visite: BR-Linux ·  VivaOLinux ·  Dicas-L


Página 2 de 2 PrimeiroPrimeiro 12
+ Responder ao Tópico

  1. Citação Postado originalmente por SysRq
    Sobre diminuir a prioridade das conexões referentes a downloads pesados é simples: basta criar uma classe de baixa prioridade com o HTB ou CBQ e usar o patch CONNBYTES do iptables para redirecionar as conexões p/ esta classe após um certo limite trafegado.
    SysRq,

    Explica isso melhor que esse patch eu ainda não conheço. Parece bem interessante essa situação.

    Como eu faço para direcionar uma regra de iptables para uma classe HTB/CBQ?

    Att,

    Nataniel Klug


  2.    Publicidade


  3. #7
    SysRq
    Citação Postado originalmente por nataniel
    Citação Postado originalmente por SysRq
    Sobre diminuir a prioridade das conexões referentes a downloads pesados é simples: basta criar uma classe de baixa prioridade com o HTB ou CBQ e usar o patch CONNBYTES do iptables para redirecionar as conexões p/ esta classe após um certo limite trafegado.
    SysRq,

    Explica isso melhor que esse patch eu ainda não conheço. Parece bem interessante essa situação.

    Como eu faço para direcionar uma regra de iptables para uma classe HTB/CBQ?

    Att,

    Nataniel Klug
    Nataniel,

    O patch connbytes está no pacote patch-o-matic para o iptables: ftp://ftp.netfilter.org/pub/patch-o-matic-ng. O patch-o-matic é um pouco demorado de instalar pois tem dezenas de patchs diferentes. Comece aplicando apenas o que vc tem certeza absoluta que precisa pois algumas combinações de patches são incompativeis.

    Após aplicar estes patches vc vai ter de recompilar seu kernel e o iptables

    Fazendo uma pesquisa no google com as palavras connbytes shaping achei um exemplo rápido e simples logo no primeiro link:
    http://mailman.ds9a.nl/pipermail/lar...q4/010580.html

    Eu tentaria assim:
    iptables -t mangle -A PREROUTING -p tcp -j CONNMARK --restore-mark
    iptables -t mangle -A PREROUTING -p tcp -m mark ! --mark 0 -j ACCEPT
    iptables -t mangle -A PREROUTING -m connbytes --connbytes 1000000: -j MARK --set-mark 1

    iptables -t mangle -A POSTROUTING -o eth0 -m mark --mark 1 -j CLASSIFY --set-class 1:11

    tc qdisc add dev eth0 root handle 1:0 htb default 10
    tc class add dev eth0 parent 1:0 classid 1:1 htb rate 1000Kbit ceil 1000Kbit
    tc class add dev eth0 parent 1:1 classid 1:10 htb rate 750Kbit ceil 1000Kbit prio 1
    tc class add dev eth0 parent 1:1 classid 1:11 htb rate 250Kbit ceil 250Kbit prio 3

    Tou assumindo aqui que eth0 é minha interface de saida p/ o clientes e que estou dividindo um link de 1Mbps em uma classe de 750 kbps (elástica até 1Mbps) para tráfego "leve"e uma classe fixa de 250 kbps para onde é redirecionada qualquer conexão após passar de 1 megabyte de transferencia.

    Os patches CONNBYTES e CONNMARK do patch-o-matic são incompatíveis entre si, então para usar este exemplo vc teria de usar este patch modificado: http://www.spinics.net/lists/lartc/msg13278.html

    Alem disto tambem precisa do target CLASSIFY que esta no... patch-o-matic!

    Nada disto foi testado, e eu nunca usei nem o connbytes nem este patch modificado, assim fica por sua conta fazer o teste, se achar interessante.

  4. Citação Postado originalmente por SysRq
    Nada disto foi testado, e eu nunca usei nem o connbytes nem este patch modificado, assim fica por sua conta fazer o teste, se achar interessante.
    Sys,

    Obrigado.

    Ja imprimi tudo e estou começando a montagem do meu servidor que fará os testes com isso... hehehehe... eu e minhas máquinas de teste. Tomara que dê certo!

    Obrigado mesmo.

    Att,

    Nataniel Klug


  5.    Publicidade