Pular para o conteúdo principal

OpenVPN no CentOS

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.

Comentários

  1. Parece dificil pra quem vai fazer a primeira vez. Mas é muito mais simples do que parece.

    ResponderExcluir
  2. grande trabalho :) , isto é em centos 5 certo? estou a tentar em centos 6

    ResponderExcluir
  3. Estou vendo agora algumas opções extras para configuração do OpenVPN...

    como por exemplo a lista de revogação (CRL). Importante isso né? não pode ficar sem.

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

[VMWare ESXi 6] - Suporte à placa de rede Realtek 8139

Essa placa não é suportada nativamente pelo ESXi. Para usar uma dessas placas precisei seguir os assoa abaixo:

Envie para o datastore o seguinte arquivo: https://www.dropbox.com/s/840jcwj93yed1wr/rtl8139.vib?dl=0

Execute essa sequência de comandos via SSH:

esxcli software acceptance set --level=CommunitySupported
esxcli software vib install -v /vmfs/volumes/datastore1/isos/rtl8139.vib

Reinicie o sistema e a placa deverá ser reconhecida.

:wq!

CentOS 7 + OMD (Open Monitoring Distribution )

yum install wget -y
wget https://labs.consol.de/repo/stable/rhel7/x86_64/labs-consol-stable-1.3-1.rhel7.noarch.rpm
yum localinstall labs-consol-stable-1.3-1.rhel7.noarch.rpm -y
yum install omd -y
Após a instalação ser concluída, crie e inicie a nova instância do OMD:

omd create nome_do_siteomd start nome_do_site
Para visualizar e alter algumas configurações :

omd config nome_do_site
== OBS
O firewall do CentOS não permite conexões às porta 5000 por padrão (A porta 5000 é a default para o primeiro site OMD). Uma solução rápida (apenas em laboratório):

iptables -F
== Acesse o servidor:
http://ip_do_servidor:5000/nome_do_site
Usuário: omdadmin
Senha: omd

== Main informações
Mais informações em: http://omdistro.org/