OpenVPN – Servidor Ubuntu 10.04 LTS e Clientes Windows

Post original em Viva o Linux  / Autor: José Rodrigues Filho <suporte at joserodriguesfilho.com> – Data: 27/08/2012

Introdução

Reconheço que existem vários tutoriais aqui VOL, mas quando estava configurando minha própria VPN, tive algumas dúvidas em alguns artigos. Tudo estava certo, a VPN conectava, mas não tinha acesso ao servidor.

Então, estou postando a “receita de bolo” à minha maneira.

Pré-requisitos:

  • Servidor Ubuntu 10.04 LTS;
  • Cliente com Windows XP, ou superior, instalado.

Cenário:

Instalação do servidor OpenVPN

$ sudo apt-get install openvpn

Após a instalação, entre na pasta do OpenVPN, copie os arquivos de exemplo de configuração da pasta /usr/share/doc/openvpn/examples/easy-rsa/2.0/, para a pasta /etc/openvpn:

$ cd /etc/openvpn/
$ sudo cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/

Entre na pasta 2.0:

$ cd 2.0/

Edite o arquivo “vars”, ajustando as últimas linhas:

$ sudo vim vars

export KEY_COUNTRY=”BR”
export KEY_PROVINCE=”SP”
export KEY_CITY=”FcoDaRocha”
# Coloque o nome da sua empresa abaixo
export KEY_ORG=”Ubuntu”
export KEY_EMAIL=”meuemail@meu_provedor.com”

Entre como root:

$ sudo su

Agora, execute os comandos abaixo, um de cada vez:

# source ./vars

Você vai receber a seguinte mensagem:

NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/2.0/keys

# ./clean-all

Ao rodar o comando abaixo, tecle ENTER apenas para ele completar as informações já adicionadas em “vars”.

Ao chegar em: Organizational Unit Name (eg, section) []

– Colocar: TI
– Em Name []: Coloque exatamente como preenchido no arquivo “vars”, no nosso exemplo, vai ficar Ubuntu

# ./build-ca

Certificados

Criação do Certificado do Servidor

É necessário a geração de um certificado para o servidor OpenVPN:

# ./build-key-server vpn

Como dissemos anteriormente, em:

  • Organizational Unit Name (eg, section) []:TI
  • Name []: vpn

Não atribuir um challenge password.

Confirme a assinatura e a atualização do certificado com a tecla ‘y’.

Todos os arquivos foram gerados na pasta “keys”:

# ls keys/

ca.crt – Certificado Público de sua CA.
ca.key – Chave Privada de sua CA.
index.txt – Controle das chaves geradas pela nova CA.
serial – Controle de número serial das chaves geradas pela nova CA.
server.crt – Certificado público do servidor OpenVPN.
server.key – Chave privada do servidor OpenVPN.

Criando Certificados para Clientes

Para cada novo cliente VPN de sua rede, é necessário criar um certificado exclusivo.

Troque “nome-do-cliente” por um nome único e exclusivo para cada cliente. Ele será o Common Name do certificado gerado.

É importante que no “nome-do-cliente” não haja espaços em branco, nem caracteres especiais ou acentuados. Até é possível, mas se você não usá-los, terá menos problemas.

* Lembre-se de responder às perguntas adequadamente. Elas já virão pré preenchidas pelos valores de “vars”, então, apenas aperte ENTER, e em “Organizational Unit Name (eg, section) []:”, recomendo colocar TI, e em “Name []:”, recomendo colocar joserf

Recomendo não atribuir um challenge password.

Confirme a assinatura e a atualização do certificado com a tecla ‘y’.

# ./build-key joserf
# ./build-key reinaldo

Neste momento, já crio todos os usuários que terão acesso, para poupar o trabalho.

Agora, parâmetros do Diffie-Hellman:

# ./build-dh

Agora, voltamos para a pasta do OpenVPN:

# cd /etc/openvpn

Saia do root.

E criaremos um link simbólico para facilitar:

$ sudo ln -s 2.0/keys keys

Arquivo de configuração

Dentro da pasta /etc/openvpn, crie um arquivo chamado “vpn.conf”:

$ sudo vim vpn.conf

Copie e cole o exemplo abaixo:

dev tun0
port 6999
proto udp
ca keys/ca.crt
cert keys/vpn.crt
key keys/vpn.key
dh keys/dh1024.pem
server 10.15.0.0 255.255.255.0
push “route 10.15.0.0 255.255.255.0”
keepalive 10 120
max-clients 5
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
verb 3

O IP do servidor OpenVPN, no nosso caso, vai ser: 10.15.0.1

$ sudo /etc/init.d/openvpn restart

Arquivos principais para o cliente

Agora, copie os arquivos do servidor para o cliente Windows XP:

# cd /etc/openvpn/keys

Pegue esses 3 arquivos abaixo, para usarmos no próximo passo:

  • ca.crt
  • joserf.crt
  • joserf.key

Configurando a Máquina Cliente

 

Faça o download do arquivo em:

Após a instalação, cole os arquivos “ca.crt”, “joserf.crt” e “joserf.key” para a pasta C:Arquivos de programasOpenVPNconfig, no Windows XP.

Agora, com a ajuda de um editor de texto (recomendo o GEdit para Windows), crie um arquivo nesta mesma pasta “config” chamado joserf.ovpn, e cole o seguinte conteúdo:

client
dev tun0
# Porta usada para conexão caso remover essa linha ele busca a 1194
port 6999
proto udp
# Endereço de IP (REAL) para os clientes fecharem a conexão, caso não tenha um ip real é possível configurar aqui um endereço no-ip ou dyndns.
remote 200.154.56.80# Exemplo:
remote seuendereço.dyndns.org

ca ca.crt
cert joserf.crt
key joserf.key
tls-client
# Envia um ping a cada 10 segundos e cancela a conexão se não houver resposta em 120 segundos.
keepalive 10 120
comp-lzo
persist-key
persist-tun
# Nível de Log.
verb 3

Abra o OpenVPN Connect, localizado no desktop, ele vai aparecer do lado do relógio do Windows:

Clique em “connect” e aguarde estabelecer a conexão:
Faça um teste para ver se esta tudo OK pelo prompt:> ping 10.15.0.1

No meu caso, instalei o Apache para fazer um teste:
Pronto!Seu servidor VPN está funcionando.🙂

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: