Actualización OpenVPN en MikroTik

Actualización OpenVPN en MikroTik


1 QUE RESUELVE ESTE PROCEDIMIENTO


Los clientes OpenVPN modernos (2.6 y 2.7) incorporaron requisitos de seguridad que la configuracion anterior de MikroTik no cumplia. Este procedimiento corrige esos puntos y genera un archivo .ovpn unico compatible con todas las versiones actuales.

PROBLEMA ORIGINAL

IMPACTO

ESTADO

Certificados sin SAN

OpenVPN 2.6+ rechaza la conexion

Resuelto

Cipher Blowfish habilitado

Eliminado en OpenVPN 2.6+

Resuelto

Auth MD5 habilitado

Deprecado en clientes modernos

Resuelto

Compresion LZO activa

Rechazada en OpenVPN 2.6 y 2.7

Resuelto

Auth SHA256 / TLS 1.2

Mejor seguridad HMAC y TLS

Solo ROS 7


NOTA

Los certificados generados son compatibles con RouterOS 7. Si en el futuro se actualiza a ROS 7, no es necesario regenerar certificados ni redistribuir el .ovpn.


2 ARCHIVOS DE TRABAJO


Para cada cliente se utilizan dos archivos. Tenerlos listos antes de empezar:

ARCHIVO

DESCRIPCION

QUE MODIFICAR

ovpn-mikrotik-setup.rsc

Script que corre en el MikroTik

3 variables al inicio

CLIENTE.ovpn

Plantilla del archivo de conexion

Remote, rutas y certificados


3 PASO A PASO - TECNICO


3.1 — Editar el script

Abrir el archivo ovpn-mikrotik-setup.rsc con el Bloc de Notas. Modificar SOLO estas tres variables al inicio:

VARIABLES A EDITAR

:local clienteNombre "NOMBRE-CLIENTE" ; nombre del cliente sin espacios

:local remoteHost "IP-O-DNS-DEL-EQUIPO" ; IP publica o DNS dinamico del MikroTik

:local org "NOMBRE-EMPRESA" ; nombre de la empresa del cliente



Ejemplo:

EJEMPLO COMPLETO

:local clienteNombre "Transportes-BGR"

:local remoteHost "he908pf6w4s.sn.mynetname.net"

:local org "BGR"



NOTA

El campo org aparece en los tres certificados generados (CA, servidor y cliente). Usar el nombre real de la empresa del cliente.


Variable keySize - segun el modelo del equipo

El script tiene una cuarta variable que define el tamano de clave RSA. Ajustar segun el modelo:

MODELOS

KEYSIZE

OBSERVACION

RB3011, CCR1009, CCR1016

4096

Hardware potente, sin problema

RB951, RB951Ui, hAP, hAP ac, hAP ac2

2048

Obligatorio - hardware limitado, 4096 da timeout


AJUSTE DE KEYSIZE

:local keySize 2048 ; cambiar a 4096 en equipos potentes como RB3011



ADVERTENCIA

No modificar ninguna otra linea del script. El resto esta configurado para funcionar igual en todos los equipos.


3.2 — Subir y ejecutar el script en el MikroTik

  1. Abrir Winbox y conectarse al equipo con usuario admin.

  2. Ir a Files y arrastrar el archivo ovpn-mikrotik-setup.rsc al panel.

  3. Verificar que el archivo aparece en la lista de Files.

  4. Ir a New Terminal y ejecutar el siguiente comando:


COMANDO DE EJECUCION

/import file-name=ovpn-mikrotik-setup.rsc



Esperar entre 3 y 5 minutos. El script muestra el progreso paso a paso en el terminal:

SALIDA ESPERADA EN TERMINAL

PASO 1 - Eliminando certificados anteriores

PASO 1 OK

PASO 2 - Creando CA

progress: done

PASO 2 OK

PASO 3 - Creando certificado servidor

progress: done

PASO 3 OK

PASO 4 - Creando certificado cliente dbyte

progress: done

PASO 4 OK

PASO 5 - Configurando OpenVPN y PPP

PASO 5 OK

PASO 6 - Exportando certificados

PASO 6 OK

--- CERTIFICADOS ---

0 KL A T CA

1 K I SERVIDOR DNS:remote-del-equipo

2 K I dbyte

--- FIN - Bajar archivos de Files ---

Script file loaded and executed successfully



ADVERTENCIA - GENERACION DE CLAVES RSA

Los pasos 2, 3 y 4 generan claves RSA. Pueden tardar hasta 60 segundos cada uno sin mostrar nada en pantalla. NO interrumpir el proceso.

ADVERTENCIA - USUARIOS ACTIVOS

Al ejecutar el PASO 1 se eliminan los certificados existentes. Los usuarios VPN conectados en ese momento pierden la sesion. Avisar antes de ejecutar.


3.3 — Verificar los certificados generados

Al finalizar el script, ejecutar este comando y confirmar que aparecen los 3 certificados:

VERIFICACION

/certificate print brief



#

FLAGS ESPERADOS

NOMBRE

SIGNIFICA

0

KL A T

CA

CA raiz correcta - authority, trusted, con clave privada

1

K I

SERVIDOR

Cert servidor - issued, con SAN del equipo

2

K I

dbyte

Cert cliente - issued, tls-client


NOTA

Si algun certificado no aparece o le faltan flags, volver a ejecutar el script completo desde el inicio.


3.4 — Bajar los archivos exportados

Ir a Winbox > Files. Deben aparecer 3 archivos con el nombre del cliente:

ARCHIVO

USO EN EL .OVPN

export-CLIENTE-CA.crt

Certificado de la CA raiz - va en el bloque <ca>

export-CLIENTE-dbyte.crt

Certificado del cliente - va en el bloque <cert>

export-CLIENTE-dbyte-key.key

Clave privada - va en el bloque <key>


  1. Seleccionar cada archivo en Winbox > Files.

  2. Hacer clic en Download y guardarlos en una carpeta identificada con el nombre del cliente.


NOTA

RouterOS 6 exporta la clave privada sin passphrase. Distribuir el archivo .ovpn final por un canal seguro.


3.5 — Completar la plantilla .ovpn

Abrir el archivo CLIENTE.ovpn con el Bloc de Notas y completar los siguientes puntos en orden:


a) Cambiar el remote

REMOTE

remote IP-O-DNS-DEL-EQUIPO ; reemplazar con la IP publica o DNS del equipo



b) Agregar las rutas internas del cliente

Agregar una linea route por cada red interna a la que el usuario debe acceder via VPN:

RUTAS INTERNAS

route 192.168.88.0 255.255.255.0

route 10.70.2.0 255.255.255.0

route X.X.X.0 255.255.255.0 ; agregar todas las redes necesarias



c) Incrustar los certificados

  1. Abrir export-CLIENTE-CA.crt con el Bloc de Notas, seleccionar todo (Ctrl+A) y copiar (Ctrl+C).

  2. En el .ovpn, reemplazar el comentario dentro de <ca> ... </ca> con el contenido copiado.

  3. Repetir para export-CLIENTE-dbyte.crt en el bloque <cert> ... </cert>.

  4. Repetir para export-CLIENTE-dbyte-key.key en el bloque <key> ... </key>.


El resultado correcto dentro de cada bloque:

ESTRUCTURA CORRECTA DE CERTIFICADOS

<ca>

-----BEGIN CERTIFICATE-----

MIIFxTCCA62gAwIBAgII...

-----END CERTIFICATE-----

</ca>

<cert>

-----BEGIN CERTIFICATE-----

MIIFrjCCA5agAwIBAgII...

-----END CERTIFICATE-----

</cert>

<key>

-----BEGIN RSA PRIVATE KEY-----

MIIJKAIBAAKCAgEA...

-----END RSA PRIVATE KEY-----

</key>



ADVERTENCIA - COMENTARIOS RESIDUALES

No deben quedar comentarios (#) dentro de los bloques <ca>, <cert> o <key>. Solo el contenido del certificado entre las lineas BEGIN y END.

ADVERTENCIA - LINEAS [INLINE]

No incluir las lineas: ca [inline] / cert [inline] / key [inline]. Rompen la importacion en OpenVPN Connect.


d) Guardar el archivo

Guardar el archivo con el nombre del cliente. Ejemplo: Transportes-BGR.ovpn


4 COMPATIBILIDAD POR VERSION DE CLIENTE OPENVPN


La directiva disable-dco del archivo .ovpn debe ajustarse segun la version del cliente:

VERSION DEL CLIENTE

DISABLE-DCO EN EL .OVPN

ACCION

OpenVPN 2.5.x

No soportado - da error al importar

Comentar con punto y coma: ;disable-dco

OpenVPN 2.6.x

Soportado y recomendado

Dejar activo: disable-dco

OpenVPN 2.7.x

Soportado y recomendado

Dejar activo: disable-dco

OpenVPN Connect PC

No aplica, lo ignora

Indiferente - dejar activo o comentado


Para OpenVPN 2.5.x - comentar con punto y coma:

OPENVPN 2.5.X

;disable-dco



Para OpenVPN 2.6.x, 2.7.x y OpenVPN Connect:

OPENVPN 2.6+ Y CONNECT

disable-dco



NOTA

Si el ambiente tiene mezcla de versiones 2.5 y 2.6+, usar la version comentada. OpenVPN 2.6+ funciona igual con o sin la directiva cuando el servidor es MikroTik.


5 AJUSTES EN OPENVPN CONNECT PC


OpenVPN Connect tiene configuraciones globales que pueden interferir con la conexion a MikroTik. Verificar y ajustar en Settings:

AJUSTE

VALOR CORRECTO

DONDE ENCONTRARLO

VPN Protocol

TCP

Settings > General

Enable DCO

Desactivado

Settings > Advanced

Enforce TLS 1.3

Desactivado

Settings > Advanced

DNS Fallback

Activado

Settings > Advanced


ADVERTENCIA - TLS 1.3

Enforce TLS 1.3 debe estar desactivado. RouterOS 6 no soporta TLS 1.3 y la conexion falla.

ADVERTENCIA - ENABLE DCO

Enable DCO debe estar desactivado. Puede causar problemas con el servidor MikroTik.


5.1 — Navegacion cortada al conectar

Si el usuario reporta que al conectar la VPN pierde acceso a internet, verificar que el .ovpn tenga esta linea:

LINEA REQUERIDA EN EL .OVPN

pull-filter ignore "dhcp-option DNS"



Esta linea hace que el cliente ignore el DNS que empuja el servidor y conserve el DNS local del sistema. Sin ella, OpenVPN Connect reemplaza el DNS y corta la navegacion.


6 CHECKLIST DE CIERRE POR EQUIPO


1

Script ejecutado sin errores hasta FIN

2

3 certificados presentes con flags correctos en /certificate print brief

3

3 archivos descargados de Winbox > Files

4

Remote correcto en el .ovpn

5

Rutas internas del cliente declaradas en el .ovpn

6

3 bloques de certificados completos sin comentarios internos

7

disable-dco ajustado segun version del cliente

8

Ajustes de OpenVPN Connect verificados (DCO, TLS 1.3, protocolo TCP)

9

Conexion probada y verificada

10

Acceso a redes internas verificado

11

Archivo .ovpn entregado al usuario por canal seguro


A APENDICE - COMANDOS DE REFERENCIA RAPIDA


VERIFICAR ESTADO DEL SERVIDOR OPENVPN

/interface ovpn-server server print



VERIFICAR CERTIFICADOS

/certificate print brief



VERIFICAR USUARIOS VPN CONECTADOS

/ppp active print



VER ARCHIVOS EXPORTADOS EN EL ROUTER

/file print brief



VERIFICAR PERFIL PPP

/ppp profile print where name=OVPN-PERFIL



VERIFICAR CONFIGURACION DEL SERVIDOR

/interface ovpn-server server print




    • Related Articles

    • Lista blanca en 365

      Usar listas seguras y otras técnicas para evitar el marcado erróneo de mensajes como correo no deseado   Puede ser frustrante tener correo legítimo, buena puesto en cuarentena o bloqueado como si se tratase de correo no deseado. Para evitar que el ...
    • "SESION INVALIDA" En pagina web (AFIP)

      Has intentado entrar en Herramientas, Opciones de internet, Opciones avanzadas, Restaurar, Restablecer Te pedirá reiniciar Internet Explorer. Vuelve nuevamente a Herramientas, opciones de Internet, Opciones avanzadas y controla que estén tildadas las ...
    • Pérdida de acceso administrativo en Sophos XG/XGS

      ✅ SOLUCIÓN DEFINITIVA - Pérdida de acceso administrativo en Sophos XG/XGS Problema ejemplo: pierdo el acceso al firewall SOPHOS por alguna regla mal configurada, etc. Solución paso a paso: Conectar por consola serial (cable RJ45 a DB9 con PuTTY) ...
    • Solucionar problemas de parpadeo de la pantalla en Windows 10

      El parpadeo de pantalla en Windows 10 viene provocado normalmente por un problema de controlador de pantalla o aplicación incompatible. Para determinar si un controlador de pantalla o una aplicación causan el problema, compruebe si el administrador ...
    • Acceso mediante WAF – necesidad de IP fija

      ? Uso de WAF en D-BYTE para ePresis En D-BYTE utilizamos como medida de protección un Web Application Firewall (WAF). Este servicio agrega una capa de seguridad adicional entre los usuarios y las aplicaciones, inspeccionando y filtrando el tráfico ...