← Volver al Blog DevBlog
Redes y Seguridad 2026

OpenVPN con MikroTik

Guía completa para configurar servidores y clientes OpenVPN en routers MikroTik, incluyendo conexiones site-to-site y multi-plataforma

📖 Página 1: Introducción

"La seguridad no es un producto, sino un proceso." — Bruce Schneier

🔐 ¿Qué es OpenVPN?

OpenVPN es un protocolo de VPN de código abierto que utiliza SSL/TLS para crear conexiones seguras y cifradas. Es ampliamente reconocido por su flexibilidad, compatibilidad y robustez en el establecimiento de túneles entre dispositivos.

Según la documentación oficial de OpenVPN, este protocolo implementa extensiones de red seguras de capa 2 o 3 utilizando el protocolo SSL/TLS, soportando IPv4 e IPv6.

🎯 ¿Por qué usar OpenVPN con MikroTik?

Los routers MikroTik con RouterOS ofrecen soporte nativo para OpenVPN, permitiendo:

📋 Objetivos de este Ebook

Este manual te guiará paso a paso para configurar:

  1. ✅ Un servidor OpenVPN en un router MikroTik
  2. ✅ Conexiones VPN entre dos routers MikroTik (site-to-site)
  3. ✅ Clientes OpenVPN en sistemas operativos Windows, Linux y macOS

💡 Página 2: Conceptos Fundamentales

"Conocerse a uno mismo es el principio de toda sabiduría." — Aristóteles

🏗️ Arquitectura Cliente-Servidor

OpenVPN funciona bajo un modelo cliente-servidor:

┌─────────────────────────────────────────────────────────┐
│                    INTERNET                             │
└─────────────────┬─────────────────────────────────────┘
                  │
                  ▼
┌─────────────────────────────────────────────────────────┐
│  MIKROTIK SERVIDOR                                     │
│  ┌─────────────────────────────────────────────────┐   │
│  │  OpenVPN Server (Puerto 1194)                    │   │
│  │  IP: 10.8.0.1                                   │   │
│  └─────────────────────────────────────────────────┘   │
└─────────────────┬─────────────────────────────────────┘
                  │
        ┌─────────┼─────────┐
        ▼         ▼         ▼
    ┌───────┐ ┌───────┐ ┌──────────┐
    │ Win   │ │ Linux │ │  macOS   │
    │ 10.8.0│ │10.8.0 │ │  10.8.0.x│
    └───────┘ └───────┘ └──────────┘

🔌 Tipos de Conexión

Acceso Remoto (Road Warrior)

Un cliente individual se conecta a la red corporativa desde una ubicación remota. El cliente obtiene una IP de la red VPN y puede acceder a los recursos internos.

Caso de uso: Empleado trabajando desde casa conectándose a la oficina.

Site-to-Site (Gateway-to-Gateway)

Dos routers MikroTik crean un túnel permanente entre dos ubicaciones físicas diferentes. Los dispositivos en ambas redes pueden comunicarse como si estuvieran en la misma red local.

Caso de uso: Oficina principal conectada con sucursal.

⚙️ Modos de Operación

Modo Capa Descripción
TUN Capa 3 (Red) Enruta tráfico entre redes. Más eficiente.
TAP Capa 2 (Enlace) Simula switch ethernet. Permite protocolos no IP.

🌐 Protocolos de Transporte

Protocolo Puerto Ventajas Desventajas
UDP 1194 Mayor rendimiento, menor latencia Puede ser bloqueado por firewalls
TCP 1194 Atravesar firewalls fácilmente Mayor overhead
Nota: RouterOS 7+ soporta ambos protocolos. RouterOS 6 solo TCP.

📦 Página 3: Preparación y Requisitos

"El éxito es la suma de pequeños esfuerzos repetidos día tras día." — Robert Collier

🖥️ Requisitos de Hardware y Software

En el Servidor (MikroTik)

Requisito Especificación
Router MikroTik con RouterOS 6.x+ (recomendado 7.x)
Paquete PPP instalado y habilitado
Acceso WinBox, WebFig o SSH
Red IP pública estática o DDNS configurado

En los Clientes

Sistema Software
Windows OpenVPN GUI o OpenVPN Connect
Linux Paquete openvpn o NetworkManager
macOS Tunnelblick o OpenVPN Connect

🗺️ Topología de Red de Ejemplo

Para este manual usaremos la siguiente configuración:

Elemento Valor
Red LAN del servidor 192.168.10.0/24
IP del servidor LAN 192.168.10.1
Pool de IPs VPN 10.8.0.0/24
IP del servidor VPN 10.8.0.1
Puerto OpenVPN 1194
Protocolo TCP

🔥 Puertos y Firewall

Asegúrate de que el puerto 1194 (o el que configures) esté abierto en:

  1. ✅ El firewall del MikroTik (Input chain)
  2. ✅ El router ISP o firewall externo
  3. ✅ NAT/PAT si existe redirección de puertos

🔑 Página 4: Generación de Certificados

"La seguridad es un proceso, no un producto." — Bruce Schneier

¿Por qué necesitamos certificados?

OpenVPN utiliza certificados SSL para:

  1. Autenticación: Verificar la identidad del servidor y clientes
  2. Cifrado: Establecer canales de comunicación seguros
  3. Integridad: Garantizar que los datos no fueron manipulados

🏛️ Crear la Autoridad Certificadora (CA)

Desde el terminal del MikroTik:

/certificate
add name=ca-ca common-name="MiCA" days-valid=3650 key-size=4096 key-usage=crl-sign,key-cert-sign
sign ca-ca
Importante: Guarda esta contraseña. La necesitarás para firmar certificados.

🖥️ Crear Certificado del Servidor

/certificate
add name=ovpn-server common-name="servidor-ovpn" days-valid=3650 key-size=4096 key-usage=digital-signature,key-encipherment,tls-server
sign ovpn-server ca=ca-ca

👤 Crear Certificado del Cliente

/certificate
add name=ovpn-client common-name="cliente-ovpn" days-valid=3650 key-size=4096 key-usage=tls-client
sign ovpn-client ca=ca-ca

📤 Exportar Certificados

/certificate export-certificate ca-ca export-passphrase=""
/certificate export-certificate ovpn-client export-passphrase="password-cliente"

Verificar Certificados

/certificate print

Deberás ver los certificados firmados (T) en la columna FLAGS:

Flags: K - PRIVATE KEY, T - SIGNED, C - CRL SIGNING
 #  NAME           COMMON-NAME        VALIDITY
 0 T ca-ca         MiCA               mar/2036 06:34:56
 1 KT ovpn-server  servidor-ovpn      mar/2036 06:36:12
 2 KT ovpn-client  cliente-ovpn       mar/2036 06:37:05

⚙️ Página 5: Configuración del Servidor OpenVPN

"Todo lo worth doing, worth doing well."

1️⃣ Paso 1: Crear el Pool de IPs

/ip pool add name=ovpn-pool ranges=10.8.0.10-10.8.0.50

2️⃣ Paso 2: Crear el Perfil PPP

/ppp profile add name=ovpn-profile local-address=10.8.0.1 remote-address=ovpn-pool dns-server=8.8.8.8,8.8.4.4 use-encryption=yes

3️⃣ Paso 3: Crear Usuario

/secret add name=usuario-vpn password=PasswordSegura123 service=ovpn profile=ovpn-profile

4️⃣ Paso 4: Habilitar el Servidor OpenVPN

/interface ovpn-server server set enabled=yes \
  certificate=ovpn-server \
  default-profile=ovpn-profile \
  port=1194 \
  protocol=tcp \
  mode=ip \
  netmask=24 \
  require-client-certificate=yes \
  auth=sha256 \
  cipher=aes256

Parámetros Explicados

Parámetro Descripción
enabled=yes Activa el servidor OpenVPN
certificate Certificado del servidor creado anteriormente
default-profile Perfil PPP usado por defecto
port Puerto de escucha (1194 por defecto)
protocol TCP o UDP
require-client-certificate Exige certificado del cliente

5️⃣ Paso 5: Configurar Firewall

Regla Input (permitir conexiones entrantes)

/ip firewall filter add chain=input protocol=tcp dst-port=1194 action=accept

Regla NAT (para que clientes VPN accedan a Internet)

/ip firewall nat add chain=srcnat out-interface=ether1 action=masquerade
Nota: Reemplaza "ether1" por tu interfaz WAN real. Verifica con /interface print.

🌐 Página 6: Configuración Site-to-Site

"Dos cerebros valen más que uno." — Proverbio

📊 Escenario

Dos oficinas necesitan comunicarse a través de VPN:

OFICINA A                              OFICINA B
┌──────────────┐                      ┌──────────────┐
│ Mikrotik A   │◄──── VPN TUNNEL ────►│ Mikrotik B   │
│ IP Pública   │    (10.8.0.x)        │ IP Pública   │
│ LAN: 192.168 │                      │ LAN: 192.168 │
│   .10.0/24   │                      │   .20.0/24   │
└──────────────┘                      └──────────────┘

🏢 Configuración en el MikroTik Servidor (Oficina A)

Ya completada en las páginas anteriores. Asegúrate de:

  1. ✅ Tener un usuario para la oficina B
  2. ✅ Exportar los certificados necesarios
  3. ✅ La regla de firewall permita el tráfico entre redes

🏪 Configuración en el MikroTik Cliente (Oficina B)

Importar certificados

Sube los archivos al MikroTik cliente y luego:

/certificate import file-name=ca.crt
/certificate import file-name=cliente.crt passphrase=password-cliente

Crear perfil PPP

/ppp profile add name=ovpn-client-profile local-address=10.8.0.2 remote-address=10.8.0.1 use-encryption=yes

Configurar el cliente OpenVPN

/interface ovpn-client add name=ovpn-out1 \
  connect-to=IP_PUBLICA_SERVIDOR \
  certificate=cliente.crt \
  user=usuario-vpn \
  password=PasswordSegura123 \
  profile=ovpn-client-profile \
  port=1194 \
  protocol=tcp

🔍 Verificar Conexión

/interface ovpn-client monitor ovpn-out1

Deberías ver:

         name: ovpn-out1
         status: connected
      duration: 0s
    encoding: AES-256-SHA256
   idle-time: 0s
    session-id: 1
   recursive-nat: no

🛤️ Añadir Rutas Estáticas

Para que la Oficina B acceda a la red de la Oficina A:

/ip route add dst-address=192.168.10.0/24 gateway=10.8.0.1

Para que la Oficina A acceda a la red de la Oficina B:

En el servidor, añade:

/ip route add dst-address=192.168.20.0/24 gateway=10.8.0.2

🪟 Página 7: Conexión desde Windows

"El conocimiento es poder." — Francis Bacon

📥 Instalar OpenVPN

  1. Descarga OpenVPN GUI desde openvpn.net
  2. Ejecuta el instalador con permisos de administrador
  3. Finaliza la instalación

📁 Preparar Archivos de Configuración

Necesitas los siguientes archivos del servidor:

Archivo Descripción
ca.crt Certificado de la CA
cliente.crt Certificado del cliente
cliente.key Clave privada del cliente
cliente.ovpn Archivo de configuración

📝 Crear archivo .ovpn

Guarda como cliente.ovpn:

client
dev tun
proto tcp
remote TU_IP_PUBLICA 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-CBC
auth SHA256
auth-user-pass

<ca>
# -----BEGIN CERTIFICATE-----
# [Pega el contenido de ca.crt]
# -----END CERTIFICATE-----
</ca>

<cert>
# -----BEGIN CERTIFICATE-----
# [Pega el contenido de cliente.crt]
# -----END CERTIFICATE-----
</cert>

<key>
# -----BEGIN PRIVATE KEY-----
# [Pega el contenido de cliente.key]
# -----END PRIVATE KEY-----
</key>

verb 3

📂 Instalar Certificados

Copia todos los archivos a:

C:\Program Files\OpenVPN\config\

🔗 Conectar

  1. Ejecuta OpenVPN GUI como Administrador
  2. Haz clic derecho sobre el icono en la bandeja del sistema
  3. Selecciona "Conectar"
  4. Ingresa el usuario y contraseña cuando se solicite

Verificar Conexión

🐧 Página 8: Conexión desde Linux

"Linux es como un bikini: pequeño, abierto, y teasing." — Juan Antonio

📦 Instalación

Debian/Ubuntu

sudo apt update
sudo apt install openvpn

Fedora/RHEL

sudo dnf install openvpn

Arch Linux

sudo pacman -S openvpn

⚙️ Configuración

Crear directorio de configuración

sudo mkdir -p /etc/openvpn/client
sudo chmod 700 /etc/openvpn/client

Crear archivo de configuración

Guarda en /etc/openvpn/client/cliente.conf:

client
dev tun
proto tcp
remote TU_IP_PUBLICA 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-CBC
auth SHA256
auth-user-pass

ca /etc/openvpn/client/ca.crt
cert /etc/openvpn/client/cliente.crt
key /etc/openvpn/client/cliente.key

verb 3

Copiar certificados

sudo cp ca.crt /etc/openvpn/client/
sudo cp cliente.crt /etc/openvpn/client/
sudo cp cliente.key /etc/openvpn/client/
sudo chmod 600 /etc/openvpn/client/cliente.key

▶️ Conexión Manual

sudo openvpn --config /etc/openvpn/client/cliente.conf

Ingresa el usuario y contraseña cuando se solicite.

🚀 Conexión con systemctl

sudo cp /etc/openvpn/client/cliente.conf /etc/openvpn/client.conf
sudo systemctl enable openvpn-client@client
sudo systemctl start openvpn-client@client

🌐 Conexión con NetworkManager

  1. Abre Configuración → Red → VPN
  2. Selecciona "Importar configuración de VPN"
  3. Elige el archivo .ovpn
  4. Completa usuario y contraseña
  5. Activa la conexión

🍎 Página 9: Conexión desde macOS

"There's a way to do it better - find it." — Thomas A. Edison

📱 Opciones de Cliente

Aplicación Tipo Descarga
OpenVPN Connect Oficial App Store
Tunnelblick Código Abierto tunnelblick.net

🔧 Usando Tunnelblick

Instalación

  1. Descarga Tunnelblick desde tunnelblick.net
  2. Ejecuta el instalador
  3. Arrastra Tunnelblick a Aplicaciones

Configuración

  1. Crea una carpeta llamada VPN Config
  2. Coloca dentro:
    • ca.crt
    • cliente.crt
    • cliente.key
    • cliente.ovpn
  3. Edita cliente.ovpn:
client
dev tun
proto tcp
remote TU_IP_PUBLICA 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-CBC
auth SHA256
auth-user-pass

ca ca.crt
cert cliente.crt
key cliente.key

verb 3
  1. Doble clic en el archivo .ovpn para importar

Conectar

  1. Abre Tunnelblick desde el menú
  2. Selecciona "Conectar"
  3. Ingresa credenciales

Verificar Conexión

ifconfig | grep -A 5 tun

Deberías ver una interfaz tun0 con IP del rango 10.8.0.x

🔧 Página 10: Diagnóstico y Solución de Problemas

"Los problemas no son señales de alto, sino guías."

Problemas Comunes y Soluciones

❌ "TLS Failed" o "TLS Handshake Failed"

Causas posibles:

Soluciones:

  1. Verifica que los certificados estén correctamente firmados
  2. Asegúrate de usar los mismos algoritmos (cipher y auth)
  3. Sincroniza la hora del dispositivo cliente
/system clock set time-zone-name=America/New_York
/system ntp client set enabled=yes primary-ntp=pool.ntp.org

❌ "Connection Refused"

Causas:

Soluciones:

  1. Verifica regla firewall:
/ip firewall filter print where dst-port=1194
  1. Confirma que el puerto está abierto en el router ISP
  2. Verifica la IP pública del servidor

❌ "No Valid Certificates"

Causa: El certificado del cliente no está firmado por la CA

Solución:

/certificate sign ovpn-client ca=ca-ca

❌ "Could Not Connect" (todos los intentos)

Causas:

Soluciones:

/ping 8.8.8.8
/interface ovpn-server server print

🔍 Comandos de Diagnóstico

Comando Descripción
/interface ovpn-server monitor Ver estado del servidor
/ppp active print Ver conexiones activas
/log print where message~"ovpn" Ver logs en tiempo real
/interface ovpn-server print Ver interfaces servidor
/interface ovpn-client print Ver interfaces cliente

🛡️ Mejores Prácticas de Seguridad

  1. Usa certificados con validez limitada (1-2 años)
  2. Habilita autenticación de dos factores (certificado + contraseña)
  3. Mantén RouterOS actualizado
  4. Usa cifrado fuerte (AES-256 + SHA256 mínimo)
  5. Rota certificados periódicamente
  6. Limita usuarios que pueden conectarse
  7. Usa puertos no estándar para mayor seguridad

🎉 Conclusión

"¡Felicitaciones! Has completado la configuración completa de OpenVPN con MikroTik."

Ahora dispones de:

🚀 Próximos Pasos

📚 Referencias