Linux - Criando uma VPN com chave estática utilizando o OpenVPN
*Este tutorial foi escrito por um amigo, “Fernando Iury Alves Costa” e de grande utilidade em alguns momentos, para obter mais informações http://www.fernandocosta.eti.br.
O que é o OpenVPN ?
É uma ferramenta open source criada por James Yonan, capaz de criar uma VPN baseada em SSL.
O OpenVPN pode operar com 3 tipos de criptografia. Nenhuma criptografia (apenas o túnel), criptografia com chaves estáticas, e no modo TLS/SSL, em que as chaves são trocadas periodicamente. No nosso exemplo, usaremos chaves estáticas e num próximo artigo abordarei a configuração mais segura (TLS).
Instalando o OpenVPN:
Utilizaremos o apt, caso sua distribuição não o tenha, compile os fontes que podem ser encontrados em http://openvpn.net/
apt-get install openvpn
Configurando a Matriz:
Vamos entrar na pasta onde ficam os arquivos de configuração do OpenVPN
cd /etc/openvpn
e criar a chave criptografada em 2048 bits, que abrirá o túnel:
openvpn –genkey –secret /etc/openvpn/chave.key
Agora vamos criar o arquivo de configuração matriz.conf dentro da mesma pasta:
vi matriz.conf
seu conteúdo deve ser:
dev tun
ifconfig 10.0.0.1 10.0.0.2
cd /etc/openvpn
up ./rotas.up
secret chave.key
port 5000
ping 15
verb 3
Agora vamos criar o arquivo de rotas rotas.up
vi rotas.up
seu conteudo deve ser:
#!/bin/bash
route add -net 10.0.0.0 netmask 255.255.255.0 gw $5
route add -net LAN-FILIAL netmask 255.255.255.0 gw $5
Vamos acertar as permissões:
chmod 600 /etc/openvpn/*
chmod 700 /etc/openvpn/rotas.up
e reestartar o serviço:
/etc/init.d/openvpn restart
Verifique se a interface subiu corretamente:
ifconfig tun0
Instalando a Filial:
Instale o OpenVPN da mesma forma que foi instalado na matriz.
Configurando a Filial:
Entre no diretório de configuração
cd /etc/openvpn
Copie a chave gerada na matriz para a filial com seguinte comando:
scp root@IP_MATRIZ:/etc/openvpn/chave.key /etc/openvpn
Em seguida crie o arquivo de configuração chamado filial.conf:
vi /etc/openvpn/filial.conf
o conteudo de filial.conf deve ser:
dev tun
ifconfig 10.0.0.2 10.0.0.1
remote IP-OU-HOST-MATRIZ
cd /etc/openvpn
up ./rotas.up
secret chave.key
port 5000
ping 15
verb 3
Agora vamos criar o arquivo de rotas rotas.up também na filial:
vi rotas.up
seu conteudo deve ser:
#!/bin/bash
route add -net 10.0.0.0 netmask 255.255.255.0 gw $5
route add -net LAN-MATRIZ netmask 255.255.255.0 gw $5
Vamos acertar as permissões:
chmod 600 /etc/openvpn/*
chmod 700 /etc/openvpn/rotas.up
e reestartar o serviço:
/etc/init.d/openvpn restart
Verifique se a interface subiu corretamente:
ifconfig tun0
Agora basta testar a VPN pingando nas duas pontas:
ping 10.0.0.1
ping 10.0.0.2
Esta é uma maneira simples de implementar uma VPN com a segurança de uma chave 2048 bits. Espero que o artigo sirva de apoio a quem necessitar.
Fernando Iury Alves Costa.