Вы находитесь на странице: 1из 18

Cmo configurar un Servidor OpenVPN

en Windows.
12 abril 2009

59 Comentarios

Saludos a todos.
Despus de un buen tiempo sin escribir, hoy les traemos este post que es de Gran
inters, en el mundo empresarial, y en tambin en el mundo de los Gamers Online,
como es mi caso.
Les cuento como surgi mi Odisea de aprender a configurar este protocolo.
Estaba con mi compaero Ju4ns3, y queramos Jugar Age of Mythology, por Internet,
pero lo queramos hacer como si estuviramos en una LAN.
Conocamos de la existencia de hamachi, pero no era algo de mi gusto dadas las
complicaciones, y las direcciones IP que tena, las cuales pertenecan a un segmento
completamente diferente al que yo manejaba.
Lo que yo quera era que simulramos una red LAN, en la que mi compaero estuviera
en el mismo segmento de red que yo. y esta alternativa la ofrece OpenVPN.

As que empezar a explicar como debe configurarse un servidor OpenVPN, en el


sistema operativo windows, para conseguir que la LAN se encuentre toda en la misma
subred.
Como es lgico lo primero que debe hacerse es descargar e instalar el OpenVPN para
windows. como esta parte es bastante sencilla no la explicar. como todo en windows es
Siguiente, Siguiente, Terminar!!
El OpenVPN lo pueden descargar de ac, la que yo descargu es la 2.1 y es la que
explicar ac. aunque con versiones anteriores no difiere mucho.
Bien.
Una vez que se ha instalado el OpenVPN, si hicieron todo por defecto(as lo explicar
ac)
el paso a seguir es crear las claves Pblicas y privadas.

1. Crear las Llaves para el Servidor y el


Cliente
No me adentrar mucho en explicar lo que es esto, pero se los dir superficialmente.
OpenVPN usa el protocolo SSL para cifrar los datos que se envan por la red pblica(en
este caso internet), y se cifran para que en caso de ser interceptados no nos roben datos
privados. SSL es un Protocolo para comunicarse de forma segura, el cual usa por lo
general criptografa asimtrica, aunque tambin puede usar criptografa simtrica.
En fin lo que se har ac ser crear las llaves para el cliente y el servidor con las cuales
se autenticarn.
Teniendo en cuenta que el OpenVPN est instalado en la carpeta C:\Archivos de
Programa\OpenVPN, realizaremos los siguientes pasos:
Abrir la consola de Windows Inicio->Ejecutar->CMD
Estando en la consola nos ubicaremos en el directorio easy-rsa de OpenVPN
cd C:\Archivos de Programa\OpenVPNeasy-rsa

ahora ejecuta el siguiente comando


init-config

En los pasos siguientes, se te pedirn varias veces diferentes


datos como Pais, Estado, Ciudad, Organizacin, Depto, Nombre del
Servidor y Correo si solo quieres ingresar estos datos una vez puedes
hacer el siguiente paso.

PASO OPCIONAL.

ejecuta el siguiente comando

notepad vars.bat

se te abrir un block de notas con un batch script. el FINAL de este


script es algo como esto:

set KEY_COUNTRY=US

set KEY_PROVINCE=CA

set KEY_CITY=SanFrancisco

set KEY_ORG=OpenVPN

set KEY_EMAIL=mail@host.domain

lo que haremos ser cambiar estas ltimas lineas como se ve ac.

set KEY_COUNTRY=CO

set KEY_PROVINCE=CA

set KEY_CITY=Manizales

set KEY_ORG=TodoTecnologia.net

set KEY_EMAIL=todotecnologia.net@gmail.com

Obviamente, ah pondrs tus propios Datos. te explico.

set KEY_COUNTRY=Iniciales de tu pas


set KEY_PROVINCE=Iniciales de tu provincia
set KEY_CITY=El nombre de tu ciudad
set KEY_ORG=Tu nombre o el de tu organizacin.
set KEY_EMAIL=El correo de tu organizacin

FIN DEL PASO OPCIONAL

Ok. Despus ejecutaremos los siguiente comandos uno a uno.

vars
clean-all
build-ca

El comando build-ca pedir valores como Pais, Estado, Ciudad, Organizacin, Depto,
Nombre del Servidor y Correo, todos estos valores los debes repetir durante todo el
proceso cada que te los pida, a excepcin del nombre del host(hostname) que
cambiar en la parte de configuracin de las llaves del cliente, si seguiste el paso
opcional, no tendrs que hacer ms que darle enter cada que te pida estos datos.(ojo
recuerda que no todos los datos que pide los haz agregado, como el hostname, as que
esos datos si deberas ponerlos)

lo que hemos hecho es crear el Certificado de Autoridad, este ha sido


creado en el directorio

C:\Archivos de Programa\OpenVPN\easy-rsa\keys

junto con varios archivos. por ahora los vamos a ignorar, ya los
usaremos despus.

El siguiente paso es crear la llave privada y certificado del


servidor.

para hacer esto ejecutamos los siguientes comandos.

vars
build-key-server NombreDelServidor

Este comando al final te har 2 preguntas adicionales, a las cuales


debes responder que si, poniendo la letra y.

El dato que ves en Verde, y todos los dems datos que aparescan en
este tutorial de ese color, sern datos que tu te inventars pero que
debers tener muy en cuenta durante todo el proceso.

Aqu Volver a pedir los datos, los cules deben ser los mismos
introducidos anteriormente, tambin pedir un password, este mismo
password debe ser usado cundo se creen las llave de los clientes.

Luego ejecutar el siguiente comando,

build-dh

En este punto ya hemos creado todas las llaves para el servidor. ahora
vamos a crear las llaves para el cliente.

Crear las llaves del Cliente

Es muy recomendable que por cada cliente que


clave diferente.

vayan a usar creen un

Cmo es esto?, bien por ejemplo, en mi caso yo quera que la red


local de JuSe, fuera la misma que la ma. en este caso solo
necesitaramos un cliente y un servidor. pero qu pasa si queremos
unir mi red, la de Ju4s3, y la de otras 2 personas ms? bien en este
caso necesitaramos 1 servidor(siempre se necesita un solo servidor,
por lo menos en la mayora de los casos) y 3 clientes, y es ac donde
recomendamos que JuSe el sujeto1 y el sujeto2, tengas cada uno sus
propias claves de cliente. esto se logra simplemente repitiendo los
siguientes pasos por cada cliente que tengan cambiando solo el nombre
y el hostname. bien ahora si vamos a ver como se hace.

Desde la consola estando ubicados en el directorio

C:\Archivos de programa\OpenVPN\easy-rsa

ejecutaremos los siguientes comandos.

vars

build-key NombreDelCliente

Ya saben que el nombre del cliente se lo inventan ustedes.

Nuevamente nos har las mismas preguntas, en las que solo cambia el
hostname. recuerden que deben ponerle la misma contrasea que le
pusieron a las llaves del servidor, y si van a crear llaves para
varios clientes, deben tener un Nombre diferente.

Es todo. En este punto ya tenemos creadas las llaves del cliente y del
servidor. as que los pasos siguientes son configurar el servidor.

2. Configuracin del Servidor


2.1 Crear una conexion de Puente
Antes que nada, cuando instalaste el OpenVPN, debiste notar que estaba
instalando un adaptador de red, y que incluso windows te deca que no
estaba firmado y bla bla bla(ojo a este mensaje debiste darle
continuar)

pues bien, este adaptador es de Gran importancia. as que lo que


haremos ser cambiarle el nombre. y crear un puente entre el adaptador
de tu red normal, y el que ha creado OpenVPN

Esto lo hacen as

1. En el Panel de Control, vallan a Conexiones de Red. y Renombren


el Conexin de rea local n (TAP-Win32 Adapter V8) poniendole

el nombre que quieran. yo le puse TAP y as me referir a el en


este tutorial

2. Selecciona los dos adaptadores de red(el de open VPN y el de la


red Fsica), hagan click derecho y luego conexiones de
puente, Este proceso demorar un poco, mientras se crea el
puente..

Listo, con esto est creado el puente. les dejo ac un video de como
hacerlo, est en ingls pero igual se entiende. aclaro que ac en vez
de renombrar por TAP le pusieron OpenVPN, este nombre lo pones tu, lo
importante es que lo recuerdes.

para qu se hace esto?


Muy sencillo. ya les haba dicho que mi intencin era que Ju4s3 y yo
estubieramos en el mismo segmento de red. lo que hace esto es que lo
dos adaptadores de red tengan la misma configuracin IP, por lo que
actuan como si fuera una sola tarjeta de red. es algo como esto, y
bastante til para mi caso. Una de las cosas mas importantes que se
logra con esto, es que los paquetes de broadcast, se enviarn tanto
por mi red local, como por la red virtual(la de OpenVPN) por lo cual
llegarn a la red de mi compaero, y esto es algo bastante importante
a la hora de jugar Online, ya que este es el mtodo que usan los
juegos para buscar servidores.

2.2 Configuracin de la autenticacin y


la red
Lo siguiente que debemos hacer es ver los archivos que se generaron en
el directorio

C:\Archivos de programa\OpenVPN\easy-rsa\keys.

De todos los archivos que hay ac los ms importantes son los


siguientes:

NombreDelServidor.crt

NombreDelServidor.key

ca.crt

dh1024.pem

NombreDelCliente.crt

NombreDelCliente.key

Los archivos que ven en Verde tendrn los nombres que ustedes les
pusieron a su servidor y cliente. por ejemplo, cuando yo ejecut los
comandos buid-key los ejecut as

buid-key AlejoVPN //para el servidor

buid-key JuSe //para el cliente.

por lo cual mis archivos son estos.

AlejoVPN.crt

AlejoVPN.csr

AlejoVPN.key

ca.crt

ca.key

dh1024.pem

JuSe.crt

JuSe.csr

JuSe.key

En fin, esto es importante, por que todos estos archivos deben


copiarlos al directorio

C:\Archivos de programa\OpenVPN\config

Una ves copiados lo siguiente que vamos a hacer ser crear el archivo
de configuracin del servidor en este mismo directorio, con el nombre
de server.ovpn este archivo tendr el siguiente contenido. (basado en
el archivo que est en el directorio samples), antes de que copien el
fichero les voy a explicar algo importante.

En mi caso la red que estaba usando era la red clase C 192.168.1.0.

Anteriormente mi router(modem ADSL) y mi red local estaban trabajando


en la red Clase A 10.0.0.0 por lo cual tuve que configurar mi modem y
mi red para que trabajaran en la red clase C. no es el propsito de
este manual explicar este procedimiento ya que es diferente para cada
modem. sin embargo aclaro que esto lo deben tener en cuenta.

Ahora, otra cosa importante es que cuando configur mi red a la nueva


IP, qued en el rango de direcciones 192.168.1.1 al 192.168.1.10, y la
red de mi compaero estaba en el rango 192.168.1.60 al 192.168.1.70,
esto es importante para la configuracin del servidor. Ahora si veamos
cual es el archivo de configuracin. las lineas antecedidas por un # o
; son comentarios y es en estos donde explicar que debe ir en cada
linea.

# Which TCP/UDP port should OpenVPN listen on?

# Ac va el puerto donde escuchar el servidor OpenVPN, este puerto


debe estar abierto en el firewall y redireccionado en el router.

port 1194

# TCP o UDP, Recomiendo que usen UDP.

proto udp

#Como vamos a usar la red Puenteada usamos tap. en caso de ser


enrutada sera tun.

dev tap

#Ac debe ir el nombre que le pusimos al Adaptador de red, del OpenVPN, en mi caso es TAP.

dev-node TAP

#Lo siguiente es indicarle al servidor cuales son los archivos que


tienen las llaves.

# ya saben que deben ponerle los nombres correctos y que estos deben
estar en el directorio config.

ca ca.crt

cert NombreDelServidor.crt

key

NombreDelServidor.key

# Este archivo debe ser SECRETO!

# Parmetros Diffie hellman. asegurate de haber copiado este archivo


en el directorio config

dh dh1024.pem

#log donde se guardar la IP virtual del cliente.

ifconfig-pool-persist ipp.txt

#ac van los datos en este orden.

#
IPLocal del Servidor Mascara de subred, primer IP de los
clientes, ltima IP de los clientes

server-bridge 192.168.1.2 255.255.255.0 192.168.1.60 192.168.1.70

# Activa el servidor como puente.

server-bridge

#Si en tu caso hay varios clientes, y deseas que un cliente pueda ver
a otro cliente, qutale el ; a la siguiente lnea

;client-to-client

# Si deseas que varios clientes se puedan conectar con la misma firma


qutale el ; a la siguiente lnea

#Esto no es recomendado, como dije antes, es mejor crear una llave


para cada cliente.

;duplicate-cn

# The keepalive directive causes ping-like

# messages to be sent back and forth over

# the link so that each side knows when

# the other side has gone down.

# Ping every 10 seconds, assume that remote

# peer is down if no ping received during

# a 120 second time period.

keepalive 10 120

# Enable compression on the VPN link.

# If you enable it here, you must also

# enable it in the client config file.

comp-lzo

# descomenta esta linea si quieres dar un lmite de clientes


conectados simultaneamente

;max-clients 100

# accessing certain resources on restart

# that may no longer be accessible because

# of the privilege downgrade.

persist-key

persist-tun

# Log de Estado

status openvpn-status.log

# Set the appropriate level of log

# file verbosity.

# 0 is silent, except for fatal errors

# 4 is reasonable for general usage

# 5 and 6 can help to debug connection problems

# 9 is extremely verbose

verb 3

Es todo.

Dej algunos comentarios tal y como estaban en el archivo de ejemplo,


por que no son relevantes para nuestro objetivo. por ahora con esta
configuracin el servidor funcionar perfectamente, segn nuestro
objetivo.

El campo naranja, que hace referencia al puerto lo pueden cambiar


segn sus necesidades, pero recuerden que el cliente debe tener
tambin conocimiento del puerto.

3. Iniciar el Servicio
Para iniciar el servicio ejecuten el OpenVPN GUI el cual debi quedar
en su escritorio cuando instalaron el programa.

luego en la barra de tareas aparecer un icono como lo muestra la


figura. le dan doble click, y ya estar funcionando el servidor.

Despus de darle doble click saldr una ventana que muestra un log de
lo que est haciendo y unos segundos despus vern algo como esto.

Finalmente si entran a conexiones de Red vern que las 2 redes estn


activas.

aclaro que los archivos

ca.crt

NombreDelCliente.crt

NombreDelCliente.key

deben enviarselos al cliente.

Lo siguiente entonces ser configurar el cliente, este procedimiento


lo pueden ver en este post

Вам также может понравиться