Bueno, lo prometido es deuda.
Para realizar una conexión servidor-cliente a través del programa Openvpn (windows), realizaremos los siguientes pasos:
Lo primero y lo más importante de todo, recomiendo hacer todas las operaciones que describo a continuación con la cuenta de administrador, porque si lo haces con una cuenta sin los privilegios suficientes todo el rato será un quebradero de cabeza.
Existe un "truco" para activar cuenta de Administrador de Windows 8 (creo que en el 7 era igual)
net user administrador / active: yes
net user Administrador / active: yes
net user administrator / active: yes
net user Administrator / active: yes
Probad con alguna de las cuatro.
Bueno, nos situamos en el pc server, al cual queremos acceder desde una red externa. Nos bajamos la última version de openvpn desde su web oficial, y procedemos a instalar el .exe (como cualquier otro programa). ES MUY IMPORTANTE, A LA HORA DE INSTALAR EL OPENVPN, SEÑALAR TODAS LAS CARACTERÍSTICAS, DE NO HACERLO NO NOS CREARÁ LA CARPETA EASY-RSA, FUNDAMENTAL PARA REALIZAR LOS PASOS QUE DESCRIBIRÉ.
Una vez instalado, abrimos una ventana msdos, con el comando CMD y escribimos hasta situarnos en la ruta siguiente (si lo dejáis tal cual, debería de ser así)
cd C:\ Archivos de programa\OpenVPN\easy-rsa
Una vez situado ahí, ejecutamos los siguientes comandos:
init-config
notepad vars.bat
Con este segundo comando, se os abrirá un bloc de notas y debéis editar los datos,
set KEY_COUNTRY=ES
set KEY_PROVINCE=ciudad en mayusuculas. BARCELONA
set KEY_CITY=ciudad en minusculas(solo inicial en mayuculas)ejemplo. Barcelona
set KEY_ORG=OpenVPN (lo que queráis)
set KEY_EMAIL=el mail que queráis
dh1024 cambiarlo a dh2048 (mayor seguridad)
Guardamos cambios y salimos (cambiáis todo lo que os ponga "changeme", IMPORTANTE, NUNCA DEJÉIS EN BLANCO, SIEMPRE AUNQUE SEA UNA CHORRADA ESCRIBID ALGO"
A continuación escribimos, recordad que estamos en la misma ruta:
C:\ Archivos de programa\OpenVPN\easy-rsa
build-dh
build-ca
(os irá preguntando por los datos, y ponéis lo mismo que cuando editasteis el bloc, cuando lleguéis a "COMMON NAME" poned "OpenVPN-ES" o lo que os dé la gana.
build-key server server (el segundo "server" podéis poner el nombre que queráis a vuestro server)
Os preguntará lo mismo que cuando lanzasteis "build-ca" sólo qué, cuando os pregunte por "COMMON NAME", tenéis que poner el nombre que habréis elegido para el server, es decir:
build-key server juanito
common name: juanito
Ahora, crearemos certificado para los clientes que se vayan a conectar a ese server, con el siguiente comando.
build-key pepito (o el nombre que querráis poner al cliente)
Lo mismo que con server, cuando os pregunte por "COMMON NAME".
build-key pepito
common name: pepito
Ya hemos terminado la creación de certificados, como véis, solo he generado un certificado para un pc-cliente, tendréis que generar un certificado más por cada cliente adicional que querráis conectar con ese server.
Aún estando en la misma ruta, easy-rsa, ejecutamos:
openvpn –genkey –secret ta.key (son dos guiones, lo que pasa que al ser consecutivos, sale como uno)
Ahora tenemos que editar los archivos, seguiendo con nuestro ejemplo, pepito.ovpn y juanito.ovpn
Nos dirigimos, ya fuera de la ventana CMD, a la carpeta "sample config" dentro de "OPENVPN" y editamos server.ovpn (tendriamos que renombrarlo a juanito.ovpn)
Y entre los parámetros a configurar cabe señalar:
- El protocolo que usaremos para conectarnos (tcp o udp)
- El puerto por el cual nos conectaremos (por defecto, el 1194)
Sobre todo, las rutas de los archivos
ca.crt
cert server.crt (renombrarlo por el nombre que le pongais
key server.key (renombarlo por el nombre que le pongais)
dh dh2048.pem (por defecto 1024, cambiadlo a 2048).
Guardad los cambios
Ahora lo mismo con el archivo client.ovpn.
En este caso no hay que poner la ruta de los archivos, SIEMPRE QUE PONGAMOS DICHOS ARCHIVOS EN LA CARPETA CONFIG)
Aquí lo importante sobre todo es señalar la ip o dominio que usaremos para conectarnos al pcserver (en caso de tener ip dinámica, habrá que establecer en la configuración del router, un dominio DNS, para "fijar" la ip. Recomiendo el servicio "changeip")
Guardamos cambios y salimos
Ahora ya tenemos que situar los archivos generados durante todo el proceso en su sitio correcto:
En el pc-server:
C:\Archivos de programa\OpenVPN\config\
Aquí hay que meter:
ca.crt
dh2048.pem
juanito.crt
juanito.key
juanito.ovpn
Y en el pc-cliente:
C:\Archivos de Programa\OpenVPN\config\
ca.crt
pepito.crt
pepito.key
pepito.ovpn
Ahora y muy importante, obviamente, hay que abrir en el router el puerto que hayamos elegido, el 1194 por defecto, abrirlo y redirigir el trafico a la ip del pcserver.
También hay que desacctivar cualquiera firewall de windows que haya por medio, para que la conexión sea un éxito (o crear la excepción dentro del firewall.. a vuestro gusto)
Pues una vez que tenemos todo esto, nos vamos al pc-server, doble click en openvpn, y se nos iniciará minimizado al lado del reloj, click derecho, y le damos a connect, nos pondrá "juanito is connected, y una ip" y el icono en verde.
Nos vamos al pc-cliente, doble click sobre openvpn, y lo mismo le damos a connect, y nos conectará con el pcserver.
""FIN""
Ahora llegan los agradecimientos.
Mi compañero Bron (de redeszone/adslzone)
http://www.redeszone.net/redes/openvpn/a jar229
a Tki2000
a Pteridium
Un saludo y enhorabuena por este gran foro.
pd. el tutorial está abierto a cualquier tipo de rectificación, o lo que sea.