Página 1 de 2 12 ÚltimoÚltimo
+ Responder ao Tópico



  1. Boa noite amigos, estou tendo um problema com meu controle de banda no IpCop, eu uso o HTB e estou satisfeito, é perfeito, mais não estou sabendo como controlar a saída dos meus clientes, pois o controle está sendo feito por uma classe por cliente e ficou atribuído a mesma velocidade para down e up, e quando alguns deles fazem upload rebenta a minha rede. Segue as regras que uso:

    #Classes por Ip's

    tc qdisc add dev eth0 root handle 1: htb default 30
    tc class add dev eth0 parent 1: classid 1:1 htb rate 720kbps
    tc class add dev eth0 parent 1:1 classid 1:21 htb rate 128kbit ceil 300kbit
    tc class add dev eth0 parent 1:1 classid 1:22 htb rate 64kbit ceil 300kbit
    tc class add dev eth0 parent 1:1 classid 1:23 htb rate 64kbit ceil 300kbit
    tc class add dev eth0 parent 1:1 classid 1:24 htb rate 64kbit ceil 300kbit
    tc class add dev eth0 parent 1:1 classid 1:25 htb rate 64kbit ceil 300kbit
    tc class add dev eth0 parent 1:1 classid 1:26 htb rate 64kbit ceil 300kbit
    tc class add dev eth0 parent 1:1 classid 1:27 htb rate 64kbit ceil 300kbit
    tc class add dev eth0 parent 1:1 classid 1:28 htb rate 64kbit ceil 300kbit
    tc class add dev eth0 parent 1:1 classid 1:29 htb rate 64kbit ceil 300kbit
    tc class add dev eth0 parent 1:1 classid 1:30 htb rate 300kbit ceil 300kbit

    #Filtros

    tc filter add dev eth0 protocol ip parent 1:0 prio 4 u32 match ip dst 10.0.0.21 flowid 1:21
    tc filter add dev eth0 protocol ip parent 1:0 prio 4 u32 match ip src 10.0.0.21 flowid 1:21
    tc filter add dev eth0 protocol ip parent 1:0 prio 5 u32 match ip dst 10.0.0.22 flowid 1:22
    tc filter add dev eth0 protocol ip parent 1:0 prio 5 u32 match ip src 10.0.0.22 flowid 1:22
    tc filter add dev eth0 protocol ip parent 1:0 prio 5 u32 match ip dst 10.0.0.23 flowid 1:23
    tc filter add dev eth0 protocol ip parent 1:0 prio 5 u32 match ip src 10.0.0.23 flowid 1:23
    tc filter add dev eth0 protocol ip parent 1:0 prio 5 u32 match ip dst 10.0.0.24 flowid 1:24
    tc filter add dev eth0 protocol ip parent 1:0 prio 5 u32 match ip src 10.0.0.24 flowid 1:24
    tc filter add dev eth0 protocol ip parent 1:0 prio 5 u32 match ip dst 10.0.0.25 flowid 1:25
    tc filter add dev eth0 protocol ip parent 1:0 prio 5 u32 match ip src 10.0.0.25 flowid 1:25
    tc filter add dev eth0 protocol ip parent 1:0 prio 5 u32 match ip dst 10.0.0.26 flowid 1:26
    tc filter add dev eth0 protocol ip parent 1:0 prio 5 u32 match ip src 10.0.0.26 flowid 1:26
    tc filter add dev eth0 protocol ip parent 1:0 prio 5 u32 match ip dst 10.0.0.27 flowid 1:27
    tc filter add dev eth0 protocol ip parent 1:0 prio 5 u32 match ip src 10.0.0.27 flowid 1:27
    tc filter add dev eth0 protocol ip parent 1:0 prio 5 u32 match ip dst 10.0.0.28 flowid 1:28
    tc filter add dev eth0 protocol ip parent 1:0 prio 5 u32 match ip src 10.0.0.28 flowid 1:28
    tc filter add dev eth0 protocol ip parent 1:0 prio 5 u32 match ip dst 10.0.0.29 flowid 1:29
    tc filter add dev eth0 protocol ip parent 1:0 prio 5 u32 match ip src 10.0.0.29 flowid 1:29

    Aqui estão alguns em uso, notem que tem a mesma definição de velocidade para down e up, já que o src e dst é atribuído para a mesma classe.

    Acho que é necessário utilizar o comando police rate no filtro, mais não sei como faço isso.

    Grato pela ajuda

  2. para tu ter uma idéia tu pode usar o htb-tools e gerar o script e dar ir implementando,
    comando
    htb ethx generate
    Download
    $TC qdisc add dev $interface root handle 1: htb
    $TC class add dev $interface root classid 1: htb rate 512kbit
    $TC class add dev $interface parent 1: classid 1:$mark htb rate "$download"kbit ceil "$download"Kbit burst 15k prio 1 quantum 1536 mtu 1500
    $TC qdisc add dev $interface parent 1:$mark handle $mark: sfq perturb 10
    $TC filter add dev $interface parent 1:0 protocol ip prio 1 u32 match ip dst ${remoteIP}/32 flowid 1:${mark}


    Upload
    $TC qdisc add dev eth1 root handle 1: htb
    $TC class add dev eth1 root classid 1: htb rate 512kbit
    $TC class add dev eth1 parent 1: classid 1:$mark htb rate "$download"kbit ceil "$download"Kbit burst 15k prio 1 quantum 1536 mtu 1500
    $TC qdisc add dev eth1 parent 1:$mark handle $mark: sfq perturb 10
    $TC filter add dev eth1 parent 1:0 protocol ip prio 1 handle $mark fw classid 1:${mark}

    e não se esqueça de marca os pacotes com o iptables

    iptables -t mangle -A POSTROUTING -d ip -j MARK --set-mark 21
    iptables -t mangle -A FORWARD -s ip -j MARK --set-mark 21

    Testa ae e posta o resultado depois



  3. Acabei de fazer uma modificação, parece que funcionou, mais só vou ter certeza a noite quando tiver mais usuários, amanhã posto o resultado...valew

  4. Deu certo não, tô enrrolado com esse negócio! Tem como você postar ai um exemplo usado minhas configurações? Não estou entendendo direito. É criada a mesma classe tanto para up e Down?



  5. Citação Postado originalmente por Josue Guedes Ver Post
    Deu certo não, tô enrrolado com esse negócio! Tem como você postar ai um exemplo usado minhas configurações? Não estou entendendo direito. É criada a mesma classe tanto para up e Down?
    tenta colocar assim na tua regra de upload

    Subistitui essa
    tc filter add dev eth0 protocol ip parent 1:0 prio 5 u32 match ip src 10.0.0.29 flowid 1:29
    por essa e testa.
    tc filter add dev eth0 parent 1:1 protocol ip prio 1 handle 29 fw classid 1:29
    iptables -t mangle -A FORWARD -s 10.0.0.29 -j MARK --set-mark 29

    ou se não experimenta colocar o parent como 1:1






Tópicos Similares

  1. Respostas: 0
    Último Post: 09-09-2014, 11:13
  2. Respostas: 5
    Último Post: 28-07-2011, 08:56
  3. Respostas: 15
    Último Post: 20-12-2010, 20:37
  4. criando lista de usuarios em um arquivo....
    Por Dex no fórum Servidores de Rede
    Respostas: 1
    Último Post: 28-04-2004, 12:25
  5. Respostas: 2
    Último Post: 08-04-2003, 17:20

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L