+ Responder ao Tópico



  1. #1

    Padrão HTB Download - Uma regra anula a outra??

    Olá! Se alguem puder me dar uma luz....

    tenho a seguinte regra de iptables:

    iptables -A PREROUTING -t mangle -s ! 10.0.0.0/16 -m layer7 --l7proto XXX -j MARK --set-mark 12

    (no lugar do XXX coloquei varios protocolos P2P)

    Com isso marquei tudo que é pacote P2P que vai para a minha rede interna.
    Ai criei o HTB assim:

    #Criando o ROOT
    tc qdisc add dev eth1 root handle 1: htb default 15
    tc class add dev eth1 parent 1: classid 1:1 htb rate 1024kbit ceil 1024kbit

    #P2P
    tc class add dev eth1 parent 1:1 classid 1:10 htb rate 20kbit ceil 20kbit prio 5

    #Ligando as marcas as regras
    tc filter add dev eth1 parent 1:0 protocol ip prio 5 handle 12 fw classid 1:10

    Até ai tudo beleza! Abro um kazaa e os downloads dele nao passam de 20k.

    Ai eu insiro as regras

    #250
    tc class add dev eth1 parent 1:1 classid 1:250 htb rate 300kbit ceil 300kbit prio 5
    tc class add dev eth1 parent 1:250 classid 1:2501 htb rate 300kbit ceil 300kbit prio 5
    tc filter add dev eth1 parent 1:0 protocol ip prio 5 u32 match ip dst 10.0.0.250/32 classid 1:2501

    Com elas eu queria controlar o download da maquina 10.0.0.250 a 30k.

    É realmente isso que acontece, porém, ele usa o limite de 30k para o P2P tambem, ou seja, qdo coloco essa regra ele ignora a anterior de 20k.

    Tem como eu fazer as duas regras funcionarem ao mesmo tempo? Ou seja, quero que a minha rede toda nao passe de 20k de P2P e, ao mesmo tempo, que cada maquina dela tenha 30k de download máximo.

    Obrigado
    Fabrício

  2. #2

    Padrão HTB Download - Uma regra anula a outra??

    Cara, já tentou fazer o seguinte: Marca o que for P2P com Marca 12 (como vc já faz), e também marca o resto das conexões com uma outra marca, daí você limita o resto em 30 K...

  3. #3

    Padrão HTB Download - Uma regra anula a outra??

    Cara, nao eh que vc deu uma idéia brilhante!!!

    Vou testar e coloco aqui o resultado!!

    abraco
    Fabricio

  4. #4

    Padrão HTB Download - Uma regra anula a outra??

    blz véi..pow, vê se dá certo e posta mesmo o resultado...pra fiar de consulta pra todo mundo e tirar dúvidas...pois eu tbm bato cabeça às vezed pra botar HTB pra rolar redondinho....

  5. #5
    Visitante

    Padrão HTB Download - Uma regra anula a outra??

    seguinte: criei a regra para marcar o resto. Entao o p2p marca com 12 e o resto com 30

    o problema eh: como vou criar um "tc filter" para o ip (como já esta ai no exemplo acima) e ao mesmo tempo para a marca 30??

    Abraco
    Fabricio

  6. #6

    Padrão HTB Download - Uma regra anula a outra??

    Seguinte pessoal, não sei se estou certo, mas da experiencia que tenho, a regra do "tc filter" que primeiro servir, para por ali. Ou seja, se voce colocar para todo o trafego P2P passar pela regra X primeiro, e depois colocar sua regra para limitar o IP do cara, depois, vai funcionar sem problema.

    Soh que tem um detalhe no seu filtro... Ateh onde testei, nao funciona ter regras do tc filter de FW MARK e U32 juntas na mesma interface! Pelos testes que fiz, somente um funciona e quando poe a outra, da problema. Experimenta entao, colocar uma regra de MARK tb de tudo que for para o IP que vc deseja controlar. Mas lembre de colocar depois da regra de P2P.

    Atenciosamente,

    Guilherme

  7. #7

    Padrão HTB Download - Uma regra anula a outra??

    o problema eh: como vou criar um "tc filter" para o ip (como já esta ai no exemplo acima) e ao mesmo tempo para a marca 30??
    Pois é justamente ai que está o segredo do MARK, quando você faz uma regra do iptables, marcando a conexão de um IP, apenas aquela conexão estará marcada (ou seja, apenas daquele IP).

    Então, você só precisará criar um filter que faça o "handle" daquela marca...