-
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?
-
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.
-
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...
-
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.
-
então faço so como vc passou?
-
-
blz já deixei tudo pronto mas só vou rodar segunda que é quando volto de férias...testo e posto aqui a taxa de download.
-
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?
-
ninguém mais pode me dar uma dica?
-
Faz o seguinte, coloca aqui o script completo, para eu poder testar no meu computador.
-
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.
-
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??
-
amaia me ajuda por favor preciso ativar esse cache full!!
outra coisa não teria que colocar algo do ZPH no squid.conf?