Usamos cookies para garantir a melhor experiência de utilização no Pplware.com - Saiba mais sobre os nossos cookies
Ok

OpenVPN – Como criar uma rede privada virtual

Uma rede privada virtual (VPN – Virtual Private Network ) é uma rede cifrada e privada criada por cima da Internet, de maneira a garantir privacidade na comunicação entre os vários computadores.

Esta rede não necessita de estar no mesmo local físico, podendo-se configurar qualquer computador em quase qualquer lado para integrar a mesma rede. É uma rede bastante utilizada por várias instituições, fazendo com que seja possível trabalhar a partir de qualquer lado, como se estivesse na empresa.

Existem vários clientes de VPN que já possam ter usado, como por exemplo o “Hamachi” que é bastante utilizado pelas comunidades de “Gaming”, o OpenVPN, etc.

ovpntech_logo-s


Falando agora um pouco do OpenVPN, este software multi-plataforma permite a criação de uma VPN entre várias máquinas com sistemas operativos diferentes.

O OpenVPN tem como principais funções:

  • Fazer um túnel entre sub-redes ou adaptadores virtuais a partir de um porto TCP ou UDP.
  • Configuração de vários servidores com distribuição de carga para conseguir atender milhares de pedidos de ligações VPN de clientes.
  • Usa toda a biblioteca de cifra e autenticação do OpenSSL para proteger a rede de acessos indevidos.
  • Usa qualquer cifra, tamanho da chave, ou algoritmo de integridade suportado pela biblioteca do OpenSSL.
  • Escolha entre algoritmos de cifra simétrica ou assimétrica.
  • Utiliza algoritmos de compressão para diminuir o tráfego na rede.
  • Configuração de túneis entre clientes com IP dinâmico.
  • Túneis seguros sem ter que utilizar regras especificas nas “firewalls”.
  • Túneis entre NAT.

Configuração de um servidor OpenVPN em Windows XP:

Pré-requisitos:

  • OpenVPN 2.1 rc19 (Servidor e Clientes)
  • Ethernet Bridge 2.0 (Este programa é necessário no servidor, pois ajuda a fazer uma “bridge” entre as duas redes.)
  1. Instalar as aplicações

1.1  Após instalar o OpenVPN

1.1.1        Ir à pasta das Ligações de Rede (Painel de Controlo > Ligações de Rede)
1.1.2        Alterar o nome da placa de rede virtual “Ligação de área local #” com a descrição “TAP-Win32 adapter V9”, para “tap-bridge”.
ligacao_rede

Nota 1: Para alterar o nome da placa de rede virtual basta seleccionar a placa de rede e carregar em F2.

1.2 Após instalar o Ethernet Bridge 2.0 é necessário reiniciar.

2. Ir a pasta onde instalou o OpenVPN (C:\Programas\OpenVPN)

3. Abrir a pasta com o nome “easy-rsa”.
3.1 Copiar os ficheiros contidos na pasta “rsa” do pacote fornecido e colar na pasta “easy-rsa” do OpenVPN.
3.2  Abrir uma consola de DOS na pasta “easy-rsa” do OpenVPN e executar os seguintes comandos:
3.2.1  vars  (Colocação em memória das variáveis do sistema)

vars

Nota 2: É necessário fazer este comando em cada consola nova.

3.2.2 clean-all (Limpeza e criação da nova pasta de chaves)
clean-all
Nota 3:  A pasta “keys” irá conter as chaves e os certificados criados.

3.2.3  build-ca (Constrói a Autoridade Certificadora para assinar os certificados)
build-ca
Nota 4:  No campo “Common Name” escrever o nome do servidor. (ex: pplware)

3.2.4  build-key-server nomeServer ( Cria a chave e o certificado do servidor “nomeServer”)
build-key-server_1

build-key-server_2

Nota 5:  No campo “Common Name” escrever o endereço pelo qual se iram ligar a este (ex: pplware.sapo.pt)

3.2.5   build-dh ( Gera um número primo seguro para ser usado no protocolo Defiie-Hellman. (Demora algum tempo, pode ir tomar café )

build-dh

3.2.6    build-key nomeCliente (Cria a chave e o certificado do Cliente)
build-key_1
build-key-server_2
Nota 6: No campo “Common Name” escrever o nomeCliente.


Nota 7: O campo “Organization Name” tem que ser igual ao da CA.

Nota 8: Os clientes têm que ter nomes diferentes do servidor e de outros clientes.

Nota 9: Fazer este comando para quantos clientes se forem ligar.

4. Criar uma pasta “servidor” na pasta config do OpenVPN (C:\Programas\OpenVPN\config)
4.1  Copiar do pacote o ficheiro “Server.ovpn” e colar na pasta criada.
4.2  Copiar da pasta keys criada no ponto 3.2.2 os ficheiros “ca.crt”, nomeServer.crt, nomeServer.key, “dh2048.pem” e colocar na pasta “servidor”, criada no ponto 3.3.

5. Editar o ficheiro “Server.ovpn” com as seguintes alterações:
5.1  Alterar a primeira linha caso queira alterar o porto da ligação.
5.2  Alterar a linha 2 caso queira alterar o protocolo da ligação.
5.3  Substituir os nomes do certificado do servidor e da respectiva chave, na linha 6 e 7 respectivamente:
“cert server.crt -> cert nomeServer.crt
key server.key -> key nomeServer.key”

5.4  Substituir na linha 9:
5.4.1  O IP “190.160.0.2” pelo IP local da máquina do servidor.
5.4.2 Os IP’s “190.160.0.100” e “190.160.0.109” pelos IP’s para atribuírem aos clientes.

Nota 10: A diferença de IP’s dá a quantidade de clientes para se ligarem. (ex: com os Ip’s que estão em cima podem se ligar 10 clientes.)

5.5  Se quiser que o tráfego dos clientes seja todo redireccionado pelo servidor, basta “descomentar” as linhas 11, 12 e 13 e alterar o endereço IP “190.160.0.1” para o IP da vossa “gateway” e correr o ficheiro “a.reg” para o servidor poder redireccionar o tráfego entre os clientes e o exterior através do servidor.

Nota 11: Para “descomentar” pasta retirar o ‘;’ do inicio da linha.

Breve descrição dos restantes campos no ficheiro de configuração do servidor:

  • keepalive 10 120 – tempo que a ligação é mantida caso a ligação caia.
  • comp-lzo – compressão dos pacotes transmitidos para diminuir o tráfego na rede.
  • client-to-client – Permite ligações entre os clientes.
  • cipher AES-256-CBC – Cifra usada na ligação
  • status openvpn-status.log – Ficheiro de Log
  • verb 3 – nível de Log

6. Correr a aplicação “Ethernet Bridge 2.0” e colocar no campo “Bridge Network Adapters” a placa de rede de onde vem a Internet e a placa de rede virtual “bridge-tap”

ethernet_bridge_1

ethernet_bridge_2

Nota 11: Apenas usar este programa se efectuou o passo 5.5.

Nota importante : Antes de iniciar o servidor é obrigatório fazer o passo 6, pois sem este passo as ligações não funcionaram correctamente.

Não esquecer: Abrir os portos no “router” se for caso disso.

Passando agora à configuração do cliente:
1. Ir ao endereço “C:\Programas\OpenVPN\config\” e criar uma nova pasta.
2. Ir ao pacote e copiar o ficheiro “Client.ovpn” para a pasta criada anteriormente.
3. Editar o ficheiro “Client.ovpn” com as seguintes alterações:
3.1 Alterar a segunda linha caso deseje alterar o protocolo da ligação.
3.2 Na linha 4 alterar o nome “server.domain” para o endereço externo do servidor e definir o porto de ligação à frente. (Ex. “pplware.sapo.pt 465”)
3.3  Alterar os nomes dos ficheiros do certificado do cliente e da respectiva chave:
“cert client.crt -> cert nomeCliente.crt
key client.key -> key nomeCliente.key”
Breve descrição dos restantes campos no ficheiro de configuração do Cliente:

  • cipher AES-256-CBC – cifra usada na ligação
  • comp-lzo – compressão dos pacotes transmitidos para diminuir o tráfego na rede.
  • verb 3 – Nível de Log.

Para ligarem o servidor e o cliente pasta carregar no botão direito do rato em cima do ícone na área de notificação e carregar em “Connect”

ligarOpenVPN

Licença:  GPL license version 2

Sistemas Operativos: Windows XP/Vista/Win7/

Download: OpenVpn_2.1_rc19 [1.60MB]
Homepage: OpenVpn Open Source Project

Ethernet Bridge 2.0

Licença: Freeware
Sistemas Operativos: Windows XP
Download: Ethernet bridge 2.0 [431 KB]
Homepage: NtKernel

Pack

Licença: Freeware
Download: pack [6 KB]



  •   
  •   
  •  
  • Pin It  
  • Imprima este artigo
  • Post2PDF


48 Comentários

  1. Muito bem explicado

  2. Parabéns Francisco !!! Excelente artigo

  3. Execelente artigo, para colocar numa acção formação em COMPUSEC.

  4. Cada cliente gasta 4 IPs: Rede, Server, Cliente e Broadcast…

  5. Não sei se já repararam, mas o site do Pplware está cada vez mais lento nos últimos dias. Não sei se mais alguém já «reclamou», mas vejam lá o que podem fazer, para aumentar a velocidade disto – não é da minha net/browser, pq este é único site em que tenho sentido isso; está demasiado tento a tentar aceder ao site.

    Cumprimentos,

  6. Grande explicação. No entanto uma dúvida: isto dá para MAC ?

  7. Muito bom, agora é fazer com que isto funcione em multi plataforma Windows/Mac/*nix, sei que é possível. :p
    Na minha opinião acho que as redes P2P vão passar a ser P2PoVPN ou algo do género com o pessoal de Hollywood a pressionar tanto… :) Fica a ideia :P

  8. Sim como diz o nosso amigo NT penso que a solução para está pressão toda (com o exemplo da França) será uma derivação, ou adaptação disto.

    Vamos lá ver.

  9. Artigo muito bom.

    Vai fazer muito jeito.

  10. Um óptimo artigo, Francisco!

    Vai directo para os favoritos. ;)

  11. Ta muito bem explicadinho, mas mesmo assim requer algum trabalho :)

    Adei a testar algumas VPN,s para jogar Age of Empires3 com uns amigos.

    Inicialmente usei o Hamachi, mas tem o problema de passar pelos Proxies dedeicados ao programa o que reduz subestancialmente a velocidade, isto na versao free, a versao paga faz ligação directa sem proxies ou servidores pelo meio.

    Agora uso a Comodo VPN http://easy-vpn.comodo.com/ é free facil de usar sem complicaçoes de configuraçao ou proxies ou servidores pelo meio. Com o Age of Empires resulta na perfeiçao :)

  12. O TeamViewer não será mais “descomplicado”?

  13. Preciso de uma explicação para o Windows 7. Pois fiz tudo como diz… só que usando cmd como adm e mesmo assim quando cheguei na parte do ethernet to bridge, as placas não estavam na listagem…

    OBS: uso um modem 3g HUAWEI E156 para me conectar a internet.

  14. Hmm… então… alguém poderia me explicar como fazer uma BRIDGE no windows 7 por favor?

  15. Alguém poderia me ensinar a usar o 7 pra fazer bridge manual?

  16. Licença: Freeware

    A licença do OpenVPN não é open source?

  17. Olá amigo,

    segui seu tutorial, consegui conectar a vpn, meu client pega o ip mas não consigo pingar no servidor…

    tem alguma solução??

  18. Boas..
    Estava a tentar configurar ao seguir os passos (isto é exactamente o trabalho que tenho de fazer para uma cadeira) mas a partir da nota 3 e instrução 3.2.3 buil-ca já não faz nada. Alguém me ajuda?
    Cumps

    • Estando no terminal de DOS e na pasta easy-rsa onde foi instalado o openVPN, tens que correr os comandos de seguida, ou seja o 1o “vars”, depois o “clean-all” e por fim o “build-ca”. Se fechares o terminal tens sempre que correr os 2 comandos iniciais.

      cumprimentos

  19. Eu fiz esse processo, o problema é que a pasta “keys” não existe, e depois ao fazer o “build-ca” dá erro e não pede para efectuar introdução de dados como refere no tópico. Depois disso o resto dos passos deverão dar erro também, poderá ser do windows 7? Falta-me algum ficheiro ou programa?

    Cumprimentos

  20. Boa tarde

    Continuo a obter o mesmo erro, na instrução 3.2.3 “buil-ca” aparecem outros comandos que posso executar mas o em questão não funciona. Alguma ideia/solução?

    Cumprimentos

    • Boa tarde, experimenta correr a janela de DOS em modo de administrador e na pasta “easy-rsa” retira das extensões dos ficheiros a palavra “sample”, por fim refaz o tutorial.

      Cumprimentos

  21. Finalmente consegui, agora só me resta uma dúvida é necessário para o cliente copiar para a pasta de configuração o certificado e key, como feito para o servidor no ponto 4.2?

    Cumprimentos

    • precisas de copiar para a configuração do cliente, o certificado do servidor, o certificado do cliente e a chave do cliente.

      Cumprimentos

  22. Obrigado..
    Cumps

  23. Bom Dia

    Mais uma vez gostava de colocar uma questão, se possível. Depois de tudo configurado coloquei na máquina que será o cliente os ficheiros de configuração do mesmo e na minha os do servidor.
    O curioso é que não consigo ligar ao cliente, mas sim ao servidor e do outro lado não liga nenhum lado. Alguma sugestão?

    Cumprimentos

  24. Boa noite Francisco!

    Parabéns pelo artigo.

    Realizei as configurações exatamente como apresentado. No Common Name do servidor coloquei e no Common Name do cliente coloquei . O arquivo server.ovpn deixei exatamente como o do artigo, já o client.ovpn comentei a linha: remote-cert-tls server, por não ter segurança tls. Em remote, coloquei: e não modifiquei mais nada.

    O dominio é registrado no no-ip e está vinculado a máquina pelo DUC 3.0. O e um nome qualquer para o cliente.

    O servidor eu consigo conectar perfeitamente mas os clientes não consigo, ocorre o seguinte erro: failed, will try again in 5 seconds: Connection timed out (WSAETIMEDOUT).

    Obs:
    1) o acesso a internet é atraves de um roteador sem fio com rede 192.168.1.0.
    2) não realizei o passo 5.5, por isso não coloquei a tap-bridge e a rede local em bridge.

    Acredito ser questão de roteamento mas não sei como resolver.

    Obrigado.

  25. Boa tarde,
    Tenho uma duvida.
    Cenario edentico, mas imaginemos que tenho um leitor biometrico ligado numa filial e na sede quero com o programa de recolha fazer essa recolha.
    OpenVPN serve?

  26. Caros, Muito bom!!

    Fiz o passo-a-passo e deu tudo certo, consigo de qlqr lugar pingar todos os elementos da minha rede.

    Só um problema, preciso os outros elementos via ssh.

    Por que consigo pingar, mas não consigo ssh?

    podem me ajudar?

    desde já agradeço…

Deixe o seu comentário

Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste site ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. O autor deste site reserva-se, desde já, o direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação do seu autor (nome completo e endereço válido de email) também poderão ser excluídos.