You are on page 1of 5

Tutorial

Instalao do Servidor OpenVPN e Criao da CA


Local
1 Para instalar o OpenVPN no Ubuntu execute:
apt-get install openvpn

2 Aps a instalao, copie os arquivos de exemplo de configurao da


pasta /usr/share/doc/openvpn/examples/easy-rsa/2.0/ para a pasta
/etc/openvpn.
Comando:
cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn

4 Renomeie ou crie uma cpia do arquivo /etc/openvpn/openssl1.0.0.cnf para /etc/openvpn/openssl.cnf.


Comando:
cp /etc/openvpn/openssl-1.0.0.cnf /etc/openvpn/openssl.cnf

5 Edite o arquivo /etc/openvpn/vars ajustando as ltimas linhas iniciadas


por KEY para refletir o seu ambiente.
Conteudo do arquivo /etc/openvpn/vars, alterar apenas o final do
arquivo:
# easy-rsa parameter settings
# NOTE: If you installed from an RPM,
# don't edit this file in place in
# /usr/share/openvpn/easy-rsa -# instead, you should copy the whole
# easy-rsa directory to another location
# (such as /etc/openvpn) so that your
# edits will not be wiped out by a future
# OpenVPN package upgrade.
# This variable should point to
# the top level of the easy-rsa
# tree.
export EASY_RSA="`pwd`"
# This variable should point to
# the requested executables
#
export OPENSSL="openssl"
export PKCS11TOOL="pkcs11-tool"
export GREP="grep"
# This variable should point to
# the openssl.cnf file included
# with easy-rsa.
export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA`
# Edit this variable to point to
# your soon-to-be-created key
# directory.
# WARNING: clean-all will do
# a rm -rf on this directory
# so make sure you define
# it correctly!
export KEY_DIR="$EASY_RSA/keys"
# Issue rm -rf warning
echo NOTE: If you run ./clean-all, I will be doing a rm -rf on $KEY_DIR

# PKCS11 fixes
export PKCS11_MODULE_PATH="dummy"
export PKCS11_PIN="dummy"
# Increase this to 2048 if you
# are paranoid. This will slow
# down TLS negotiation performance
# as well as the one-time DH parms
# generation process.
export KEY_SIZE=1024
# In how many days should the root CA key expire?
export CA_EXPIRE=3650
# In how many days should certificates expire?
export KEY_EXPIRE=3650
# These are the default values for fields
# which will be placed in the certificate.
# Don't leave any of these fields blank.
export KEY_COUNTRY="BR"
export KEY_PROVINCE="SP"
export KEY_CITY="Sao Paulo"
export KEY_ORG="K3V1N"
export KEY_EMAIL="k3v1n-01@hotmail.com"
export KEY_CN="openvpn"
export KEY_NAME="PRIV8"
export KEY_OU="BR4Z1L1AN"

Agora execute os comandos abaixo:


Comando:

cd /etc/openvpn
source /etc/openvpn/vars
/etc/openvpn/clean-all
/etc/openvpn/build-ca
/etc/openvpn/build-dh

Confirme os valores solicitados pelo build-ca, que sero os mesmos


definidos no arquivo /etc/openvpn/vars.

A pasta /etc/openvpn/keys ser gerada e dentro dela, 5 arquivos referentes a nova CA


criada:
1. ca.crt - Certificado Pblico de sua CA.
2. ca.key - Chave Privada de sua CA.
3. dh1024.pem - Parmetros do Diffie-Hellman.

4. index.txt - Controle das chaves geradas pela nova CA.


5. serial - Controle de nmero serial das chaves geradas pela nova CA.

Criao do Certificado do Servidor


Comando:

/etc/openvpn/build-key-server server
Voc pode substituir a palavra server por outra que desejar, s que se
fizer isso, lembre-se de fazer os devidos ajustes no arquivo
/etc/openvpn/server.conf que ser configurado no prximo passo.

Confirme a assinatura e a atualizao do certificado com a tecla 'y'.

Dois arquivos sero gerados na pasta /etc/openvpn/keys:

server.crt - Certificado pblico do servidor OpenVPN.

server.key - Chave privada do servidor OpenVPN.

Configurao do Servidor OpenVPN


A configurao do OpenVPN realizada em qualquer arquivo que termine
em .conf, localizado na pasta /etc/openvpn/. Neste tutorial iremos usar o
arquivo /etc/openvpn/server.conf. Voc pode alterar este arquivo para o
nome que desejar, desde que ele termine em .conf. Voc pode inclusive ter
mais de um servio OpenVPN ouvindo em outras portas, basta configurar
outro arquivo .conf.
1 Crie um /etc/openvpn/server.conf vazio e preencha-o conforme segue.
dev tun
proto tcp-server
port 1723
keepalive 10 120
comp-lzo
persist-key
persist-tun
float
ifconfig-pool-persist /etc/openvpn/ipp.txt
server 10.70.70.0 255.255.255.0
max-clients 10
dh /etc/openvpn/keys/dh1024.pem
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
2 Inicie o OpenVPN executando o comando:
/etc/init.d/openvpn start
3 Verifique seu status com o comando:
/etc/init.d/openvpn status

4 Uma nova interface de rede (tun0) ser criada, conforme ilustra a


execuo do comando ifconfig abaixo.

Criando Certificados para Clientes


Para cada novo cliente VPN de sua rede, necessrio criar um certificado exclusivo.
Isto feito atravs do comando /etc/openvpn/build-key ou /etc/openvpn/build-keypass:
Antes de executar o build-key importante executar source /etc/openvpn/vars para
atribuir as informaes de sua CA s variveis de ambiente da sesso corrente.
Comando:
source /etc/openvpn/vars
/etc/openvpn/build-key nome-do-cliente

Trs novos arquivos sero gerados na pasta /etc/openvpn/keys:

kevin.csr - Solicitao do novo certificado

kevin.crt - Certificado pblico

kevin.key - Chave privada

Ser necessrio copiar estes arquivos para o client Windows.

Instalando e configurando o OpenVPNClientes


Windows
Instalar OpenVPN GUI (OpenVPN 2.3.2 -- releasedon 2013.06.03)
http://openvpn.net/index.php/open-source/downloads.html
Editando arquivo "nome.OVPN", [Exemplo kevin.ovpn]
remote 78.138.104.167
proto tcp
port 1723
client
pull
dev tun
comp-lzo
keepalive 10 120
persist-key
persist-tun
float

dh kevin/dh1024.pem
ca kevin/ca.crt
cert kevin/kevin.crt
key kevin/kevin.key
2 Copiar o arquivo [nome.ovpn], para dentro da pasta [C:\Program
Files\OpenVPN\config], criar uma pasta com o mesmo nome que voc
colocou no arquivo [.ovpn], e copiar os seguintes arquivos dentro dela:
ca.crt
ca.key
dh1024.perm
kevin.crt
kevin.key
3 Abra o software OpenVPN Client, conecte no servidor.

4 Executar o prompt de comando CMD como administrador e digitar os


seguintes comandos:
Verificar Status: route print
route add 172.246.254.65 mask 255.255.255.255 192.168.1.1
route delete 0.0.0.0
route add 0.0.0.0 mask 0.0.0.0 10.70.70.5

Para voltar a navegar normalmente em sua rede local, desconecte a


OpenVPN e digite no prompt de comando Windows:
Comando: Ipconfig /renew