Configura OpenVPN en el router profesional D-Link DSR-1000AC

El router profesional D-Link DSR-1000AC dispone de un servidor y cliente OpenVPN, eso nos permitirá configurar VPN de acceso remoto para que trabajadores accedan remotamente a los recursos de la red local de forma segura, y también podremos configurarlo en modo «cliente» para realizar túneles Site-to-Site e intercomunicar diferentes sedes de la empresa. Hoy en RedesZone os vamos a explicar en detalle cómo debemos configurar de forma segura este servidor OpenVPN, crear la CA y los certificados digitales.

¿Para qué sirve el OpenVPN incorporado en el router?

OpenVPN es uno de los mejores softwares para establecer redes privadas virtuales (VPN), y poder conectarnos de forma remota a los recursos de la empresa. Todas las comunicaciones con OpenVPN irán cifradas y autenticadas, de esta forma, estaremos proporcionando una seguridad al canal de datos, y también al canal de control haciendo uso de diferentes protocolos TLS, incluyendo TLS 1.2 y TLS 1.3 en las últimas versiones de este software. OpenVPN se basa en SSL/TLS, por tanto, tendremos que utilizar el protocolo TCP o UDP y un determinado puerto, no es como IPsec que trabaja en la capa de red, en este caso, OpenVPN trabaja en la capa de transporte y nos permite seleccionar cualquiera de los dos protocolos anteriormente mencionados.

En el caso del OpenVPN de este router profesional, tendremos la posibilidad de configurar de forma bastante avanzada el router, subir una CA con sus correspondientes certificados, e incluso generar de forma automática los archivos de configuración para los clientes. Esto último es algo ideal para facilitar enormemente la configuración de la red VPN en las empresas.

Lo primero que tenemos que hacer para configurar el servidor OpenVPN es entrar al router vía https://192.168.10.1. El nombre de usuario y clave por defecto es «admin», pero es recomendable cambiar la contraseña de acceso por una más robusta. Una vez que hayamos accedido, debemos ir directamente a la sección de «VPN» donde debemos irnos a los menús específicos de OpenVPN. A continuación, podéis ver paso a paso todo lo que debemos hacer.

Configuración de OpenVPN en router D-Link DSR-1000AC

Lo primero que debemos hacer para configurar OpenVPN es subir o crear los certificados digitales, algo completamente obligatorio. Para hacer esto, pinchamos en «VPN / OpenVPN / OpenVPN Certificates» y nos aparecerá un menú con unos certificados predeterminados, los cuales no podemos eliminar, pero sí podemos utilizar otros nuevos. D-Link nos permite dos opciones, o bien subir los certificados de OpenVPN, o bien generarlos internamente de forma automática. Nosotros hemos utilizado este segundo método, crear los certificados digitales desde cero con el firmware del router.

Al pinchar en «Generate OpenVPN Certs» nos aparecerá un nuevo menú donde deberemos rellenar todos los siguientes menús:

  • Nombre: nombre descriptivo del certificado que vas a configurar
  • Datos de localización.
  • CA Certificate CN: El common name es la parte más importante, debe ser única y no tener caracteres «raros».
  • Key Encryption length: es recomendable que sea de 4096 bits.
  • Valid Through: validez en años
  • Server Certificate CN: el common name del servidor, debe ser único.

  • Client Certificate CN: el common name del cliente, debe ser único.
  • Hash algorithm: es recomendable usar SHA256 por seguridad, o superior si es que tenemos SHA512.

Una vez completado todos los parámetros pinchamos en «Save» y ya habremos creado los certificados, este proceso dura aproximadamente un minuto, así que deberás tener paciencia.

Una vez que termine el proceso de creación del certificado, podrás verlo en el listado de certificados de OpenVPN, y posteriormente podrás utilizarlos.

Estos certificados podremos descargarlos en bruto, con la CA y sus certificados públicos y privados, los certificados del servidor y del cliente configurado, además, podremos descargar el certificado del cliente con un CN (Common Name) personalizado.

Al pinchar en descargar, nos descargará todo en un empaquetado .tar, que debemos desempaquetar con WinRAR o similares.

En el caso de descargar los archivos sin personalizar el CN del cliente, tendremos todos estos certificados, realmente no los tendremos que utilizar porque después exportaremos la configuración del cliente OpenVPN con los certificados ya incorporados en este archivo.

En el caso de personalizar el «CN» o Common Name, ponemos el nombre y pinchamos en «Download».

Tal y como podéis ver, ahora el nombre de los certificados del cliente es diferente, podremos descargarlos también:

En cualquier servidor OpenVPN siempre es recomendable utilizar claves TLS, o también conocidas como «TLS Key», D-Link no nos permite generarlas en el propio router, pero sí podremos generarlas externamente y subir la clave TLS. Si tienes en tu ordenador el software de OpenVPN, podrás generarla de la siguiente forma a través de la línea de comandos:

openvpn --genkey --secret ta.key

Una vez que la hayamos creado, la subimos directamente con el botón de «Add TLS Key»:

Para subirla, ponemos un nombre a la clave que subamos, y pinchamos en «Seleccionar archivo» para elegir la clave TLS y pinchamos en «Save».

Al guardar la TLS Key, nos saldrá en el listado de claves TLS, y es que podremos subir diferentes claves TLS.

En la sección de CRL Certificates podremos subir este tipo de certificados para gestionar la revocación de los mismos.

En la sección de «VPN / OpenVPN / OpenVPN Settings» es donde tendremos que configurar todos los parámetros del servidor OpenVPN. En nuestro caso queremos montar un servidor para tener una VPN de acceso remoto, con la mejor seguridad posible. Las opciones de configuración que debes usar son las siguientes:

  • OpenVPN: ON
  • Mode: Server
  • VPN Network: 10.8.0.0 o la subred que nosotros queramos, todos los clientes OpenVPN estarán en esta subred.
  • VPN Netmask: 255.255.0.0 por defecto, pero lo normal es tener un /24 o 255.255.255.0
  • Duplicate CN: ON para usar el mismo certificado de cliente en varios clientes, cambiando la autenticación adicional con usuario/contraseña.
  • Port: el puerto que nosotros queramos, por defecto es el 1194.
  • Tunnel Protocol: TCP o UDP.
  • Encryption Algorithm: AES-128 o AES-256, mejor este último.
  • Hash Algorithm: SHA2-256 o SHA2-512.
  • Tunnel Type: Full Tunnel si queremos reenviar todo el tráfico a través del túnel VPN, selecciona Split Tunnel si solamente quieres acceder a la red local vía VPN y salir a Internet por la conexión de Internet principal.
  • User Based Auth: ENABLE, es obligatorio si eliges «Duplicate CN ON»
  • Certificate Veritication: ON
  • Certs Profile: OpenVPN-CA que es lo que hemos creado anteriormente, y podremos ver todos los detalles del certificado configurado internamente.
  • TLS Authentication Key: ENABLE
  • TLS Key: elegimos la clave que hemos subido.

En la siguiente captura podéis ver todas las opciones de configuración, es recomendable usar siempre la máxima seguridad posible, como AES-256 o SHA-256/512.

En la sección de «OpenVPN Server Policy» es donde podremos crear diferentes políticas para permitir o denegar el acceso a diferentes direcciones IP o subredes. Esta opción se debe configurar si usamos el «Duplicate CN» con autenticación basada en usuario y contraseña.

En la sección de «OpenVPN / Local Networks» es donde podremos dar de alta las diferentes subredes a las que queremos que accedan los clientes OpenVPN, debemos tener en cuenta que, si tenemos un Full Tunnel, saldremos a Internet a través de la IP pública del router y tendremos acceso a todas las subredes, a no ser que hayas creado reglas específicas en el firewall. Esta opción de configuración está orientada específicamente a configuraciones de «Split Tunnel«.

Crear los usuarios para conectarse al servidor

Anteriormente hemos configurado que la segunda autenticación en OpenVPN sea el nombre de usuario y contraseña, para crear un usuario con permisos de OpenVPN debemos irnos a la siguiente sección: «Security / Authentication / Internal User Database / Users«. Una vez que estemos en este menú, pinchamos en «Add New User» y lo incorporamos al grupo de administradores, también podríamos crear otro grupo y añadirlo a él.

Tendremos que introducir el nombre de usuario, nombre y apellidos, el grupo y la contraseña que nosotros queramos.

Para tener acceso a la OpenVPN, vamos a tener que configurar el grupo con unos determinados permisos. Si elegimos ponerlo en el grupo de administradores, deberemos activar la opción de «OpenVPN User».

Aunque siempre vamos a poder crear un grupo de OpenVPN con tipo de usuario «Network» para que puedan acceder correctamente y sin problemas los diferentes clientes de OpenVPN.

Una vez hecho, podremos editar o directamente crear uno o varios usuarios, y ponerlos en ese grupo que acabamos de crear con permisos de «OpenVPN User».

Generar el archivo de configuración del cliente y conexión con el servidor

Una vez que ya tengamos el usuario creado, nos vamos a la sección de «VPN / OpenVPN / OmniSSL Client Configuration«, tal y como podéis ver:

Si pinchamos con el clic derecho del ratón, podremos ver la configuración generada automáticamente, y también podremos exportar esta configuración a un archivo de configuración de OpenVPN.

Al guardar este archivo de configuración, será del tipo «client.ovpn» y dentro tendrá casi todo lo necesario para realizar correctamente la conexión al servidor OpenVPN.

Dentro de este archivo de configuración, tendremos que indicar lo siguiente para poder conectarnos correctamente:

dev tun

Esta sentencia es obligatoria en todos los sistemas operativos, indicando qué interfaz virtual se debe utilizar para la creación del túnel VPN.

remote dominio_o_IP 1194

Esta sentencia es obligatoria para conectarnos al servidor desde Internet, poniendo el dominio y también el puerto UDP o TCP. La sentencia de «port 1194» podemos comentarla con un símbolo #, porque es redundante tener ambas cosas.

Una vez que lo hayamos hecho, pinchamos doble clic en el archivo, o lo ubicamos en la ruta C:UsuariosUsuarioOpenVPNconfig para que nos salga siempre en el menú de tareas para la conexión rápida. Al hacer doble clic, nos mostrará que tenemos que introducir un nombre de usuario y contraseña para conectarnos correctamente.

La conexión al servidor OpenVPN ha sido un éxito y ya estaremos conectados a él, para compartir datos en las diferentes subredes y para salir a Internet a través de la red de la empresa.

Tal y como se puede ver, las posibilidades de configuración del servidor OpenVPN en este router D-Link DSR-1000AC son bastante amplias, sobre todo en lo referido al «Split Tunnel» porque nos permitirá crear diferentes reglas avanzadas para permitir o no el acceso a esas subredes.