+ Responder ao Tópico



  1. #1

    Padrão Alguma coisa errada com regras ipp2p??

    OI pessoal do forum under-linux..

    Fiz algumas regras para limitar banda do p2p, mas não está funcionando.
    Analisem por favor as regras abaixo, e poste o que devo alterar para a limitação da banda do p2p funcionar.

    class clientes {
    bandwidth 1024;
    limit 1024;
    burst 2;
    priority 1;

    client P2P {
    bandwidth 8;
    limit 64;
    burst 0;
    priority 5;
    mark 11;
    upload 32;
    dst {
    192.168.254.0/24;
    };
    };

    client cliente_2 {
    bandwidth 128;
    limit 300;
    upload 128;
    burst 2;
    priority 1;
    dst {
    IP/32;
    };
    };

    };
    class default { bandwidth 8;};
    _________________________________


    -t mangle -A PREROUTING -p tcp -j CONNMARK --restore-mark
    -t mangle -A PREROUTING -p tcp -m mark ! --mark 0 -j ACCEPT
    -t mangle -A PREROUTING -p tcp -m ipp2p --ipp2p -j MARK --set-mark 11
    -t mangle -A PREROUTING -p tcp -m mark ! --mark 0 -j CONNMARK --save-mark
    -t mangle -A FORWARD -m ipp2p --ipp2p -j MARK --set-mark 11

  2. #2

    Padrão

    usa tc + htb que eh mais facil

    Código :
     iptables -F
     iptables -A PREROUTING -t mangle -p tcp -j CONNMARK --restore-mark
     iptables -A PREROUTING -t mangle -p tcp -m mark ! --mark 0 -j ACCEPT
     iptables -A PREROUTING -t mangle -m ipp2p --edk --kazaa --gnu --bit --apple --dc --soul --winmx --ares -j MARK --set-mark 1
     iptables -A PREROUTING -t mangle -p tcp -m mark --mark 1 -j CONNMARK --save-mark
     
        tc qdisc del dev eth0 root
        tc qdisc add dev eth0 root handle 1: htb default 2
        tc class add dev eth0 parent 1: classid 1:1 htb rate 256Kbit ceil 256Kbit
    	    tc class add dev eth0 parent 1:1 classid 1:2 htb rate 200Kbit ceil 256Kbit
    	    tc class add dev eth0 parent 1:1 classid 1:3 htb rate 56Kbit ceil 256Kbit
        tc filter add dev eth0 parent 1:0 protocol ip prio 4 handle 1 fw classid 1:3

  3. #3

    Padrão

    Citação Postado originalmente por arium Ver Post
    usa tc + htb que eh mais facil

    Código :
     iptables -F
     iptables -A PREROUTING -t mangle -p tcp -j CONNMARK --restore-mark
     iptables -A PREROUTING -t mangle -p tcp -m mark ! --mark 0 -j ACCEPT
     iptables -A PREROUTING -t mangle -m ipp2p --edk --kazaa --gnu --bit --apple --dc --soul --winmx --ares -j MARK --set-mark 1
     iptables -A PREROUTING -t mangle -p tcp -m mark --mark 1 -j CONNMARK --save-mark
     
        tc qdisc del dev eth0 root
        tc qdisc add dev eth0 root handle 1: htb default 2
        tc class add dev eth0 parent 1: classid 1:1 htb rate 256Kbit ceil 256Kbit
            tc class add dev eth0 parent 1:1 classid 1:2 htb rate 200Kbit ceil 256Kbit
            tc class add dev eth0 parent 1:1 classid 1:3 htb rate 56Kbit ceil 256Kbit
        tc filter add dev eth0 parent 1:0 protocol ip prio 4 handle 1 fw classid 1:3
    Eth0 é a sua LAN?

  4. #4

    Padrão

    eth0 ae nos script eh a interface que manda pros clientes pode mudar pra eth1 onte tem eth0 no script se for o caso!

    rate é o quanto vc quer que os p2p utilizem no caso 256.. o ceil é o maximo que eles podem pegar se estiver sobrando link...então se..

    vc dexando rate 256 e ceil 512 quando sobrar link os p2p vao ter 512kps ou 400kps depende de quanto sobra...

    se vc deixar sem o parametro ceil.. o ceil vai ser o mesmo valor do rate... mais eu aconselho a deixar rate 256 ceil 272 .. nao sei pq mais tem alguns script meus que em algunsservers nao funcionaram com ceil identico ao rate

    o primeiro ceil eh o do link total.

    nessa vc altera o link disponivel pro teu p2p

    tc class add dev eth0 parent 1:1 classid 1:3 htb rate 56Kbit ceil 256Kbit



    Abraços
    Última edição por arium; 09-02-2008 às 11:02.

  5. #5

    Padrão Credo

    Credo veio esquenta não.
    Detalhe o HTB Tools gera um script com regras em tc "htb" então não seria correto mandar fazer em tc com htb pos o mesmo ja faz isso.
    ai segue regras do iptables:
    Código :
    $IPT -t nat -A PREROUTING -t mangle -p tcp -j CONNMARK --restore-mark
    $IPT -t nat -A PREROUTING -t mangle -p tcp -m mark ! --mark 0 -j ACCEPT
    $IPT -t nat -A PREROUTING -t mangle -p tcp -m ipp2p  --edk --dc --kazaa --gnu --bit --apple --winmx --soul --ares --mute --waste --xdcc -j MARK --set-mark 11
    $IPT -t nat -A PREROUTING -t mangle -p tcp -m mark --mark 11 -j CONNMARK --save-mark

    Aqui segue regras no HTBtools, detalhe vc ta marcando pacotes e vai dizer ao controle de banda que todos os pacotes marcados com 11 saira nakela velocidade setada vc errou em setar o ip o correto seria:
    Código :
    client p2p {
          bandwidth 10;
          limit 30;
          burst 0;
          mark 1;
          priority 7;
          upload 10;
    };
    Onde setei uma velocidade minima de 10kbps e uma maxima de 30kbps com Upload de 10kbps numa prioridade 7 "baixa".
    não precisa setar o ip pq ele vai procurar o que esta marcado e soltar nessa class...
    ou se preferir fazer na unha ai vai...:
    Código :
    tc class add dev eth1 parent 1:0x20 classid 1:0x21 htb rate 1kbps ceil 3kbps burst 8k prio 7 quantum 1536
    tc {filter add dev eth1 protocol ip parent 1:0 prio 4 u32} match mark 1 0xffff flowid 1:0x21
    tc qdisc add dev eth1 parent 1:0x21 handle 0x21: pfifo limit 5
    sendo que eth1 ea Ethernet "placa de rede" onde o cliente conectar para ter acesso ao servidor onde a eth0 e onde o link de internet esta ligado ok!!!! eth1 = distribuição
    sendo assim espero ter ajudado, qualquer coisa estamos aki pra isso.

  6. #6

    Padrão

    Citação Postado originalmente por tianguapontocom Ver Post
    Credo veio esquenta não.
    Detalhe o HTB Tools gera um script com regras em tc "htb" então não seria correto mandar fazer em tc com htb pos o mesmo ja faz isso.
    ai segue regras do iptables:
    Código :
    $IPT -t nat -A PREROUTING -t mangle -p tcp -j CONNMARK --restore-mark
    $IPT -t nat -A PREROUTING -t mangle -p tcp -m mark ! --mark 0 -j ACCEPT
    $IPT -t nat -A PREROUTING -t mangle -p tcp -m ipp2p  --edk --dc --kazaa --gnu --bit --apple --winmx --soul --ares --mute --waste --xdcc -j MARK --set-mark 11
    $IPT -t nat -A PREROUTING -t mangle -p tcp -m mark --mark 11 -j CONNMARK --save-mark

    Aqui segue regras no HTBtools, detalhe vc ta marcando pacotes e vai dizer ao controle de banda que todos os pacotes marcados com 11 saira nakela velocidade setada vc errou em setar o ip o correto seria:
    Código :
    client p2p {
          bandwidth 10;
          limit 30;
          burst 0;
          mark 1;
          priority 7;
          upload 10;
    };
    Onde setei uma velocidade minima de 10kbps e uma maxima de 30kbps com Upload de 10kbps numa prioridade 7 "baixa".
    não precisa setar o ip pq ele vai procurar o que esta marcado e soltar nessa class...
    ou se preferir fazer na unha ai vai...:
    Código :
    tc class add dev eth1 parent 1:0x20 classid 1:0x21 htb rate 1kbps ceil 3kbps burst 8k prio 7 quantum 1536
    tc {filter add dev eth1 protocol ip parent 1:0 prio 4 u32} match mark 1 0xffff flowid 1:0x21
    tc qdisc add dev eth1 parent 1:0x21 handle 0x21: pfifo limit 5
    sendo que eth1 ea Ethernet "placa de rede" onde o cliente conectar para ter acesso ao servidor onde a eth0 e onde o link de internet esta ligado ok!!!! eth1 = distribuição
    sendo assim espero ter ajudado, qualquer coisa estamos aki pra isso.
    Olá amigo..

    O controle de upload e a marcação como pode ser feito?
    As regras acima poderão ser utilizadas no kernel 2.6?