OpenVPN para clientes Windows no Debian Squeeze

Usar uma VPN (Virtual Private Network) permite você compartilhar e acessar arquivos de uma rede local estando fora dela. Como o próprio nome sugere, você virtualiza a rede para conseguir fazer parte dela, conseguindo assim, até imprimir em uma impressora local que esteja na rede. E claro, você consegue trabalhar de casa, se for necessário.

[ Hits: 58.919 ]

Por: Pedro Franca em 23/07/2012


Configuração



Configurando o arquivo server.conf

Agora temos que criar o principal arquivo de configuração do OpenVPN.

Então execute:

# nano /etc/openvpn/server.conf

Dentro deste arquivo, coloque as seguintes informações:

##Protocolo de Conexão
proto udp #TIPO DE PROTOCOLO
# Porta do servico
port 1194 # PORTA USADA
# Drive da interface
dev tun # DRIVER DA INTERFACE DE REDE "TUN" INTERFACE VIRTUAL
# Atribui endereços dinâmicos a vários clientes, ips para o túnel VPN
server 10.0.0.0 255.255.255.0 # FAIXA DE IPS QUE SERÁ DISTRIBUIDOS PARA OS CLIENTES VPN
# Acrescenta rotas aos clientes, informações da rede local
push "route 192.168.0.0 255.255.255.0" # TROQUE ESSAS INFORMAÇÕES POR SUA REDE
push "dhcp-option DNS 192.168.0.251" # TROQUE ESSAS INFORMAÇÕES POR SUA REDE
push "dhcp-option WINS 192.168.0.251" # TROQUE ESSAS INFORMAÇÕES POR SUA REDE
# Configurações adicionais no cliente
push "ping 10"
push "ping-restart 60"
# Rotas do servidor
route 10.0.0.0 255.255.255.0 # ROTA DO CLIENTE VPN
# Compactacao lib LZO
comp-lzo #COMPACTADOR DAS INFORMAÇÕES ATRAVES DO TÚNEL, FALAREI MAIS SOBRE ESSA EM BAIXO
keepalive 10 120 # O PRIMEIRO NUMERO É O INTERVALO DE PINGS E O SEGUNDO O TIMEOUT DEPOIS QUE A VPN É REINICIADA
float # ESSA OPCAO É PARA IPS DINAMICOS, MESMO QUE O IP MUDE A VPN CONTINUA COM O TUNEL ABERTO
ifconfig-pool-persist /etc/openvpn/ipp.txt #ARMAZENA A LISTA DE IPS USADA PELOS CLIENTES, SEMPRE QUE O CLIENTE VOLTA A LOGAR ELE RECEBE O MESMO IP
max-clients 10 # LIMITE MAXIMO DE CLIENTE LOGADOS AO MESMO TEMPO
persist-key #FAZ COM QUE O DAEMON MANTENHA A INTERFACE TUN ABERTA, QUANDO A VPN É REINICIADA
persist-tun # FAZ COM QUE O DAEMON MANTENHA A INTERFACE TUN ABERTA, QUANDO A VPN É REINICIADAr
log-append /var/log/openvpn.log # LOG DA VPN
verb 6
# Servidor TLS
tls-server
# Chaves necessárias
dh /etc/openvpn/keys/dh1024.pem #CHAVES QUE FORAM CRIADAS
ca /etc/openvpn/keys/ca.crt #CHAVES QUE FORAM CRIADAS
cert /etc/openvpn/keys/SOL.crt #CHAVES QUE FORAM CRIADAS
key /etc/openvpn/keys/SOL.key #CHAVES QUE FORAM CRIADAS
# Chave secreta do servidor

tls-auth /etc/openvpn/keys/chave.key #CHAVES QUE FORAM CRIADAS
status /var/log/openvpn.stats #LOG DE STATUS DA VPN


Depois salve e saia, e reinicie o servidor VPN:

# /etc/init.d/openvpn restart

Se tiver algum firewall na sua rede, segue uma dica de regra para funcionar.

Esta dica peguei deste ótimo artigo, aqui no VOL mesmo:
# iptables -t filter -A INPUT -p udp --dport 1194 -j ACCEPT
# iptables -t filter -A FORWARD -p udp -s 192.168.0.0/24 --dport 1194 -j ACCEPT
# iptables -t filter -A FORWARD -p udp -d 192.168.0.0/24 --sport 1194 -j ACCEPT
# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 10.0.0.0/24 -j ACCEPT
# iptables -t nat -A POSTROUTING -d 192.168.0.0/24 -s 10.0.0.0/24 -j ACCEPT
# iptables -t nat -I POSTROUTING -s 10.0.0.0/24 -o eth1 -j MASQUERADE


Esta opção que está no arquivo server.conf, "comp-lzo", serve para a VPN passar a compactar os dados transmitidos através do túnel, só que para isso funcionar, temos que instalar o pacote lzop.

Então execute:

# apt-get install lzop

Ou:

# aptitude install lzop

Configurando o cliente Windows

Tanto para clientes XP como Windows 7, o artigo funciona.

Primeiro, temos que fazer o download do software em:
Feito o download, vamos fazer a instalação dele no cliente, instalação padrão:

Instalação normal > next > I Agree > next > Install > next > finish

Dentro do diretório C:\Program Files\OpenVPN\config, criamos a pasta "keys".

Dentro da pasta "Keys", temos que copiar as chaves de acesso para o cliente que fica no servidor no diretório /etc/openvpn/easy-rsa/keys

Os arquivos são:
  • dh1024.pem
  • ca.crt
  • usuariodavpn.crt
  • usuariodavpn.key
  • chave.key

Agora, no diretório C:\Program Files\OpenVPN\config, temos que criar um arquivos no bloco de notas mesmo, chamado "client".

Dentro desse arquivo, tem que ter as seguintes linhas:

client
dev tun #DRIVER DA INTERFACE VIRTUAL
proto udp #PROTOCOLO DA INTERFACE
remote 200.200.200.2000 #IP FIXO DA SUA REDE, ONDE CHEGA A INTERNET
port 1194 # PORTA DE ACESSO
pull #DO INGLÊS PUXAR, SERVE PARA QUE O CLIENTE ACEITE AS CONFIGURAÇÕES DO SERVIDOR
comp-lzo #COMPACTADOR DE DADOS NO TUNEL VPN
keepalive 10 120 #O PRIMEIRO NUMERO É O INTERVALO DE PINGS E O SEGUNDO O TIMEOUT
float # ESSA OPCAO É PARA IPS DINAMICOS, MESMO QUE O IP MUDE A VPN CONTINUA COM O TUNEL ABERTO
tls-client
persist-tun # FAZ COM QUE O DAEMON MANTENHA A INTERFACE TUN ABERTA, QUANDO A VPN É REINICIADA
persist-key #FAZ COM QUE O DAEMON MANTENHA A INTERFACE TUN ABERTA, QUANDO A VPN É REINICIADA
remote-cert-tls server
dh keys/dh1024.pem #CHAVE FEITA LA NO SERVIDOR
ca keys/ca.crt #CHAVE FEITA LA NO SERVIDOR
cert keys/seuusuario.crt #TROQUE PELO NOME DO CERTIFICADO CRIADO POR VOCÊ
key keys/seuusuario.key #TROQUE PELO NOME DO CERTIFICADO CRIADO POR VOCÊ
tls-auth keys/chave.key #CHAVE FEITA LA NO SERVIDOR
route-method exe
route-delay 2


Salve e feche o arquivo.

* Agora vem o MAIS IMPORTANTE: Você deve salvar este arquivo com a seguinte extensão: .ovpn

Então, o arquivo ficaria nomeado assim depois de salvo: cliente.ovpn

Se não for feito isso, a VPN não funciona.

Agora, para testar suas chaves, faça o seguinte procedimento:
  • Na sua área de trabalho terá um ícone chamado OpenVPN GUI, execute ele.
  • Do lado do seu relógio aparecerá o mesmo ícone, só que em vermelho, clique com o botão direito e vá em "Conectar", se você fez tudo certo, os computadores ficaram verdes, com o status "Connected".

Pronto, sua VPN está funcionando.

* Dica: Evite usar nomes de acesso na sua VPN, pois isso demora muito, por causa da resposta do servidor DNS. Tente sempre usar o numero IP.

Ex.: se você for acessar um servidor que está na sua rede e ele ter o nome de "servidor", ao invés de você acessar ele como "servidor", acesse pelo seu IP. ;)

Referências


Agradeço a todos meus amigos que sempre ajudaram em minha carreira!

Em especial:

Thiago Sousa Messias Gonçalves
William Sousa Messias Gonçalves

Página anterior    

Páginas do artigo
   1. Instalação
   2. Configuração
Outros artigos deste autor

Proxy transparente com Squid, com controle de banda e bloqueio por horários

Monitoração com Zabbix no Debian Squeeze

O poderoso Nagios

Leitura recomendada

Configuração do SSL no Apache

Recebendo notificações de seus servidores no seu celular e e-mail

Sincronizando o Linux com Palm USB

Instalando o Sun Java System Web Proxy Server no Linux Slackware 12.0

LoadBalance e Failover com OpenBSD e PF

  
Comentários
[1] Comentário enviado por rony_souza em 23/07/2012 - 11:28h

mandouu muiiiitoooo!!!!!

#wald feelings!

[2] Comentário enviado por gilsonleao em 24/07/2012 - 20:08h

Parabéns! Muito bom cara!!!

[3] Comentário enviado por lanay em 26/08/2012 - 11:01h

Parabéns, muito bom seu artigo!

[4] Comentário enviado por sdevil em 31/01/2013 - 14:03h

Amigo gostaria da sua ajuda!
Minha VPN conecta mais não consigo ping na minha rede atraves da VPN, meu servidor não tem firewall. Uso um roteador tp link onde ja criei uma vpn virtual no mesmo. mas não consigo!
M e ajude porfavor!

[5] Comentário enviado por waldemf em 31/01/2013 - 16:39h

Olá, sdevil!
Apenas com essa descrição fica difícil ajudar, posso adiantar uma coisa, para você conseguir pingar sua rede, precisa de uma regra de roteamento de pacotes, um ex: no tutorial à cima se não tiver essa regra no firewall:

# iptables -t filter -A INPUT -p udp --dport 1194 -j ACCEPT
# iptables -t filter -A FORWARD -p udp -s 192.168.0.0/24 --dport 1194 -j ACCEPT
# iptables -t filter -A FORWARD -p udp -d 192.168.0.0/24 --sport 1194 -j ACCEPT
# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 10.0.0.0/24 -j ACCEPT
# iptables -t nat -A POSTROUTING -d 192.168.0.0/24 -s 10.0.0.0/24 -j ACCEPT
# iptables -t nat -I POSTROUTING -s 10.0.0.0/24 -o eth1 -j MASQUERADE

O mesmo não funciona corretamente, dentro dos roteadores existe uma opção de roteamento de pacotes, a idéia seira você fazer uma ponte de uma faixa de ips para a outra conforme a regra à cima.

[6] Comentário enviado por sdevil em 31/01/2013 - 19:17h

BLZ, so que eu não tenho nehum firewall instalado na rede ja fiz uma ponte no roteador TpLink
Minha faixa de ips e 172.19.7.0 255.255.255.0
GW 172.19.7.150 (Roteador)
DNS ' s 172.19.7.150 + 172.19.7.200.

mesmo assim devo add esses comando acima subs o 192.168.0.0/24 por minha faixa que vai funcionar ?

[7] Comentário enviado por waldemf em 01/02/2013 - 08:21h

Você pode tentar, mais não esqueça de trocar "192.168.0.0/24" por sua faixa de ips, ok?

[8] Comentário enviado por sdevil em 01/02/2013 - 12:45h

echo 1 > /proc/sys/net/ipv4/ip_forward

Não tenho que colocar esse comado ?

[9] Comentário enviado por waldemf em 04/02/2013 - 19:43h

Olá, sdevil

Esse comando "echo 1 > /proc/sys/net/ipv4/ip_forward" é responsável pelo encaminhamento de pacotes utilizado pelo módulo iptables_nat, usamos esse comando no scritp do firewall para compartilhar a conexão com o squid por ex.
Geralmente esse comando é acompanhado de mais 2 no script do firewall:

########################################
#modprobe iptable_nat #
#echo "1" > /proc/sys/net/ipv4/ip_forward <----- #
#iptables -t nat -A POSTROUTING -o $eth1 -j MASQUERADE#
#######################################

Acredito que você não vá usar ele no seu router uma vez que esse comando é próprio do linux para o iptables.

;)

[10] Comentário enviado por sdevil em 07/02/2013 - 10:51h

iptables -t filter -A INPUT -p udp --dport 1194 -j ACCEPT
iptables -t filter -A FORWARD -p udp -s 172.19.7.0/24 --dport 1194 -j ACCEPT
iptables -t filter -A FORWARD -p udp -d 172.19.7.0/24 --sport 1194 -j ACCEPT
iptables -t nat -A POSTROUTING -s 172.19.7.0/24 -d 10.0.0.0/24 -j ACCEPT
iptables -t nat -A POSTROUTING -d 172.19.7.0/24 -s 10.0.0.0/24 -j ACCEPT
iptables -t nat -I POSTROUTING -s 10.0.0.0/24 -o eth1 -j MASQUERADE

Realizei o procediemnto como sugerido criei um arquivo em /etc/init.d/firewall com essas informações. dei permissão a ele e o pus no rcconf
mesmo assim conecto a vpn mais não ping na minha rede local!

Me ajudem!

[11] Comentário enviado por sdevil em 07/02/2013 - 11:44h

Essa e minha tabela de roteamento do servidor VPN

Tabela de Roteamento IP do Kernel
Destino Roteador MáscaraGen. Opções Métrica Ref Uso Iface
10.0.0.2 * 255.255.255.255 UH 0 0 0 tun0
10.0.0.0 10.0.0.2 255.255.255.0 UG 0 0 0 tun0
172.19.7.0 * 255.255.255.0 U 0 0 0 eth1
default 172.19.7.150 0.0.0.0 UG 0 0 0 eth1


Tem alg errado ?


[12] Comentário enviado por sdevil em 07/02/2013 - 19:13h

Agradeço a ajuda mais consegui resolver parcialmente meu problema dessa forma!

iptables -A INPUT -i eth1 -d 172.19.10.1/32 -p udp -m udp --dport 1194 -j ACCEPT
iptables -A FORWARD -i tun0 -s 172.19.10.0/24 -d 172.19.7.150/32 -p tcp -m tcp --dport 53 -j ACCEPT
iptables -A FORWARD -i tun0 -s 172.19.10.0/24 -d 172.19.7.200/32 -p tcp -m tcp --dport 53 -j ACCEPT
iptables -A FORWARD -i tun0 -s 172.19.10.0/24 -d 172.19.7.250/32 -p tcp -m tcp --dport 53 -j ACCEPT
iptables -A FORWARD -i tun0 -s 172.19.10.0/24 -d 172.19.7.100/32 -p tcp -m tcp --dport 53 -j ACCEPT
iptables -A FORWARD -i tun0 -s 172.19.10.0/24 -d 172.19.7.150/32 -p udp -m udp --dport 53 -j ACCEPT
iptables -A FORWARD -i tun0 -s 172.19.10.0/24 -d 172.19.7.200/32 -p udp -m udp --dport 53 -j ACCEPT
iptables -A FORWARD -i tun0 -s 172.19.10.0/24 -d 172.19.7.250/32 -p tcp -m udp --dport 53 -j ACCEPT
iptables -A FORWARD -i tun0 -s 172.19.10.0/24 -d 172.19.7.100/32 -p tcp -m udp --dport 53 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
------------------------------------------------------------------------------------------------------------------------

O novo problema e so ping para o 172.19.7.150 não ping para as outras maquina!

[13] Comentário enviado por waldemf em 08/02/2013 - 16:29h

Olá, sdevil

Tente desativar o firewall desse máquina de for Windows.

Abs!

[14] Comentário enviado por m29 em 20/03/2013 - 11:42h

estranho passei um tempão achando que o openvpn ubuntu matriz e filial windows não tava funcionando pq não pingava mas funciona sem pinga que estranho troquei arquivo pela vpn funfo legal mas não pinga que estranho

[15] Comentário enviado por ferreiralinux em 01/04/2013 - 11:34h

Bom dia

Segui todo seu manual, mas o openvpn não startou no servidor, abaixo detalhe da minha rede.

Ip Rede interna : 192.168.1.0/24

Router : 192.168.1.5

DNS: 192.168.1.1 192.168.1.5


Como devo colocar o server.conf a configuração?

Como criar uma rota no router?

o erro ao inicializar é Options error: --server directive network/netmask combination is invalid
Use --help for more information.


Estou precisando muito da ajuda.



[16] Comentário enviado por alexandrevl em 23/05/2013 - 13:10h


[12] Comentário enviado por sdevil em 07/02/2013 - 19:13h:

Agradeço a ajuda mais consegui resolver parcialmente meu problema dessa forma!

iptables -A INPUT -i eth1 -d 172.19.10.1/32 -p udp -m udp --dport 1194 -j ACCEPT
iptables -A FORWARD -i tun0 -s 172.19.10.0/24 -d 172.19.7.150/32 -p tcp -m tcp --dport 53 -j ACCEPT
iptables -A FORWARD -i tun0 -s 172.19.10.0/24 -d 172.19.7.200/32 -p tcp -m tcp --dport 53 -j ACCEPT
iptables -A FORWARD -i tun0 -s 172.19.10.0/24 -d 172.19.7.250/32 -p tcp -m tcp --dport 53 -j ACCEPT
iptables -A FORWARD -i tun0 -s 172.19.10.0/24 -d 172.19.7.100/32 -p tcp -m tcp --dport 53 -j ACCEPT
iptables -A FORWARD -i tun0 -s 172.19.10.0/24 -d 172.19.7.150/32 -p udp -m udp --dport 53 -j ACCEPT
iptables -A FORWARD -i tun0 -s 172.19.10.0/24 -d 172.19.7.200/32 -p udp -m udp --dport 53 -j ACCEPT
iptables -A FORWARD -i tun0 -s 172.19.10.0/24 -d 172.19.7.250/32 -p tcp -m udp --dport 53 -j ACCEPT
iptables -A FORWARD -i tun0 -s 172.19.10.0/24 -d 172.19.7.100/32 -p tcp -m udp --dport 53 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
------------------------------------------------------------------------------------------------------------------------

O novo problema e so ping para o 172.19.7.150 não ping para as outras maquina!


Pessoal tavez isso ajude. eu tava com o mesmo problema, inseri no arquivo server.conf a linha : client-to-client entao pingara entre as maquinas client e servidor.

[17] Comentário enviado por jairredes em 29/06/2013 - 21:20h

Ola,
Gostaria de saber o que é nescessario configurar no servidor:

Tem que mexer no roteador para configurar redirecionamento de ip?
Como o cliente vai 'enxergar' o servidor se tenho um ip internet dinamico?


obrigado pela atenção,
Jair

[18] Comentário enviado por mbrainiac em 04/10/2013 - 12:24h

Olá tive problemas no passo ./build-key-server Nome do Servidor

Dá este erro:

http://img10.imageshack.us/img10/5387/km3u.png

[19] Comentário enviado por mbrainiac em 08/10/2013 - 11:28h

Travei na parte de 'reforçando a segurança" depois de ./build-dh
#cd /etc/openvpn/easy-rsa/keys
keys#opevpn - -genkey - -secret chave.key
Option Error: I'm trying to parse "- " as an --option parameter but I don't see a leading '--'

Use --Help for more information


parece que o comando"opevpn - -genkey - -secret chave.key" tem outro parâmetro

[20] Comentário enviado por EderAC em 16/03/2014 - 07:22h


[19] Comentário enviado por mbrainiac em 08/10/2013 - 11:28h:

Travei na parte de 'reforçando a segurança" depois de ./build-dh
#cd /etc/openvpn/easy-rsa/keys
keys#opevpn - -genkey - -secret chave.key
Option Error: I'm trying to parse "- " as an --option parameter but I don't see a leading '--'

Use --Help for more information


parece que o comando"opevpn - -genkey - -secret chave.key" tem outro parâmetro




.... tire os espaços do - - (--) que funciona :D...!!!

[21] Comentário enviado por EderAC em 27/05/2014 - 21:31h

Eu consegui fazer pingar em modo tap com protocolo tcp

Configuração do server

##Protocolo de Conexão
proto tcp
# Porta do servico
port 1194
# Drive da interface
dev tap
# Atribui endereços dinâmicos a vários clientes, ips para o túnel VPN
server 192.168.0.0 255.255.255.0
# Acrescenta rotas aos clientes, informações da rede local
push "route 172.16.10.0 255.255.255.224"
push "dhcp-option DNS 172.16.10.1"
push "dhcp-option WINS 172.16.10.1"
# Configurações adicionais no cliente
push "ping 10"
push "ping-restart 60"
# Rotas do servidor
#route 10.0.0.0 255.255.255.0
client-to-client
# Compactacao lib LZO
comp-lzo
keepalive 10 120
float
ifconfig-pool-persist /etc/openvpn/ipp.txt
max-clients 10
persist-key
persist-tun
log-append /var/log/openvpn.log
verb 6
# Servidor TLS
tls-server
# Chaves necessárias
dh /etc/openvpn/keys/dh1024.pem
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/debian.crt
key /etc/openvpn/keys/debian.key
# Chave secreta do servidor
tls-auth /etc/openvpn/keys/chave.key
status /var/log/openvpn.stats
;
Com o servidor VPN em uma classe diferente das interfaces do servidor fisico (logico), e sem a necessidade de uma rota, como podem perceber está comentada (#). E também a não menos importante, a regra de direcionamento de porta no iptables:

iptables -t nat -s 192.168.0.0/24 -A POSTROUTING -o eth1 -j MASQUERADE

lembrado que o arquivo de configuração do cliente também tem que ser mudado para tap e tcp... isso aew galera flw!






[22] Comentário enviado por vincentlinux em 28/07/2014 - 15:03h

Ola! sou usario do Debian, particularmente gosto muito dessa distribuição

Usei deu post como base para criar uma VPN e funcionou correto, no inicio tive alguns problemas para me conectar ao servidor, pensei que fosse meu firewall, mas descobri que era o modem ADSL, pois precisei retirecionar a conexao para o IP do meu servidor feito isso, tudo certo.

Bom, quando criei a VPN cadastrei apenas um cliente, agora preciso cadastrar pelo menos mais 10, a pergunta é preciso fazer tudo de novo ou tem algum meio para cadastrar novos clientes?

grato


[23] Comentário enviado por alex--gba em 01/10/2015 - 16:27h

Boa tarde!
Sou novo em linux e estou com algumas duvidas de como configurar uma VPN.
MEu cenário consiste no seguinte:

1. Maquina com Windwos 7 com apenas uma placa de rede IP:192.168.0.10

1. Maquina com Debian com duas placas de redes "ETH0=onde recebe a internet/ IP:177.103.134.220 " e "eth1=onde distribuo a internet para rede local que seria a maquina com Windos 7 a primeira que falei IP:192.168.0.1"
1. Maquina com Windwos 7 que será a maquina que usarei para acessar a primeira maquina com Windows 7 que mencionei acima IP:DHCP .

Minha duvida e a seguinta quais informações devo colocar no push "route xxx.xxx.x.x xxx.xxx.xxx.x" ,push "dhcp-option DNS xxx.xxx.x.xxx".push "dhcp-option WINS xxx.xxx.x.xxx" do arquivo serv.conf com as informações que passei?
E quais informações devo colocar no remote xxx.xxx.xxx.xxx do arquivo cliente com as informações que passei?



Agradeço pela ajuda desde já.

[24] Comentário enviado por amaxsilva em 13/10/2016 - 16:10h

olá, boa tarde, estou seguindo este tutorial, porem fiz os primeiros passos , mas quando busco o arquivo /usr/share/doc/openvpn/examples, dentro dele não possui o easy-rsa, dai em diante não consigo prosseguir a instalação, podem me ajudar ?

[25] Comentário enviado por felipelinux3ds em 10/04/2017 - 01:33h

Esses comandos funcionam no ubuntu serve?
Pois pelo menos aqui n.

[26] Comentário enviado por zurczurc em 23/08/2017 - 10:15h

Excelente artigo, mas preciso conectar a uma vpn corporativa, me forneceram um arquivo .ovpn que tem dentro os endereços de configuração com varias chaves de certificado e chaves de autenticação. No windows foi ultra simples instalei o cliente e coloquei o arquivo na pasta config, mas no Linux .


Cesario


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts