CBQ (Controlador de banda) no Conectiva 10

Neste artigo espero poder ajudar a instalar e configurar o CBQ no Conectiva 10, que serve para limitar o uso de banda pelas máquinas em sua rede.

[ Hits: 75.300 ]

Por: Robinson Czelusniak em 12/05/2006


Instalação



Bom galera, vamos começar fazendo o download dos pacotes necessários.

Passo 1:

Verifique se seu servidor já possui o iproute2 instalado, se ele não estiver instalado, baixe-o no link abaixo:
Em seguida vamos fazer o download do cbq:
Passo 2:

Vamos instalar os pacotes do iproute2 com o comando:

# rpm -ivh iproute2*

Depois disto vamos criar uma pasta no diretório /etc/sysconfig com o comando:

# mkdir /etc/sysconfig/cbq

Nesta pasta ficarão as regras para os clientes.

Passo 3:

Torne o script do cbq (aquele que nós baixamos no site) executável:

# chmod +x cbq

Agora mova ele para o diretório /sbin:

# mv cbq /sbin

    Próxima página

Páginas do artigo
   1. Instalação
   2. Aprendendo a criar suas regras
   3. Regras por estação
   4. Limitando portas e redes
Outros artigos deste autor

Openfire no SLES 10 autenticando no Active Directory

Squid autenticando no Windows utilizando grupos do AD

Instalando Postfix e Dovecot no SLES 11 e autenticando em um diretório da Novell (Edir)

Configurando o OpenVPN no SuSE Linux Enterprise Server (SLES)

SUSE Linux - Squid autenticando no Active Directory (AD)

Leitura recomendada

Gerenciamento de conexões

Passos essenciais para configurar seu modem 3G no Linux

Navegando anônimo na internet

Como verificar conexões abertas no Linux

Criando relatórios estatísticos com o webalizer

  
Comentários
[1] Comentário enviado por rebinat em 12/05/2006 - 08:33h

uso cbq algum tempo e sempre tive uma duvida e se vc puder ajudar:

tem um servidor proxy que faz cache em emoria e em disco e uso o CBQ para controlar a banda...

como fazer para que o CBQ nao controle (limite) o download que esta no cache do squid...

Grato desde já

Luiz Henrique

[2] Comentário enviado por flipe em 12/05/2006 - 09:17h

cara... tu pode tentar usar o cbq, para liberar toda a banda da sua rede, na porta do proxy!

mas agir só no cache, creio que só com algum script!

falo!

[3] Comentário enviado por metall em 12/05/2006 - 17:19h

Fico Otimo o Artigo vo botar em pratica...
qualquer duvida vou te dar um grito!!
Abraco...

[4] Comentário enviado por removido em 13/05/2006 - 10:02h

melhor tutorial de cbq que eu ja vi por toda essa net em portugues, nota miu continue assim, fazendo tutoriais de qualidade bem explicado valew

[5] Comentário enviado por aprendiz_ce em 13/05/2006 - 12:44h

Show! Você está de parabéns pelo artigo.

Só tenho uma pequena dúvida:

Se eu fizer o controle de banda no roteador, os critérios aplicados valem para o mesmo ou só para as estações que usam a banda a partir dele?

Obrigado.

[6] Comentário enviado por czelusniak em 13/05/2006 - 16:32h

VLw galera, as regras serao aplicadas apnas para as estações pois o rotreador estara recebendo a banda atraves de outra placa de rede.

[7] Comentário enviado por agk em 15/05/2006 - 14:27h

Realmente o cbq é um programa ótimo para controle de banda. Só fiquei com uma dúvida, quando utiliza o parâmetro time não precisar colocar um script no cron para reiniciar o cbq?
[ ]'s

[8] Comentário enviado por kemper em 18/05/2006 - 15:52h

kras... to enfrentando problemas.... aqui acontece o seguinte......


[root@internet cbq]# /etc/init.d/cbq compile
tc qdisc del dev eth0 root
tc qdisc add dev eth0 root handle 1 cbq bandwidth 100Mbit avpkt 1000 cell 8
tc class change dev eth0 root cbq weight 10Mbit allot 1514

**CBQ: class ID of cbq-0000.in must be in range <0002-FFFF>!
tc qdisc del dev lo root
tc qdisc del dev eth0 root
tc qdisc del dev eth1 root


alguem tem alguma ideia do que pode ser isto ???

t+

[9] Comentário enviado por kemper em 18/05/2006 - 16:15h

ja resolvi.... valeu... o nome do arquivo deve comecar em 0002.... ex... cbq-0002-meferreiumonte.in.....
t+

[10] Comentário enviado por danielfelipetto em 25/05/2006 - 16:53h

Olá! Tenho uma dúvida,
Como faço para dividir meu link de internet (256k) com cbq, para a rede interna..? por exemplo: Gostaria que 40% da banda ficasse só para smtp e pop e 60% pro resto dos serviços, (http, ftp, etc).
Pois noto que qd alguém recebe um email com anexo muito grande, essa sessão de pop/smtp consome toda a banda e a o resto fica muitooo lento!! Agradeço quem puder me ajudar.

obs: tenho aqui um firewal com três placas de rede:
etho: ip quente
eth1: conectada com meu mailserver
eth2: conectada com minha rede interna

[11] Comentário enviado por birapn em 13/07/2006 - 18:31h

Era disso que estava precisando,

Mas uma duvida, no seguinte senario
eth0 = internet
eth1 = Rede A
eth2 = Rede B

Gostaria de deixar 50% pra cada interface disponibilizando em caso de ocioso.
Tem como fazer algo assim?

[12] Comentário enviado por czelusniak em 13/07/2006 - 20:35h

Olá no caso do Danielfelipetto, velho vc tem fazer o seguinte crie os arquivos assim como estao no artigo só mude o rate e o height, fica assim
RATE=256K
WEIGHT=25Kbit

e depois crie um outro arquivo com da seguinte maneira

DEVICE=eth0,10Mbit,1Mbit
RATE=102K
WEIGHT=10Kbit
PRIO=5
RULE=10.1.1.6:110
BOUNDED=yes
ISOLATED=yes

essa regra vai limitar o servidor de emails

Fala birapn blz?
Velho no seu caso é mais facil ainda
vc quer dividir o link em 2, entao crie os arquivos e faça tudo como esta no artigo lembrando que no começo de cada arquivo existe a linha DEVICE=eth0,10Mbit,1Mbit, vc deve mudar para DEVICE=eth1,10Mbit,1Mbit, pois vc disse que sua rede A esta na eth1, feito isto é so fazer como esta no artigo, só nao ative o serviço, agora depois de pronto as regras para a rede A vc deve criar arquivos novamente mas, mudando novamente a linha DEVICE=eth0,10Mbit,1Mbit, agora vc vai mudar para DEVICE=eth2,10Mbit,1Mbit (para a rede B) e esta pronto agora é só compilar e ativar o serviço, não esqueça de dividir o link tbm
ex: Link 500k
rede A
DEVICE=eth1,10Mbit,1Mbit
RATE=256K
WEIGHT=25Kbit
...
rede B
DEVICE=eth2,10Mbit,1Mbit
RATE=256K
WEIGHT=25Kbit

[13] Comentário enviado por thiagoantunees em 21/07/2006 - 19:46h

ola pessoal gostei muito do artigo muito bom mesmo ...mas estou com uma duvida

eu quero montar um servidor de internet

internet entra no meu---> servidor na eth0.
Tenho outra placa de rede eth1 quero ligar ela em um (AP/HUB) configurando o CBQ controlando a banda de internet de 800kbps para 8 maquinas com 100kbps ,cada uma pela wireless.

ta até ai blz mais como faço pra redirecionar a internet q entra na eth0 p/ eth1.como faço essa configuração.

desd ja agradesso e parabens pelo seu artigo muito bom mesmo

[14] Comentário enviado por czelusniak em 21/07/2006 - 20:57h

Cara pra voce poder fazer isso vc tem que usar o iptables se vc quiser eu te passo tudo por email, mande um email pra mim (robinson@rcznetwork.com.br) que eu te mando as regras do iptables. flw

[15] Comentário enviado por thiagoantunees em 24/07/2006 - 15:18h

ok ...valw te mandarei o e-mail

[16] Comentário enviado por paulopmt1 em 30/07/2006 - 15:22h

olá, fiz tudo como diz no turorial, mas quando eu digito "cbq start" ele da o seguinte erro: ": bad interpreter: Arquivo ou diretório não encontrado"

oque eu faço alguem pode me ajudar???

[17] Comentário enviado por czelusniak em 30/07/2006 - 21:52h

Olá paulopmt1, me diz uma coisa vc deu permissoes para o cbq ( chmod +x cbq), se vc ja fez isto, me diz outra coisa vc colocou ele no diretorio /sbin ou /usr/sbin( dependendo da distribuicao que vc esta usando), qualquer duvida posta ai

[18] Comentário enviado por dailton em 09/10/2006 - 09:51h

Uma dúvida, neste tutorial vc diz que a limitação do download e upload são feitas na mesma Placa de rede ex. Eth0
Mais a limitação não é feita na interface de saida? E neste caso Eth0 é interface de entrada para "upload". e se eu estiver certo, não vai funcionar a limitação para upload. Pelomenos é o que aconteceu comigo.
Neste caso você não teria que limitar o upload na interface que vai para internet?

[19] Comentário enviado por pdjailton em 24/10/2006 - 17:35h

cara o artigo ficou muito massa!!!!!!!!!!!

[20] Comentário enviado por peterpan em 12/12/2006 - 10:46h

Muito bom o artigo! Teria como o CBQ controlar apenas o download, não interferindo na navegação? A navegação ficaria com toda a banda disponível e o download apenas com 5% da banda.

[21] Comentário enviado por agk em 12/12/2006 - 11:33h

Olha peterpan para controlar apenas os downloads você poderia usar o delay pools do squid, criando uma acl com o mime-type ou acl com as extensões de arquivos de downloads mais frequentes da sua rede, depois limitar eles, mas isso nada tem haver com o cbq, é outro método de controle de banda utilizando o proxy squid.
[ ]'s.

[22] Comentário enviado por peterpan em 12/12/2006 - 15:05h

Ola agk, já usei u delay pools do squid, mais ele tava dando lentidao incomum em alguns sites,, Procurei uma outra alternativa e parei no CBQ, entao vejo que tenho que aprofundar os estudos no próprio squid.
Obrigado pela orientação.

[23] Comentário enviado por metall em 08/01/2007 - 10:14h

Dai "pachamaq" Tranquilo!! seguinte queria tirar uma duvida contigo sobre o cbq!
Tenho um servidor que esta assim:

Eth0 - Entra a Net Onde esta Plugado meu Modem. IP=192.168.0.1
Eth1 - Ficou de Gateway da Rede Interna! Certo! IP=192.168.1.254

Agora como deveria fazer as Regras do CBQ tanto do IN e do OUT
fiz um teste com uma maquina e nao altero em nada Estou Utilizando Conectiva 10.
/etc/sysconfig/cbq
cbq-0002-estacao1.in cbq-0002-estacao1.out

O IN esta assim:

DEVICE=eth0,10Mbit,1Mbit
RATE=64K
WEIGHT=6Kbit
PRIO=5
RULE=192.168.l.5
BOUNDED=yes
ISOLATED=yes

E o OUT esta assim:

DEVICE=eth0,10Mbit,1Mbit
RATE=64K
WEIGHT=6Kbit
PRIO=5
RULE=192.168.1.5,
BOUNDED=yes
ISOLATED=yes

------------------------------------------------
Minha Duvida esta no DEVICE.
Coloco Eth0 no IN e no OUT coloco Eth1?
Qual seria o Sintaxe para isso?

Desde Ja Agradeco.. !! abraco

[24] Comentário enviado por czelusniak em 08/01/2007 - 13:37h

Olá metall, cara coloque eth1, e outra coisa se sua placa de rede for uma gigalan, inves de 10Mbit,1Mbit voce coloca 100Mbit,10Mbit. blz

Abraco

[25] Comentário enviado por lucaslinux em 11/02/2007 - 22:25h

metall.. ve só, ja pasei pro isso no mandrake 10.0, e eu configurei assin:


O IN esta assim:

DEVICE=eth0,10Mbit,1Mbit
RATE=64K
WEIGHT=6Kbit
PRIO=5
RULE=192.168.l.5
BOUNDED=yes
ISOLATED=yes

E o OUT esta assim:

DEVICE=eth0,10Mbit,1Mbit
RATE=64K
WEIGHT=6Kbit
PRIO=5
RULE=192.168.1.5,
BOUNDED=yes
ISOLATED=yes

com vc exatemente ta fazendo.

no caso, eu li a documentação oficial do CBQ em ingles, ele explica isso. o aqrquivos tem que seguir a sequancia assim:

O IN esta assim:

DEVICE=eth0,10Mbit,1Mbit
RATE=64K
WEIGHT=6Kbit
PRIO=5
RULE=192.168.l.5
BOUNDED=yes
ISOLATED=yes

E o OUT esta assim:

DEVICE=eth1,10Mbit,1Mbit
RATE=64K
WEIGHT=6Kbit
PRIO=5
RULE=192.168.1.5,
BOUNDED=yes
ISOLATED=yes


o mesmo que o seu, so que o arquivo de saida (ouT) deve conter a interfçe que o servidor vai sair com sua requisição, e a entrada (up) a interfaçe de sua rede local... ok??? dou uma dica, abre o arq do cbq que deva ta em /sbin/cbq, nele explica bem melhor isso ai, e inclusive fala de outros comands com TIME e muito mais, que lhe ajudará a configura o CBQ mais redondinho...

[26] Comentário enviado por leo-86 em 15/02/2007 - 15:13h

e ai blz ? me tira uma duvida a extencao do arquivo deve ser .in .out ou -in -out ?

[27] Comentário enviado por acdc em 15/02/2007 - 15:42h

use .out e .in assim esta fauncionando aqui na minha rede

[28] Comentário enviado por lucaslinux em 15/02/2007 - 16:45h

eu sigo a documentação oficial do CBQ. ou seja, cbq-0002.in cbq-0002.out ---- cbq-0003.in cbq-0003.out

[29] Comentário enviado por Douglas Santos em 22/03/2007 - 14:39h

Fiz a configuração passo a passo...
Mais quando dou o comando:

# cbq compile recebo essa mensagem
tc qdisc del dev eth0 root
tc qdisc add dev eth0 root handle 1 cbq bandwidth 10Mbit avpkt 1000 cell 8
tc class change dev eth0 root cbq weight 1Mbit allot 1514

**CBQ class ID of cbq-0000.in must be in range <0002-FFFF>!
tc qdisc del dev lo root
tc qdisc del dev eth0 root
tc qdisc del dev eth1 root


Obrigado(a), a todos(a).

[30] Comentário enviado por Douglas Santos em 22/03/2007 - 17:28h

pronto resolvi tmb...


[31] Comentário enviado por lero em 30/03/2007 - 18:18h

Afff alguem me ajuda? estou tentando criar o arquico cbq-0002.in cbq-0002.out mais ele fala
-bash: cbq-0002.in: command not found

pq? ja transformei o script em executavel e esta dentro de /sbin
estou usando a conectiva 10

[32] Comentário enviado por leonet2008 em 12/04/2007 - 08:02h

galera eu dei o comando cbq compile apareceu isso aki

[root@vertex sbin]# cbq compile
/sbin/tc qdisc del dev eth0 root
/sbin/tc qdisc add dev eth0 root handle 1 cbq bandwidth 100Mbit avpkt 1000 cell 8
/sbin/tc class change dev eth0 root cbq weight 10Mbit allot 1514

/sbin/tc qdisc del dev eth1 root
/sbin/tc qdisc add dev eth1 root handle 1 cbq bandwidth 100Mbit avpkt 1000 cell 8
/sbin/tc class change dev eth1 root cbq weight 10Mbit allot 1514

/sbin/tc class add dev eth1 parent 1: classid 1:2 cbq bandwidth 100Mbit rate 32Kbit weight 3Kbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded isolated
/sbin/tc qdisc add dev eth1 parent 1:2 handle 2 tbf rate 32Kbit buffer 10Kb/8 limit 15Kb mtu 1500
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.1.10 classid 1:2

/sbin/tc class add dev eth0 parent 1: classid 1:2 cbq bandwidth 100Mbit rate 32Kbit weight 3Kbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded isolated
/sbin/tc qdisc add dev eth0 parent 1:2 handle 2 tbf rate 32Kbit buffer 10Kb/8 limit 15Kb mtu 1500
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip src 192.168.1.10 classid 1:2

/sbin/tc class add dev eth1 parent 1: classid 1:2 cbq bandwidth 100Mbit rate 0Kbit weight 0Kbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded isolated
/sbin/tc qdisc add dev eth1 parent 1:2 handle 2 tbf rate 0Kbit buffer 10Kb/8 limit 15Kb mtu 1500
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.1.2 classid 1:2
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.1.3 classid 1:2
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.1.4 classid 1:2
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.1.5 classid 1:2
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.1.6 classid 1:2
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.1.7 classid 1:2
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.1.8 classid 1:2
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.1.9 classid 1:2

/sbin/tc class add dev eth0 parent 1: classid 1:2 cbq bandwidth 100Mbit rate 0Kbit weight 0Kbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded isolated
/sbin/tc qdisc add dev eth0 parent 1:2 handle 2 tbf rate 0Kbit buffer 10Kb/8 limit 15Kb mtu 1500
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip src 192.168.1.2 classid 1:2
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip src 192.168.1.3 classid 1:2
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip src 192.168.1.4 classid 1:2
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip src 192.168.1.5 classid 1:2
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip src 192.168.1.6 classid 1:2
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip src 192.168.1.7 classid 1:2
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip src 192.168.1.8 classid 1:2
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip src 192.168.1.9 classid 1:2

e ai o que eu faço

[33] Comentário enviado por fabiorvs em 16/04/2007 - 17:32h

Boa tarde,

Estou com um problema, temos um link de 10 megas, temos a matriz e duas filiais ligadas por fibra optica, todas as filiais tem seus servidores de internet com IP valido o que preciso fazer, uma maquina que seja o gateway default das filiais só que elas não vão passar por NAT e sim por forward pois elas tem IPs validos, coloquei uma maquina com uma placa rede só para controlar esse forward e configurei o CBQ mas não esta funcionando, tem algum truque para me ajudar.

Muito grato

[34] Comentário enviado por R1cardo em 22/05/2007 - 15:00h

Olá não consigo controlar a banda cbq ou htb por porta, ele controla a porta 3389 mais a 80 21 22 não como eu faço para resolver isso?

[35] Comentário enviado por vflaminio em 18/06/2007 - 21:13h

POR FAVOR, ME AJUDE, uso o Mandrake 9.0, quando digito cbq compile dentro do /sbin dá um monte de erro, segue os erros:

: command not found:
: command not found:
: command not found:
: command not found:
: command not found:
: command not found:
: command not found:
: command not found:
: command not found:
'sbin/cbq: line 478: syntax error near unexpected token `{
'sbin/cbq: line 478: `cbq_device_list () {


Por favor, me ajudem.

[36] Comentário enviado por marceloespindola em 12/07/2007 - 00:34h

Depois de instalar qualquer controlador de banda é bom ter uma ferramenta de teste eu tenho um velocimetro em flash com os arquivos fontes abertos no seguinte endereço: http://marcelolinux.blogspot.com/2007/07/tenha-seu-prprio-velocmetro-em-flash.html

[37] Comentário enviado por fisicorj em 21/07/2007 - 11:01h

Alguém poderia me mandar um tutorial ouum link que tenha uma explicação mais completa do CBQ, porque tenho que explicar para o meu gerente de TI o que é o CBQ em detalhes.

[38] Comentário enviado por agk em 23/07/2007 - 23:56h

Se quiser realmente aprender sobre trafic shaper (controle de banda) eu recomendo esses links (Em Inglês):
http://snafu.freedom.org/linux2.2/iproute-notes.ht...
http://www.policyrouting.org/

Eles explicam de forma geral como funciona o tc do pacote iproute2, se alguém quiser eu tenho um material sobre ele em português, só tenho que ver com o autor se posso distribuir ele.

Atualmente estou usando HTB, atendeu melhor a minha necessidade do que o cbq, eu mesmo fiz os script para controlar o tráfego da minha rede, agora eu controlo inclusive o tráfego excedente, permitindo um melhor aproveitamento do link.

[39] Comentário enviado por tiagopesantos em 17/10/2007 - 12:03h

?comentario=ola fiz o passo a passo que vc mostrou acima na instalacao do cbq mas nao conseguo iniciar o cbq de forma alguma sera que e minha disbuiçao nao funciona e o mandriva 2006, me ajuda com alguma dica, obrigado

[40] Comentário enviado por marcelwifi em 07/07/2010 - 12:01h

Execente tutorial, mas eu gostaria de saber como controlar a banda em um range de portas. Por exemplo ip 10.0.0.4 gostaria de controlar banda só nas portas 1024 até 65535 como ficaria as regras?

[41] Comentário enviado por HenriqueRJ em 05/06/2012 - 14:33h

Prezados colegas,

Primeiramente saudações pinguianas a todos.

Estou com uma pequena dúvida em relação ao shaper.

Instalei direitinho, e coloquei para funcionar e de fato está funcionando muito bem.

Vejam meus arquivos de configuração:


########## cbq-0010-clientes-100k-down ##########

DEVICE=eth1,1Mbit
RATE=1000Kbit
WEIGHT=100Kbit
PRIO=5

RULE=192.168.254.3
RULE=192.168.254.4
RULE=192.168.254.5
RULE=192.168.254.6
RULE=192.168.254.7
RULE=192.168.254.8
RULE=192.168.254.9

BOUNDED=yes
ISOLATED=yes

######


########## cbq-0010-clientes-100k-up ##########

DEVICE=eth1,1Mbit
RATE=100Kbit
WEIGHT=10Kbit
PRIO=5

RULE=192.168.254.3,
RULE=192.168.254.4,
RULE=192.168.254.5,
RULE=192.168.254.6,
RULE=192.168.254.7,
RULE=192.168.254.8,
RULE=192.168.254.9,

BOUNDED=yes
ISOLATED=yes

######

Eu já pesquisei em tudo quando é lugar, mas não consigo descobrir uma coisa:

Como é que eu faço para excluir algumas portas deste controle de banda.
Por exemplo, não quero que ele limite as portas 2049, 22, 137, 138 e 139

Como eu faria isso?
Já pesquisei em tudo quando é lugar e não achei.

Ficarei muito grato a quem puder ajudar!

Atenciosamente,

Henrique Fagundes
magnatahp@yahoo.com.br
Skype: magnata-br-rj
Linux User: 475399

http://www.aprendendolinux.com
http://facebook.com/PortalAprendendoLinux
http://youtube.com/aprendendolinux
http://twitter.com/aprendendolinux


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts