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



  1. #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?

  2. #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 02:30.

  3. #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...

  4. #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.

  5. #25

  6. #26

    Padrão

    Isso mesmo.

  7. #27

    Padrão

    blz já deixei tudo pronto mas só vou rodar segunda que é quando volto de férias...testo e posto aqui a taxa de download.

  8. #28

    Padrão

    vamos lá..hoje estou na empresa e vou te mostrar o que fiz:

    1)no squid não tinha aquelas linhas para retirar..só essas:

    acl all src 0.0.0.0/0.0.0.0
    acl manager proto cache_object
    acl localhost src 127.0.0.1/255.255.255.255
    acl SSL_ports port 443 4243 563
    acl Safe_ports port 80 21 443 563 70 210 1025-65535
    acl Safe_ports port 280 # http-mgmt
    acl Safe_ports port 488 # gss-http
    acl Safe_ports port 591 # filemaker
    acl Safe_ports port 777 # multiling http
    acl CONNECT method CONNECT
    http_access allow manager localhost
    http_access deny manager
    http_access deny !Safe_ports
    http_access deny CONNECT !SSL_ports
    http_access allow localhost

    então adicionei as linhas abaixo no squid.conf
    #CACHE FULL
    refresh_pattern (/cgi-bin/|\?) 0 0% 0
    refresh_pattern . 0 20% 4





    2)na eth1 fiz o que vc pediu e ficou assim:


    #!/bin/bash
    tc qdisc del dev eth1 root
    tc qdisc add dev eth1 root handle 1:0 htb default 50
    #squid
    tc class add dev eth1 parent 1:0 classid 1:1 htb rate 100mbit
    #squid
    tc class add dev eth1 parent 1:1 classid 1:60 htb rate 100mbit prio 1
    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
    #squid
    tc qdisc add dev eth1 parent 1:60 handle 60: sfq perturb 10
    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
    #squid
    tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst-address 10.0.1.254 flowid 1:60
    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

    só que está dando erro na hora do start no serviço:

    debian:~# /etc/init.d/redeinterna start
    Illegal "match"

    na eth0 como não alterei nada o serviço levanta normal....

    o que deve ser feito?
    Última edição por lfernandosg; 12-01-2009 às 10:43.

  9. #29

  10. #30

    Padrão

    Faz o seguinte, coloca aqui o script completo, para eu poder testar no meu computador.

  11. #31

    Padrão Regra

    Nao precisa enviar o script mais nao ....

    no seu script esta assim
    tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst-address 10.0.1.254 flowid 1:60

    deve ficar assim:

    tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst 10.0.1.254 flowid 1:60
    tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip src 10.0.1.254 flowid 1:60

    com a opcao "ip dst" vc indica que tudo que possuir destino for a maquina 10.0.1.254 deve trafegar a 100mbit.

    com a opcao "ip src" vc indica que tudo quer possuir origem 10.0.1.254 deve trafegar a 100mbit independente do destino, seja rede interna ou rede externa.

  12. #32

    Padrão

    vamos lá..então ficou assim:

    rede interna eth1:

    #!/bin/bash
    tc qdisc del dev eth1 root
    tc qdisc add dev eth1 root handle 1:0 htb default 50
    #squid
    tc class add dev eth1 parent 1:0 classid 1:1 htb rate 100mbit
    #squid
    tc class add dev eth1 parent 1:1 classid 1:60 htb rate 100mbit prio 1
    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
    #squid
    tc qdisc add dev eth1 parent 1:60 handle 60: sfq perturb 10
    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
    #squid
    tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst 10.0.1.254 flowid 1:60
    tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip src 10.0.1.254 flowid 1:60
    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


    rede externa eth0:

    #!/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


    e no squid adicionei as linhas:

    #CACHE FULL
    refresh_pattern (/cgi-bin/|\?) 0 0% 0
    refresh_pattern . 0 20% 4

    entào fui fazer o teste..com minha máquina limpei o cookies e etc...depois baixei o acrobat que tem 23mb no site www.baixaki.com.br...ele baixou usando 80KB/s a 90KB/s da minha rede que tem no total 100KB/s de link embratel...depois disso exluir o arquivo da minha máquina cliente, limpei novamente os cookies e etc... e fui baixar para testar o cache full...resultado:

    baixou com o mesmo tempo e na mesma velocidade..o que pode estar errado??

  13. #33

    Padrão

    amaia me ajuda por favor preciso ativar esse cache full!!

    outra coisa não teria que colocar algo do ZPH no squid.conf?
    Última edição por lfernandosg; 26-01-2009 às 21:43.