Es importante destacar que cuando vamos a transmitir data, voz, entre otros que sea información confidencial es mejor hacerla con este medio de VPN, los procesos que vamos hacer para este ejemplo se efectuó mediante un servidor en Linux (debian 6) y un clientes con SO canaima 3, vamos hacer lo siguiente:
1) Primero vamos a instalar los paquetes necesarios:
root@vpn:~# aptitude install openssl openvpn

2) No vamos a mover a la siguiente ruta:
root@vpn:~# cd /etc/openvpn/

3) Creamos una carpeta donde vamos a tener la configuración del VPN
root@vpn:/etc/openvpn# mkdir easy-rsa

4) Ahora copiamos los archivos que trae el paquete en otra ruta donde vamos a tener la configuración de nuestro VPN
root@vpn:/etc/openvpn# cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0/* easy-rsa/

5) Nos movemos al archivo donde están las los archivos de configuración
root@vpn:/etc/openvpn# cd easy-rsa/
6) Vamos a cambiar la configuración del archivo vars para personalizar de una forma mas optima
root@vpn:/etc/openvpn/easy-rsa# nano vars

# easy-rsa parameter settings
# NOTE: If you installed from an RPM,
# don’t edit this file in place in
# /usr/share/openvpn/easy-rsa —

# instead, you should copy the whole
# easy-rsa directory to another location
# (such as /etc/openvpn) so that your
# edits will not be wiped out by a future
# OpenVPN package upgrade.

# This variable should point to

# the top level of the easy-rsa
# tree.
export EASY_RSA=”`pwd`”

#
# This variable should point to
# the requested executables
#
export OPENSSL=”openssl”
export PKCS11TOOL=”pkcs11-tool”

export GREP=”grep”

# This variable should point to
# the openssl.cnf file included
# with easy-rsa.
export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA`

# Edit this variable to point to

# your soon-to-be-created key
# directory.
#
# WARNING: clean-all will do
# a rm -rf on this directory
# so make sure you define
# it correctly!

export KEY_DIR=”/etc/openvpn/easy-rsa/2.0/keys”

#export KEY_DIR=”$EASY_RSA/keys”

# Issue rm -rf warning
echo NOTE: If you run ./clean-all, I will be doing a rm -rf on $KEY_DIR

# Increase this to 2048 if you
# are paranoid. This will slow

# down TLS negotiation performance
# as well as the one-time DH parms
# generation process.
export KEY_SIZE=2048

# In how many days should the root CA key expire?
export CA_EXPIRE=3650

# In how many days should certificates expire?

export KEY_EXPIRE=3650

# These are the default values for fields
# which will be placed in the certificate.
# Don’t leave any of these fields blank.
export KEY_COUNTRY=”PAIS”
export KEY_PROVINCE=”PROVINCIA”

export KEY_CITY=”CIUDAD”
export KEY_ORG=”NOMBRE ORGANIZACION”
export KEY_EMAIL=”tudireccion@tudominio.com”

7) Procedimiento para generar los certificados con las claves de la siguiente manera
Nota: Cuando te diga:
Sign the certificate? [y/n]
1 out of 1 certificate requests certified, commit? [y/n]
responde afirmativamente [y].
Recuerda también que necesitas generar un certificado para cada cliente

root@vpn:/etc/openvpn/easy-rsa# source ./vars
root@vpn:/etc/openvpn/easy-rsa# sh clean-all
root@vpn:/etc/openvpn/easy-rsa# sh build-ca
root@vpn:/etc/openvpn/easy-rsa# sh build-key-server serverVPN /* common name es el que cambia para los demas */
root@vpn:/etc/openvpn/easy-rsa# sh build-key cliente-1
root@vpn:/etc/openvpn/easy-rsa# sh build-dh

8) Para los clientes vamos a copiar los certificados al cliente1 ca.crt, cliente-1.crt y cliente-1.key (Este solo es un ejemplo) y Dentro de la misma ruta donde estamos situado vamos a crear un archivo que se llame “serverVPN.ovpn” con este contenido:
# Copiamos al cliente los archivo mencionado anteriormente
root@vpn:/etc/openvpn/easy-rsa# cd keys/
# Copiamos los archivos necesarios y esto te pedirá la maquina cliente
root@vpn:/etc/openvpn/easy-rsa/keys/# scp ca.crt cliente-1.crt cliente-1.crt cliente-1.key 192.168.1.102:/etc/openvpn
root@vpn:/etc/openvpn/easy-rsa/keys/# cd ../
root@vpn:/etc/openvpn/easy-rsa# nano serverVPN.ovpn

local 192.168.1.100 # IP LOCAL
dev tun1 # Nombre del Tunel
ca keys/ca.crt # La ruta donde esta uno de los certificado
cert keys/server.crt
key keys/server.key # Este fichero debería guardarse en secreto!
dh keys/dh2048.pem
user nobody # Servidor se ejecutará con privilegios del usuario y grupo “nobody”
group nogroup # Esto se hace por seguridad, ya que “nobody” es un usuario casi sin privilegios
server 10.10.0.0 255.255.255.0 # Permite asignar a los clientes que se conecten una ip dentro del rango
ifconfig-pool-persist ipps.txt
persist-key
persist-tun
client-to-client
keepalive 10 120

Iniciamos el servicio de VPN en el Servidor
root@vpn:/etc/openvpn/easy-rsa# openvpn –config serverVPN.ovpn

9) También creamos otro archivo de configuración llamado “cliente-1.ovpn”.
root@canaima-popular:~# cd /etc/openvpn/
root@canaima-popular:/etc/openvpn# nano cliente-1.ovpn

remote ipPublicaServidorVPN 1194
dev tun1
ca ca.crt
cert cliente-portatil.crt
key cliente-portatil.key
client # (equivalente a tls-client más pull)
persist-key
persist-tun

root@canaima-popular:/etc/openvpn# openvpn –config cliente-1.ovpn

Les dejo un material sobre
TeoriaVPN

Proceso Finalizado ya con esto tiene VPN …

Anuncios