Oba oba!!! \0/
Estou de volta para guardar mais uma informação útil! A instalação do OpenVPN no CentOS. Vou mostrar aqui de maneira bem direta a instalação e configuração que já realizei em diversos ambientes.
STARTING...
1. Instale o repositório RPMForge:
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i386.rpm
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm -K rpmforge-release-0.5.1-1.el5.rf.*.rpm
rpm -i rpmforge-release-0.5.1-1.el5.rf.*.rpm
2. Verifique se o RPMForge aparece na lista de repositórios:
yum check-update
3. Instale o OpenVPN
yum install openvpn -y
4. Iniciando a configuração:
cp -pra /usr/share/openvpn/2.0/easy-rsa /etc/openvpn
cd /etc/openvpn/easy-rsa
. ./vars
./clean-all
./build-ca
5. Criando a chave para o servidor:
./build-key-server server
6. Criando a chave para o cliente:
./build-key cliente
7. Gerando um Diff Hellman (DH) no servidor:
./build-dh
dentro do diretório /etc/openvpn/ encontra-se um arquivo chamado server.conf (se não existir crie ele). Nesse arquivo criamos a seguinte configuração:
8. Exemplo de configuração do servidor:
######################################
# CONFIGURAÇÃO DA VPN BÁSICA INICIAL #
# 13/07/2010 - ALAN MEC LACERDA #
######################################
proto tcp-server
port 1194
dev tap
mode server
tls-server
# Configuração dos certificados
ca easy-rsa/2.0/keys/ca.crt
cert easy-rsa/2.0/keys/server.crt
key easy-rsa/2.0/keys/server.key
dh easy-rsa/2.0/keys/dh1024.pem
# Configuração para prender/amarrar um IP a um determinado cliente
client-config-dir /etc/openvpn/ccd
# usando compressão para otimizar o link
comp-lzo
status openvpn-status.log
server 10.2.2.0 255.255.255.0
# guardar a lista de IPs designados num arquivo de log
ifconfig-pool-persist ippool.log
Aqui termina o arquivo de configuração do servidor. Conforme foi definido na configuração do mesmo, nós estamos usando uma configuração para prender/amarrar um IP específico para o cliente da VPN (isso se dá por que o IP é designado dinâmicamente aos clientes da VPN). Assim, temos de criar o arquivo que amarra o IP ao cliente:
###################################################
# Exemplo de um arquivo dentro do diretório ccd: #
###################################################
# OBSERVAÇÃO: O arquivo DEVE ter o nome do cliente
# (cliente esse que é gerado no arquivo de chave criptográfica:veja passo 6)
# Apenas é necessário a definição do IP classe /30 que
# será designado ao cliente na outra ponta.
ifconfig-push 10.2.2.2 255.255.255.252
O que segue agora é o arquivo que vai ser enviado para o cliente a fim de poder se conectar na VPN do servidor.
9. Exemplo de configuração do cliente:
######################################
# CONFIGURAÇÃO DA VPN BÁSICA INICIAL #
# 13/07/2010 - ALAN MEC LACERDA #
######################################
#Configurações iniciais
client
dev tap
proto tcp-client
#Servidor da VPN e porta a conectar
192.1.1.1 1194
#Otimizando o túnel
persist-key
persist-tun
comp-lzo
resolv-retry infinite
nobind
# Configurações do certificado digital
remote-cert-tls server
tls-client
# Esses arquivos devem ser copiados do servidor para a máquina do cliente
# Observem o caminho para os arquivos e configure corretamente.
ca c:\\tech\\keys\\ca.crt
cert c:\\tech\\keys\\Cliente.crt
key c:\\tech\\keys\\Cliente.key
# Verbose
verb 3
Aqui finaliza a configuração do arquivo do cliente.
FINISHING...
Bem, em termos bem simples, é isso aí a configuração básica para uma VPN usado o tão famoso OpenVPN. Lembre que no cliente será necessário instalar também o software do OpenVPN a fim de se conectar ao servidor.
Espero ter sido se ajuda, e se tiver alguma dúvida pode se sentir a vontade para perguntar.
Forte abraço,
Show! Isso aé fera!
ResponderExcluirParece dificil pra quem vai fazer a primeira vez. Mas é muito mais simples do que parece.
ResponderExcluirgrande trabalho :) , isto é em centos 5 certo? estou a tentar em centos 6
ResponderExcluirEstou vendo agora algumas opções extras para configuração do OpenVPN...
ResponderExcluircomo por exemplo a lista de revogação (CRL). Importante isso né? não pode ficar sem.