Cómo usar y configurar OpenVPN
Si tienes la suerte de tener un trabajo en el que solo es necesario un ordenador y una conexión a internet es posible que puedas teletrabajar, aquí os dejamos unos consejos sobre Teletrabajo, de esta forma lo más seguro es que necesites acceder en remoto a tu oficina, a tu casa o al sitio donde tengas los recursos necesarios para desempeñar tu función, ya sean repositorios o una carpeta compartida. Todo esto se puede realizar con una conexión Virtual Private Network o VPN. En esta guía os vamos a enseñar como configurar vuestro propio servidor VPN y a conectaros a él usando un cliente para VPN.
Al crear una conexión VPN simularemos que estamos conectados en la red local del dispositivo que hace de servidor, así si tenemos el servidor VPN en casa será igual que si estuviéramos allí en cuanto a recursos se refiere, podemos imprimir con nuestra impresora, usar nuestra conexión a internet o conectar a equipos que tengamos en nuestra red local. Además con una VPN podemos acceder a internet usando nuestra conexión local.
Hay muchos clientes/servidores para conexiones VPN, nosotros vamos a usar OpenVPN tanto para el servidor como para el cliente. OpenVPN es un software gratuito que además funciona de maravilla sin gastarnos ni un duro en suscripciones, con él tendremos los servicios que necesitamos para una conexión VPN estándar. Su software sirve para configurar el servidor y el cliente, además de Windows, con OpenVPN tienes cliente para Mac, Linux o incluso para montar tu propio VPN en un NAS Synology.
El software de OpenVPN para crear el servidor en casa con Windows 10 es gratuito, aunque la empresa ofrece otro tipo de servicios con modelo de suscripción como conectar a servidores VPN de la propia empresa por pocos dólares al mes. Pero nosotros vamos a usar el software para conectar a nuestra casa, oficina o donde quiera que vayamos a crear el servidor con Open VPN, veamos cómo hacerlo paso a paso.
- Descargamos el software OpenVPN, en este caso la versión 2.4.8 para Windows 10 que hará de servidor de su página web, seleccionamos esta versión que está más abajo y la descargamos.
- Una vez descargado hacemos clic en él para instalarlo, hacemos clic en Next y I Agree y en la siguiente ventana nos aseguramos de que se instalará la opción EasyRSA 2 Certificate Management Scripts que se encuentra al final de la lista.
- Hacemos clic en Next para terminar la instalación, seguimos los pasos en pantalla. Es posible que nos aparezca un mensaje al finalizar la instalación indicando que no hay ningún archivo de configuración, simplemente hacemos clic en Aceptar.
- Una vez instalado OpenVPN hacemos clic en la lupa de Windows para buscar Símbolo de sistema y hacemos clic con el botón derecho del ratón para seleccionar Ejecutar como administrador.
- Ahora tenemos que buscar la carpeta donde se ha instalado OpenVPN, vamos a C:\Program Files\OpenVPN\easy-rsa simplemente escribiendo cd “C:\Program Files\OpenVPN\easy-rsa”.
- Ahora iniciamos la configuración del servidor de OpenVPN, escribimos init-config y pulsamos intro.
- Editamos el archivo que se acaba de crear vars.bat, podemos escribir directamente Notepad vars.bat y pulsar intro, se abrirá el Bloc de notas con el archivo a editar.
- Dentro del archivo vars.bat, al final, tendremos algunos datos para cambiar, desde COUNTRY hasta EMAIL añadimos nuestros datos, guardamos y salimos.
- Ahora desde la terminal ejecutamos el comando vars y seguidamente ejecutamos clean-all.
- Una vez descargado hacemos clic en él para instalarlo, hacemos clic en Next y I Agree y en la siguiente ventana nos aseguramos de que se instalará la opción EasyRSA 2 Certificate Management Scripts que se encuentra al final de la lista.
Ahora vamos a construir los certificados y las claves de autenticidad para poder conectarnos al servidor de manera segura, seguiremos usando la terminal así que mejor no la cierres. Veamos cómo hacer esto de manera sencilla.
- En nuestro Símbolo de sistema y escribimos build-ca y pulsamos intro para ejecutarlo.
- Ahora nos pedirán unos datos para el fichero de configuración, cómo ya los hemos rellenado anteriormente podemos pulsar intro para pasar al siguiente y cuando aparezca Common Name tendremos que escribir el nombre que queremos dar a nuestro servidor.
- Ahora generaremos el certificado y la clave para el servidor, escribimos build-key-server y el nombre que hemos dado al servidor en el apartado Common Name, en nuestro caso sería build-key-server Geeknetic.
- Nos preguntará por algunos datos extra, pulsamos intro hasta llegar a la pregunta Sing the certificate? [y/n]: donde debemos responder Si escribiendo Y y pulsando intro, esto sirve para firmar el certificado y que sea de nuestra confianza. Volvemos a escribir Y y pulsamos intro para terminar de firmar el certificado.
Solo falta encriptar los ficheros para que la conexión sea segura.
- Escribimos build-dh y pulsamos intro.
Estos son los pasos necesarios para poder configurar posteriormente nuestro servidor con OpenVPN.
Llegó el momento de realizar la configuración de nuestro servidor, la configuración del VPN se realiza a través de un archivo de configuración, OpenVPN tiene uno de ejemplo y sobre este iremos modificando los parámetros necesarios además de añadir las claves que hemos generado anteriormente. Veamos cómo realizar todo esto.
- Abrimos Inicio y buscamos la carpeta donde se ha instalado OpenVPN, hacemos clic en Open VPN Sample Configuration Files y se abrirá la carpeta donde están los archivos de configuración de ejemplo.
- Copiamos el archivo server.ovpn a la carpeta config de OpenVPN en C:\Program Files\OpenVPN\config.
- Editamos el archivo server.ovpn nosotros vamos a usar Atom, aunque puedes usar cualquier editor de texto.
- Localizamos las líneas ca ca.crt, cert server.crt y key server.key y las cambiamos por:
ca “C:\\Program Files\\OpenVPN\\config\\ca.crt”
cert “C:\\Program Files\\OpenVPN\\config\\server.crt”
key “c:\\Program Files\\OpenVPN\\config\\server.key”,
recuerda incluir las comillas y que server es el nombre que diste en Common Name anteriormente.- Ahora hacemos lo mismo con la línea siguiente dh dh2040.pem la modificamos:
dh “C:\\Program Files\\OpenVPN\\config\\dh2048.pem”.- Guardamos nuestro archivo de configuración server.ovpn.
- Ahora vamos a la carpeta C:\Program Files\OpenVPN\bin escribiendo cd “C:\Program Files\OpenVPN\bin” y pulsando enter.
- Creamos la clave que nos falta para el servidor escribiendo el comando openvpn -–genkey -–secret ta.key y pulsamos intro.
- Ya solo nos falta copiar todos los archivos creados a la misma carpeta del archivo de configuración del servidor, copiamos el archivo ta.key que está en la misma carpeta bin y lo pegamos en la carpeta config de OpenVPN.
- Hacemos lo mismo con los archivos ca.crt server.crt y server.key que están en la carpeta Easy-rsa de OpenVPN.
- Copiamos el archivo server.ovpn a la carpeta config de OpenVPN en C:\Program Files\OpenVPN\config.
Ya tenemos todo lo necesario para que nuestro servidor de OpenVPN funcione correctamente.
Hemos realizado todos los pasos necesarios para configurar el servidor OpenVPN en Windows, ahora solo falta ejecutarlo y dejarlo funcionando para conectarnos a él desde algún cliente, esto os lo enseñaremos un poco más abajo.
- Abre inicio y ve a la carpeta OpenVPN.
- Selecciona OpenVPN GUI para iniciar OpenVPN.
- Como solo tiene un archivo de configuración y es el del servidor, podemos dar directamente a conectar, para esto vamos al icono de OpenVPN y pulsamos con el botón derecho en conectar.
- Si todo lo hemos realizado bien, en unos segundos estará nuestro servidor conectado.
- Si todo lo hemos realizado bien, en unos segundos estará nuestro servidor conectado.
Para que no tengamos problema, lo ideal es abrir la conexión VPN automáticamente al iniciar sesión con Windows. Ya solo nos queda conectar los clientes que queramos a nuestro servidor de OpenVPN que hemos creado, veamos como configurar un cliente para acceder al servidor.
Una vez tengamos el servidor funcionando y conectado solo nos quedará conectarnos a él, para eso vamos a configurar el cliente de OpenVPN. Este proceso es mucho más sencillo que el anterior. Para el cliente usaremos el mismo software que para el servidor, además también necesita instalar EasyRSA 2 y sus correspondientes claves y certificados. Antes de nada, vamos a generar estas claves, para esto tenemos que hacerlo en el servidor.
- Vamos a la lupa de Windows y escribimos Símbolo de sistema y pulsamos con el botón derecho para ejecutarlo como administrador.
- Vamos a la carpeta donde está easy-rsa escribiendo cd “C:\Program Files\OpenVPN\easy-rsa” y pulsamos intro.
- Una vez dentro escribimos el comando vars al pulsar intro no debería aparecer nada.
- Ahora ejecutamos build-key y a continuación escribiremos el nombre del cliente que se va a conectar al servidor, en nuestro caso escribimos build-key geekcliente y pulsamos intro.
- Pulsamos intro para dejar los datos que habíamos añadido al principio hasta llegar a la opción Common Name donde tendremos que escribir el nombre del cliente.
- Seguimos pulsando intro para dejar los datos como estaban hasta que nos pregunte si queremos firmar el certificado, escribimos y, confirmamos de nuevo con y.
- Pulsamos intro para dejar los datos que habíamos añadido al principio hasta llegar a la opción Common Name donde tendremos que escribir el nombre del cliente.
Una vez creados los certificados los guardamos en algún medio para poder transportarlos al ordenador cliente, por ejemplo, una unidad USB, los archivos que necesitamos son:
- ca.crt
- ta.key
- nombrecliente.crt (en nuestro caso geekcliente.crt)
- nombrecliente.key (en nuestro caso geekcliente.key)
Ahora tendremos que instalar el software OpenVPN en el ordenador cliente, en este caso podemos seguir los pasos anteriores, ya que requiere la misma configuración que el servidor:
- Descargamos el software OpenVPN versión 2.4.8 para Windows 10 que hará de servidor de su página web, seleccionamos esta versión que está más abajo y la descargamos.
- Una vez descargado hacemos clic en él para instalarlo, hacemos clic en Next y I Agree y en la siguiente ventana nos aseguramos de que está marcada la opción EasyRSA 2 Certificate Management Scripts que se encuentra al final de la lista para que se instale junto a OpenVPN.
- Hacemos clic en Next para terminar la instalación, seguimos los pasos en pantalla. Es posible que nos aparezca un mensaje al finalizar la instalación indicando que no hay ningún archivo de configuración, simplemente hacemos clic en Aceptar.
- Copiamos los archivos que hemos generado anteriormente y que hemos guardado en la unidad correspondiente en la carpeta C:\Program Files\OpenVPN\config, recuerda que ya estamos trabajando en el ordenador cliente.
- Copiamos el archivo de ejemplo de configuración cliente.ovpn de la carpeta C:\Program Files\OpenVPN\sample-config a la carpeta C:\Program Files\OpenVPN\config y le cambiamos el nombre por el que pusimos en Common Name.
- Editamos el archivo de configuración que hemos renombrado para cambiar algunos parámetros.
- Añadimos la dirección IP del servidor, en caso de disponer de un servicio DDNS pondremos esta dirección.
- Ahora modificamos las líneas con las claves y certificados que hemos añadido al cliente.
ca “C:\\Program Files\\OpenVPN\\config\\ca.crt”
cert “C:\\Program Files\\OpenVPN\\config\\geekcliente.crt”
key “C:\\Program Files\\OpenVPN\\config\\geekcliente.key”
y guardamos el archivo de configuración
Si hemos seguido correctamente los pasos, solo nos quedará iniciar OpenVPN GUI en el equipo cliente y conectar, en unos segundos comprobaremos que la conexión es correcta y que nuestro cliente se ha conectado al servidor de OpenVPN.
Si quieres montar tu propia VPN con OpenVPN tendrás todo lo necesario de manera gratuita. El procedimiento para crear tu servidor puede ser algo engorroso, pero merece la pena tener una conexión segura con la que usar internet en ciertos lugares concurridos donde la seguridad puede ser un problema. De esta manera podemos conectar al servidor de OpenVPN y usar esa conexión a internet.
También nos servirá para compartir recursos ya sean de hardware o de software, por ejemplo, imprimir un documento en nuestra impresora local para recogerlo cuando vayamos a casa, si lo hacemos sobre la marcha es una forma de no olvidarnos. También podemos usar un disco duro conectado en red para copiar algún documento que necesitemos.