Professional Documents
Culture Documents
Utilizaremos como ferramentas os aplicativos openVPN, para gerenciamento da rede virtual, tanto
para os servidores e cliente, o openSSL para gerar os certificados necessários para a nossa segurança e
para aqueles que têm um link de internet com IP dinâmico, mostrarei de forma bem sucinta, como
utilizar um domínio dinâmico tornando fácil o acesso ao servidor openVPN.
Caso você tenha um IP fixo em sua empresa, não há a necessidade de utilizar um cadastro em um
sistema de IP dinâmico, pode começar configurando pelo 3° passo.
1° passo:
Conta criada:
z Usuário: Pedro
z E-mail: pedro@meudominio.com.br
z Senha: senhadopedro
z Domínio IP dinâmico: meudominio.dyndns.info
Obs.: Após criar a conta, não se esqueça de ativar o domínio dinâmico configurado acessando na
página www.dyndns.org, clicar em My Hosts, clique no domínio configurado e ative o domínio criado.
2° passo:
Instalar no servidor o cliente ddclient, que será responsável por atualizar o IP na página dyndns.com
quando alterado.
Após a realização do download do ddclient, realizado pelo gerenciador de aplicativos, abrirá uma tela
de configuração solicitando:
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=12260 27/03/2011
Instalando e configurando openVPN no Debian Lenny [Artigo] Página 2 de 10
3° passo:
4° passo:
Copiar para o diretório /etc/openvpn os scripts do openvpn para facilitar nossas vidas, no Debian
encontramos estes scripts no diretório /usr/share/doc/openvpn/examples/easy-rsa/2.0/ copiamos todo o
conteúdo deste diretório para /etc/openvpn/easy-rsa/.
# mkdir /etc/openvpn/easy-rsa
# cp -rp /usr/share/doc/openvpn/examples/easy-rsa/2.0/. /etc/openvpn/easy-rsa/
5° passo:
export KEY_COUNTRY="US"
export KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="me@myhost.mydomain"
export KEY_COUNTRY="SEUPAIS"
export KEY_PROVINCE="SEUESTADO"
export KEY_CITY="SUACIDADE"
export KEY_ORG="Sua Empresa"
export KEY_EMAIL="emailadministrador@suaempresa.com.br"
Obs.: Por padrão, os certificados criados, são configurados para expirar em 3650 dias, caso queira
diminuir este período para algum cliente, antes de gerar as chaves editamos no arquivo vars e
alteramos o parâmetro "export KEY_EXPIRE=3650" e no local de 3650 colocamos o valor que
acharmos necessário, após essa alteração precisamos executar "source vars" para que sejam carregadas
as variáveis editadas no arquivo vars.
# source vars
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=12260 27/03/2011
Instalando e configurando openVPN no Debian Lenny [Artigo] Página 3 de 10
6° passo
Criamos o diretório keys dentro de /etc/openvpn/easy-rsa, onde será criada todos os certificados:
# mkdir /etc/openvpn/easy-rsa/keys
Caso este diretório já exista e você queira apagar todas as informações contidas nele, você pode
executar na linha de comando:
# /etc/openvpn/easy-rsa/./clean-all
ATENÇÃO: Este script clean-all só deve ser executado uma vez, a não ser que você queira limpar
todas as chaves e certificados criados do servidor e usuários da sua VPN para configurar tudo
novamente.
7° passo:
Vamos agora gerar o certificado raiz, no diretório /etc/openvpn/easy-rsa encontramos o script build-ca,
executamos:
# /etc/openvpn/easy-rsa/./build-ca
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=12260 27/03/2011
Instalando e configurando openVPN no Debian Lenny [Artigo] Página 4 de 10
Podemos observar que ele sugere em alguns campos as variáveis que editamos no arquivo vars, caso
isso não aconteça e porque você esqueceu de executar o comando source vars ou não editou o arquivo
vars adicionando suas informações.
z ca.crt
z ca.key
z index.txt
z serial
8° passo:
Agora geramos o certificado do servidor, muita atenção agora, precisamos executar o script build-key-
server mais um nome qualquer como referência do servidor, este nome será informado quando o script
perguntar:
# /etc/openvpn/easy-rsa/./build-key-server nomeescolhido
Depois você terá a opção de digitar uma senha que será solicitada toda vez que o usuário conectar à
VPN, eu deixei em branco:
Finalizando o script será perguntado se você quer inscrever este certificado, você pressionará "y" para
as duas solicitações:
9° passo:
Da mesma forma que geramos o certificado do servidor agora precisamos gerar o certificado para os
usuários da VPN, também precisamos definir um common name para os certificados dos usuários.
Para os certificados dos usuários usamos o script build-key:
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=12260 27/03/2011
Instalando e configurando openVPN no Debian Lenny [Artigo] Página 5 de 10
# /etc/openvpn/easy-rsa/./build-key usuariodavpn
Obs.: Toda vez que você precisar gerar um novo certificado é preciso executar o comando source vars
no diretório /etc/openvpn/easy-rsa mesmo não tendo alterado as opções do arquivo vars.
ATENÇÃO: Não execute o comando clean-all caso não queira criar todos os certificados novamente.
10° passo:
Para reforçar a segurança e permitir a troca de chaves entre o servidor e os clientes no momento da
conexão, executamos o script build-dh sem utilizar parâmetros com o script.
# /etc/openvpn/easy-rsa/./build-dh
11° passo:
Criamos uma assinatura secreta como chave para o servidor executando o comando:
Após criada a chave podemos copiá-la para o diretório /etc/openvpn/easy-rsa/keys para manter um
padrão de diretórios utilizados.
Por padrão, os scripts executados acima, geram as chaves e certificados necessários para o servidor e o
cliente no diretório /etc/openvpn/easy-rsa/keys.
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=12260 27/03/2011
Instalando e configurando openVPN no Debian Lenny [Artigo] Página 6 de 10
12° passo:
# mkdir /etc/openvpn/Keys
E copiamos para o diretório criado acima, os seguintes arquivos: dh1024.pem, ca.crt, servervpn.crt,
servervpn.key, chave.key.
13° passo:
# vim /etc/openvpn/server.conf
##Protocolo de conexão
#proto tcp / proto udp
proto udp
# Porta do servico
port 1194
# Drive da interface
dev tun
# Atribui enderecos dinamicos a varios clientes, ips para o túnel VPN
server 10.0.0.0 255.255.255.0
# Acrescenta rotas aos clientes, informações da rede local
push "route 192.168.0.0 255.255.255.0"
push "dhcp-option DNS 192.168.0.1"
push "dhcp-option WINS 192.168.0.1"
# Configuracoes adicionais no cliente
push "ping 10"
push "ping-restart 60"
# Rotas do servidor
route 10.0.0.0 255.255.255.0
# Compactacao lib LZO
comp-lzo
keepalive 10 120
float
#ifconfig-pool-persist ipp.txt
max-clients 10
persist-key
persist-tun
log-append /var/log/openvpn.log
verb 6
# Servidor TLS
tls-server
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=12260 27/03/2011
Instalando e configurando openVPN no Debian Lenny [Artigo] Página 7 de 10
# Chaves necessarias
dh /etc/openvpn/keys/dh1024.pem
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/servervpn.crt
key /etc/openvpn/keys/servervpn.key
# Chave secreta do servidor
tls-auth /etc/openvpn/keys/chave.key
status /var/log/openvpn.stats
# /etc/init.d/openvpn restart
Dicas de firewall:
Fique a vontade para restringir os acessos da maneira que convier. As regras apresentadas acima
permitirão aos usuários da VPN acesso livre aos sistemas de sua empresa.
Para observar se a porta utilizada no arquivo acima está ativa podemos digitar na linha de comando:
Se você trocou o protocolo de comunicação para tcp, altere o comando "netstat -nau ..." para "netstat -
nat ...".
Se você digitar na linha de comando ifconfig provavelmente terá informações do dispositivo virtual
configurado no arquivos acima.
# ifconfig
tun0
Link encap:NAo Especificado
Endereço de HW 00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet end.: 10.0.0.1 P-a-P:10.0.0.2 Masc:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metrica:1
RX packets:19802 errors:0 dropped:0 overruns:0 frame:0
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=12260 27/03/2011
Instalando e configurando openVPN no Debian Lenny [Artigo] Página 8 de 10
No diretório /etc/openvpn criamos o diretório keys e copiamos para este diretório criado as seguintes
chaves criadas no servidor: dh1024.pem, ca.crt, usuariodavpn.crt, usuariodavpn.key, chave.key.
Dica: Se sua empresa tiver IP fixo e você preferiu não configurar o serviço de domínio dinâmico, no
arquivo abaixo no campo "remote meudominio.dyndns.info" altere para "remote SEUIPVÁLIDO".
client
dev tun
proto udp
remote meudominio.dyndns.info
port 1194
persist-key
persist-tun
pull
comp-lzo
keepalive 10 120
float
tls-client
persist-tun
persist-key
dh /etc/openvpn/keys/dh1024.pem
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/usuariodavpn.crt
key /etc/openvpn/keys/usuariodavpn.key
tls-auth /etc/openvpn/keys/chave.key
route-method exe
route-delay 2
Se você digitar na linha de comando ifconfig provavelmente terá informações do dispositivo virtual
configurado no arquivos acima.
# ifconfig
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=12260 27/03/2011
Instalando e configurando openVPN no Debian Lenny [Artigo] Página 9 de 10
tun0
Link encap:Não Especificado
Endereço de HW 00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet end.: SEUIP P-a-P:IPSERVIDOR Masc:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Métrica:1
RX packets:19802 errors:0 dropped:0 overruns:0 frame:0
TX packets:19433 errors:0 dropped:0 overruns:0 carrier:0
colisões:0 txqueuelen:100
RX bytes:4724842 (4.5 MiB) TX bytes:7234934 (6.8 MiB)
Como cliente Windows utilizei o Windows XP, mas já configurei o cliente no Windows 7 e funciona
perfeitamente.
z http://www.openvpn.net/release/openvpn-2.1.3-install.exe
Instalamos mantendo as opções padrões do sistema, famoso next, next, continuar assim mesmo, next e
finish.
Dica: Se sua empresa tiver IP fixo e você preferiu não configurar o serviço de domínio dinâmico, no
arquivo que será criado abaixo, no campo "remote meudominio.dyndns.info" altere para "remote
SEUIPVÁLIDO".
Neste diretório criamos um novo diretório keys e copiamos para este diretório criado (keys) as
seguintes chaves criadas no servidor: dh1024.pem, ca.crt, usuariodavpn.crt, usuariodavpn.key,
chave.key.
client
dev tun
proto udp
remote meudominio.dyndns.info
port 1194
pull
comp-lzo
keepalive 10 120
float
tls-client
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=12260 27/03/2011
Instalando e configurando openVPN no Debian Lenny [Artigo] Página 10 de 10
persist-tun
persist-key
dh keys/dh1024.pem
ca keys/ca.crt
cert keys/usuariodavpn.crt
key keys/usuariodavpn.key
tls-auth keys/chave.key
route-method exe
route-delay 2
Clicamos em Iniciar > Programas > OpenVPN > e clicamos em OpenVPN GUI, este abrirá próximo
ao seu relógio, clique com o botão direito do mouse e em conectar.
Acredito que sua rede privada virtual já esteja funcionando, como dica não utilize a faixa de IP de sua
empresa para sua VPN em alguns casos pode dificultar na criação das rotas e para o cliente Windows
XP ou Windows 7 o usuário da VPN precisa ser administrador local para criar as rotas de acesso.
Referências:
z http://openvpn.net/index.php/access-server/howto-openvpn-as.html
z http://www.guiadohardware.net/tutoriais/openvpn/
z http://www.dicas-l.com.br/arquivo/implementando_solucoes_com_o_openvpn.php
http://www.vivaolinux.com.br/artigo/Instalando-e-configurando-openVPN-no-Debian-Lenny
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=12260 27/03/2011