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 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, 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 keys/ca.crt
|# Certificado Servidor
|cert keys/servidor.crt
|# Chave servidor
|key keys/servidor.key
|# Diffie Hellman
|dh 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
|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
( lembrando de executar isso dentro do diretório do openvpn)
# source ./vars
# ./clean-all
Em seguida, executar o seguinte script.
# ./build-ca.
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 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, no entanto no item name, alterar. EX: cliente
# ./build-key cliente
Agora executar o script para gerar o certificado do cliente. Proceder do mesmo modo do item acima, 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
# ./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
------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
Finalizando, Baixe e instale o cliente do Open VPN no link abaixo para ambiente windows
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. È só executar o OpenVpn GUI e o mesmo irá conectar.
Dúvidas, é só postarem.
Até a proxima =D
./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
# ./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
------------------------------------------------------------------------------------------------
client
dev tun
proto udp
remote IPDOSERVIDOR 1194
script-security 2 system
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt # nome do CA que foi criado
cert cliente.crt # nome da certificado do cliente
key cliente.key # nome da chave do cliente
ns-cert-type server
comp-lzo
verb 3
ip-win32 netsh
ping 10
ping-restart 60
----------------------------------------------------------------------------------------
Finalizando, Baixe e instale o cliente do Open VPN no link abaixo para ambiente windows
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. È só executar o OpenVpn GUI e o mesmo irá conectar.
Dúvidas, é só postarem.
Até a proxima =D