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.697 ]

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)

Squid com autenticação

SUSE Linux - Squid autenticando no Active Directory (AD)

Leitura recomendada

Ubuntu Server 12.04 LTS - Como Servidor Gateway e DHCP

Configurando um servidor DNS rápido e fácil

Instalação do WordPress no CentOS 7

Transmissão de dados via telemetria: uma opção de comunicação remota

DNS com BIND

  
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