+ Responder ao Tópico



  1. #19

    Padrão

    está assim meu HTB:


    placa de rede externa:

    #!/bin/bash

    tc qdisc del dev eth0 root

    tc qdisc add dev eth0 root handle 1:0 htb default 50
    tc class add dev eth0 parent 1:0 classid 1:1 htb rate 1024kbit

    tc class add dev eth0 parent 1:1 classid 1:10 htb rate 512kbit ceil 512kbit prio 1 # voip
    tc class add dev eth0 parent 1:1 classid 1:20 htb rate 100kbit ceil 200kbit prio 2 # DNS / ACK / SYN / FIN
    tc class add dev eth0 parent 1:1 classid 1:30 htb rate 250kbit ceil 512kbit prio 3 # Terminal service
    tc class add dev eth0 parent 1:1 classid 1:40 htb rate 128kbit ceil 300kbit prio 4 # HTTP
    tc class add dev eth0 parent 1:1 classid 1:50 htb rate 128kbit ceil 400kbit prio 5 # Geral


    tc qdisc add dev eth0 parent 1:10 handle 10: pfifo limit 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
    tc qdisc add dev eth0 parent 1:40 handle 40: sfq perturb 10
    tc qdisc add dev eth0 parent 1:50 handle 50: sfq perturb 10


    tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip dport 5060 0xffff flowid 1:10
    tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip dport 5061 0xffff flowid 1:10
    tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip dport 10000 0xffff flowid 1:10
    tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip dport 20000 0xffff flowid 1:10
    tc filter add dev eth0 parent 1:0 protocol ip prio 2 u32 match ip dport 53 0xffff flowid 1:20
    tc filter add dev eth0 parent 1:0 protocol ip prio 3 u32 match ip dport 3389 0xffff flowid 1:30
    tc filter add dev eth0 parent 1:0 protocol ip prio 4 u32 match ip dport 80 0xffff flowid 1:40


    placa de rede interna:

    #!/bin/bash

    tc qdisc del dev eth1 root

    tc qdisc add dev eth1 root handle 1:0 htb default 50
    tc class add dev eth1 parent 1:0 classid 1:1 htb rate 1024kbit

    tc class add dev eth1 parent 1:1 classid 1:10 htb rate 512kbit ceil 512kbit prio 1 # voip
    tc class add dev eth1 parent 1:1 classid 1:20 htb rate 100kbit ceil 200kbit prio 2 # DNS / ACK / SYN / FIN
    tc class add dev eth1 parent 1:1 classid 1:30 htb rate 250kbit ceil 512kbit prio 3 # Terminal service
    tc class add dev eth1 parent 1:1 classid 1:40 htb rate 128kbit ceil 300kbit prio 4 # HTTP
    tc class add dev eth1 parent 1:1 classid 1:50 htb rate 128kbit ceil 400kbit prio 5 # 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 40: sfq perturb 10
    tc qdisc add dev eth1 parent 1:50 handle 50: sfq perturb 10


    tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip sport 5060 0xffff flowid 1:10
    tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip sport 5061 0xffff flowid 1:10
    tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip sport 10000 0xffff flowid 1:10
    tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip sport 20000 0xffff flowid 1:10
    tc filter add dev eth1 parent 1:0 protocol ip prio 2 u32 match ip sport 53 0xffff flowid 1:20
    tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip sport 3389 0xffff flowid 1:30
    tc filter add dev eth1 parent 1:0 protocol ip prio 4 u32 match ip sport 80 0xffff flowid 1:40



    que linhas acrescento em cada placa para ativar o cache full como te passei acima?

  2. #20

    Padrão

    Na eth1 fazer o seguinte:

    remover:
    tc class add dev eth1 parent 1:0 classid 1:1 htb rate 1024kbit

    adicionar:
    tc class add dev eth1 parent 1:0 classid 1:1 htb rate 100mbit

    Criar regras para o squid:
    tc class add dev eth1 parent 1:1 classid 1:60 htb rate 100mbit prio 1
    tc qdisc add dev eth1 parent 1:60 handle 60: sfq perturb 10
    tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst-address 10.0.1.254 flowid 1:60

    obs: quem determina o filtro eh dst-address



  3. #21

    Padrão

    muito obg vou testar segunda dia 12 pois entrei de férias mas para adiantar tenho como acessar remoto para fazer testes...tirando o rate 1024kbit que é o total do meu link como vou dividir o link em dois de 512k como te passei nas regras???

    e a placa eth0 não precisa fazer nada?

  4. #22

    Padrão

    Vamos pelo inicio, esta regra:

    tc qdisc add dev eth1 root handle 1:0 htb default 50

    diz que o que nao tiver classificacao vai ser limitado em 128 kbit e podera chegar a 400kbit se tiver banda livre.

    A banda do asterisk vai estar garantida por estas regras:
    tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip sport 5060 0xffff flowid 1:10
    tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip sport 5061 0xffff flowid 1:10
    tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip sport 10000 0xffff flowid 1:10
    tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip sport 20000 0xffff flowid 1:10

    A questao eh que este tipo de controle de banda eh feito para limitar o upload, soh que ai tem uma questao: como fazer com que os dados da rede interna trafeguem com velocidade plena ?????

    neste caso a solucao eh criar uma regra somente para a rede interna, no caso a que contem match ip dst-address.

    Na eth0 nao precisa fazer porque nao diz respeito a rede interna, e sim ao trafego direcionado para rede interna. No caso do squid quando esta servindo os clientes o trafego eh da rede interna.
    Última edição por amaia; 03-01-2009 às 01:30.



  5. #23

    Padrão

    quando o meu amigo me passou essas regras ele me disse que para controle do upload era so habilitar as regras na placa eth0.

    então a solução seria tirar a regra e adicionar a que vc passou e o controle de banda do asterisk iria cntinuar funcionando? desculpe perguntar muito sobre o HTB é porque não entendo muito dele...

  6. #24

    Padrão

    Realmente, vendo meu script, quem controla o upload realmente eh a eth0. Mas no caso da regra que passei serve somente para o trafego da rede interna e controle de banda do asterisk tambem.