Instalando OpenVPN no Linux
Autor: Leandro | Publicado: 2011-11-29T13:39:00-03:00



Olá Galera, neste post vou ensinar como instalar e configurar o Openvpn no Linux no modo Road Warrior, ou seja cliente-servidor.

A distribuição que usei foi o Debian, portanto algumas configurações podem variar de distribuição.

Vamos lá...mão na massa

Primeiramente &nbsp;dar o seguinte comando no shell para instalação.

# apt-get install openvpn openssl

Em seguida, mover os scripts de instalação do VPN para o diretório /etc/openvpn

# mv /usr/local/share/doc/openvpn/easy-rsa /etc/openvpn/

Agora edite a configuração do Daemon para quando reiniciarmos ele achar o arquivo de configuração.

# vim /etc/init.d/openvpn

Procurar pela linha CONFIG_DIR e acrescentar o caminho dos arquivos de configuração da VPN

/etc/openvpn/easy-rsa/2.0

Em seguida, &nbsp;crie o arquivo de configuração da VPN dentro do diretório /etc/openvpn/easy-rsa/2.0/ e coloque os seguintes parâmetros

# vim servidor.conf
---------------------------------------------------------------------------------------------------------


|# Identifica como servidor e habilita o multi-client|Mode server|#Iniciar a interface tun|dev tun|# Porta VPN padrão 1194|port 1194|# Protocolo UDP (maior desempenho)|proto udp|# Ativar Criptografia TSL|tls-server|# Certificado CA |ca&nbsp; keys/ca.crt|# Certificado Servidor|cert keys/servidor.crt|# Chave servidor|key&nbsp; keys/servidor.key|# Diffie Hellman|dh&nbsp; keys/dh1024.pem|#client-config-dir ccd|# IP REDE vpn clientes|server 10.8.0.0 255.255.255.0| IP VPN |ifconfig 10.8.0.1 255.255.255.0|# Rede Interna exportada|push "route 192.168.0.10 255.255.255.0"||# Logs |status /var/log/openvpn/servidor-status.log|log-append /var/log/openvpn/servidor.log|# Mantém conexões ativas&nbsp;|keepalive 10 120|# Clientes Máximos|max-clients 15|# Habilita a compressão de pacotes ( melhora o desempenho)|comp-lzo|user nobody|group nogroup|persist-key|persist-tun|# Nível de logs gerados|verb 3
----------------------------------------------------------------------------------------------------------

Agora, edite o arquivo var que está dentro do diretório abaixo:

vim /etc/openvpn/easy-rsa/2.0/var

Preencha os campos abaixo, conforme necessidade.
----------------------------------------------------------------------------------------------------

|export KEY_COUNTRY="BR"|export KEY_PROVINCE="SP"|export KEY_CITY="SÃOPAULO"|export KEY_ORG="EMPRESA"|export KEY_EMAIL="LEANDRO@EMPRESA.COM.BR"---------------------------------------------------------------------------------------------------
Em seguida criar o diretorio Keys onde ficarão as chaves dentro da pasta /easy-rsa/
# mkdir keys
A partir de agora iremos gerar o certificado.
O primeiro e o segundo comando irão limpar as chaves e os certificados contidos dentro do diretório var&nbsp;( lembrando de executar isso dentro do diretório do openvpn)
# source ./vars# ./clean-all
Em seguida, executar o seguinte script.
# ./build-ca.&nbsp;
No meu caso preenchi Organizational Unit como "TI" e Name: como "CERT". Não tem necessidade de preencher o resto.
Agora executar o comando para gerar a chave do servidor.Lembrar de preencher o mesmo Organization TI &nbsp;que você utilizou para gerar a CA e no name digitar o nome do certificado do servidor. Ex: server
# ./build-key-server

Agora executar o script para gerar o certificado do cliente. Proceder do mesmo modo do item acima, &nbsp;no entanto no item name, alterar. EX: cliente

# ./build-key cliente
Por fim gerar os parâmetros Diffie-Hellman, Dependendo da máquina, este processo pode demorar um pouco.

./build-dh

Se quiser agregar uma camada extra de segurança execute o seguinte comando

# openvpn -genkey -secret /etc/openvpn/easy-rsa/2.0/keys/ta.keys.

Agora vamos criar os arquivos de log do VPN.


# touch /var/log/openvpn/servidor-status.log
# touch /var/log/openvpn/servidor.log

Podemos configurar o nível de log de 0 até 9, sendo que nível 0 só mostra erro fatal e o 9 ( barulhento) ideal para procura de error.

Agora vamos dar um start no Openvpn para ver se está tudo funcionando

# &nbsp;./etc/init.d/openvpn start

Finalizando...
Agora vamos criar o arquivo de conf do cliente, onde o mesmo ficará dentro do arquivo de configuração do cliente open-vpn.

# vim cliente.ovpn
------------------------------------------------------------------------------------------------

clientdev tunproto udpremote IPDOSERVIDOR 1194script-security 2 systemresolv-retry infinitenobindpersist-keypersist-tunca ca.crt # nome do CA que foi criadocert cliente.crt &nbsp;# nome da certificado do cliente&nbsp;key cliente.key &nbsp; # nome da chave do clientens-cert-type servercomp-lzoverb 3ip-win32 netshping 10ping-restart 60
----------------------------------------------------------------------------------------
Finalizando, Baixe e instale o cliente do Open VPN no link abaixo para ambiente windows

&nbsp; &nbsp;http://openvpn.net/index.php/open-source/downloads.html

Agora que está tudo rodando copie o ca.crt, cliente.crt, cliente.key e cliente.ovpn que estão no diretório /keys dentro do arquivo config do diretório do Openvpn no Windows.

Pronto. &nbsp;È só executar o OpenVpn GUI e o mesmo irá conectar.

Dúvidas, é só postarem.

Até a proxima =D