¿ Cómo configurar un servidor OpenVPN en Windows para conectarme a routers Teltonika ?

openvpn

Hace ya algún tiempo publicamos una serie de posts donde explicábamos como crear un servidor y varios clientes OpenVPN sobre routers Teltonika. Esta vez te explicamos cómo configurar un servidor OpenVPN sobre SO Windows en tu oficina y que se conecten a él tus routers Teltonika. Asimismo también te explicaremos como configurar un cliente OpenVPN en tu ordenador para que, a través de él, puedas conectarte a los routers y a las máquinas que tengas conectados detrás de los mismos.

Además de las diferentes explicaciones te ofreceremos la posibilidad de descargar en el último post un ejemplo completo de certificados, claves y ficheros de configuración para el servidor y hasta 5 clientes. Esta información está extraida de una maqueta en real que tenemos montada en nuestra oficina y que podréis usar para validar, por ejemplo, la configuración de vuestro router Teltonika o vuestro cliente en Windows. Puesto que no podemos garantizar que dicha maqueta esté operativa 24×7 o que pueda sufrir alguna modificación si tenéis algún problema podéis poneros en contacto con nosotros a través del formulario de contacto de nuestro blog y os ayudaremos con vuestras dudas.

Topología de la maqueta

En la siguiente figura indicamos la topología de la maqueta montada en nuestra oficina y que podáis usar para probar vuestro cliente VPN una vez hayáis podido descargar nuestros certificados en el último post.

Maqueta de red OpenVPN tipo TUN

Como podéis ver se trata de una red de tipo TUN (nivel 3) donde mostramos en rojo las direcciones IP de los endpoint o extremos de los túneles que están en el rango 10.8.0.0 y en azul las direcciones IP de las redes LAN de los diferentes clientes (que deben ser distintas entre ellas para poder enrutar el tráfico correctamente).

El servidor VPN tiene una IP pública que puede ser accedida a través del nombre vpn.davantel.com y también tenemos dos routers RUT230 como clientes VPN, uno conectado por interfaz 3G y el otro conectado localmente al servidor por el interfaz WAN. Asimismo, tenemos conectado al cliente2 un servidor de terminales NPort5110 de Moxa para poder demostrar que a través de la VPN podemos acceder no sólo a los router o extremos de la VPN sino también a los dispositivos conectados detrás del router y sin necesidad de NAT o port forwarding.

Como veremos más adelante, usaremos unos ficheros de configuración en el servidor para asignar direcciones fijas al endpoint de cada cliente y asignar también la dirección LAN de dicho cliente. Esta asignación fija nos permite acceder de forma más rápida a cada router cliente a través de la IP del túnel (10.8.0.X).

Descarga e instalación del software OpenVPN para Windows

Lo primero que tendrás que hacer es descargarte el software de OpenVPN para Windows. Puedes encontrarlo en el link https://openvpn.net/community-downloads/. En el servidor, al instalarlo, deberás marcar la opción EasyRSA para poder así depués generar los diferentes certificados y claves necesarios. En el ordenador cliente no es necesario marcar esta opción.

Marcar la opción EaysRSA al instalar OpenVPN en el servidor

La instalación nos creará también una interfaz de red virtual TAP que es la que usa internamente OpenVPN para establecer los túneles con los equipos remotos.

Creación de certificados y claves

OpenVPN se basa en una serie de certificados a través de los cuales servidor y clientes se autentican. Estos certificados se apoyan, a su vez, en unas claves que también se utilizan para encriptar la información que se intercambia entre los extremos de la VPN permitiendo la privacidad sobre redes públicas como Internet.

El proceso detallado de cómo generar los diferentes certificados a través del software OpenVPN en el servidor se encuentra descrito en el segundo de los post de la serie anterior.

En este caso, también crearemos una clave TLS denominada ta.key que cargaremos en servidor y clientes y que servirá para encriptar el intercambio inicial de los certificados y claves como medida de seguridad adicional. Esta clave la podemos generar con el comando openvpn –genkey –secret ta.key

Ajustes en el fichero de configuración .ovpn

La configuración tanto del servidor como del cliente en Windows se realiza a través de un fichero de texto con extensión .ovpn. En nuestro caso el fichero se denomina davantel-test.ovpn. En este fichero tenemos muchas opciones (protocolo TCP o UDD, compresión LZO, número de puerto TCP/UDP,…) que podemos personalizar pero teniendo en cuenta siempre que coincidan entre servidor y clientes.

Ahora nos fijaremos en aquellos parámetros más significativos:

server 10.8.0.0 255.255.255.0

este parámetro nos indica que se trata de un servidor y nos fija el rango y máscara de direcciones de los extremos de los túneles o endpoints.

ca ca.crt
cert server-test.crt
key server-test.key

dh dh2048.pem

Estos parámetros cargan los certificados y claves que previamente habremos creado y copiado en el directorio /config (si no usamos una ruta completa distinta) donde también se encuentra el fichero de configuración .ovpn

client-config-dir ccd

route 192.168.40.0 255.255.255.0

route 192.168.50.0 255.255.255.0

route 192.168.60.0 255.255.255.0

route 192.168.70.0 255.255.255.0

route 192.168.80.0 255.255.255.0

El primero comando permite que el servidor use una configuración fija para el direccionamiento de cada endpoint así como la ruta hacia su segmento LAN. La forma en que el servidor asocia una conexión entrante a un cliente determinado es a través del Common Name (CN) incluido en el certificado TLS del cliente.

Los comandos posteriores informan al servidor de los segmentos LAN de los diferentes clientes aunque aún no asocian cada segmento a un cliente en concreto. Este segundo paso se consigue creando en el directorio /config un subdirectorio /ccd y dentro de este subdirectorio creando un fichero de nombre igual al CN del cliente y sin extensión para cada uno de los clientes.

En nuestro ejemplo tenemos 5 clientes con los CN client-test1, client-test2, client-test3, client-test4 y client-test5. Por tanto, en el subdirctorio /ccd crearemos 5 ficheros sin extensión de nombre client-test1,…client-test5 y dentro de cada uno de ellos añadiremos los siguientes comandos. Por ejemplo para client-test1

iroute 192.168.40.0 255.255.255.0
ifconfig-push 10.8.0.5 10.8.0.6

El primero comando crea en el servidor la ruta hacia la LAN del cliente y el segundo comando fija la dupla dirección local del túnel- dirección remota del túnel para este client-test1. Como vemos esta configuración se corresponde con la figura anterior de la topología de la maqueta.

Ajustes finales en el servidor VPN

Una vez creado el fichero .ovpn tendremos que arrancar el servidor. En la configuración nos aseguraremos la opción de que se arranque el servidor al arrancar Windows. Si el fichero de configuración no contiene ningún error, el servidor será capaz de arrancar. Podemos confirmarlo en el icono en la parte inferior derecha donde nos aparecerá en color verde y con la dirección IP local del túnel 10.8.0.1. Si pinchamos en Mostrar estado también accederemos a una ventana donde vemos el log del servidor con todas las conexiones entrantes de los diferentes clientes.

Icono del servidor en verde con la IP del túnel asignada
Ventana de estado del servidor con el log de conexiones entrantes de los clientes

IMPORTANTE. No olvidemos abrir el puerto de la VPN (1194 por defecto para OpenVPN) en nuestro router y redireccionarlo hacia la IP de nuestro servidor. De esta forma, todo el tráfico VPN entrante desde Internet se reencaminará hacia el servidor VPN.

En el próximo post explicaremos la configuración de los clientes VPN, tanto en el caso de routers Teltonika como la configuración del fichero .ovpn en un sistema operativo Windows.

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (3 votos, promedio: 5,00 de 5)
Cargando...