En esta práctica se configurará una VPN de acceso remoto utilizando un MikroTik RB951Ui-2nD con RouterOS 6.47.4.
El objetivo será que un equipo situado fuera de la red pueda conectarse mediante Internet al MikroTik y acceder a los recursos de la red local.
La configuración se realizará primero mediante WinBox y después se proporcionarán los comandos de RouterOS equivalentes.
1. Objetivo
Al terminar la práctica tendremos esta situación:
INTERNET
│
│
┌───────▼───────┐
│ Router hogar │
│ 192.168.1.1 │
└───────┬───────┘
│
ether1
│
┌───────▼───────┐
│ MikroTik │
│ 192.168.88.1 │
│ │
│ L2TP/IPsec │
└───────┬───────┘
│
192.168.88.0/24
│
┌───────────┼───────────┐
│ │ │
PC Servidor Wi-Fi
Desde fuera:
INTERNET
│
│ VPN
▼
┌───────────┐
│ MikroTik │
└─────┬─────┘
│
▼
RED INTERNA
192.168.88.0/24
El equipo remoto tendrá una dirección de la red VPN, por ejemplo:
192.168.89.10
y podrá acceder a:
192.168.88.1
192.168.88.10
192.168.88.20
...
2. Antes de empezar
La configuración actual del MikroTik será:
WAN:
ether1 → router 192.168.1.1
LAN:
bridgeLocal → 192.168.88.1/24
DHCP:
192.168.88.200-192.168.88.250
Wi-Fi:
ASIR-WIFI
Primero comprobar que Internet funciona.
Desde el MikroTik:
/ping 8.8.8.8
Y desde un ordenador conectado al Wi-Fi:
ping 8.8.8.8
Si esto funciona, podemos continuar.
3. ¿Qué vamos a configurar?
Necesitamos cinco elementos:
1. Servidor L2TP
2. IP para los clientes VPN
3. Usuario y contraseña
4. Clave IPsec
5. Reglas de firewall
Utilizaremos:
Red LAN:
192.168.88.0/24
IP MikroTik:
192.168.88.1
Red VPN:
192.168.89.0/24
Pool VPN:
192.168.89.10-192.168.89.50
Usuario:
alumno
Contraseña:
VPN2026!
Clave IPsec:
MikroTikVPN2026!
En un entorno real habría que utilizar contraseñas y claves mucho más robustas.
4. Crear el pool de direcciones VPN
El pool será el conjunto de direcciones que recibirán los clientes VPN.
En WinBox:
IP → Pool
Pulsar:
+
Configurar:
Name:
pool-vpn
Addresses:
192.168.89.10-192.168.89.50
Pulsar OK.
La configuración quedará:
pool-vpn
192.168.89.10-192.168.89.50
5. Crear el usuario VPN
Ir a:
PPP → Secrets
Pulsar:
+
Configurar:
Name:
alumno
Password:
VPN2026!
Service:
l2tp
Local Address:
192.168.89.1
Remote Address:
pool-vpn
El resultado será:
Usuario:
alumno
Servidor:
192.168.89.1
Cliente:
192.168.89.10-192.168.89.50
Pulsar OK.
6. Activar el servidor L2TP
Ir a:
PPP → Interface → L2TP Server
En algunas versiones de WinBox puede aparecer directamente como:
PPP → L2TP Server
Activar:
Enabled: ✓
En:
Default Profile
seleccionar:
default-encryption
En:
Authentication
podemos dejar:
MS-CHAPv2
Activar:
Use IPsec: yes
En:
IPsec Secret
introducir:
MikroTikVPN2026!
Quedaría aproximadamente:
Enabled: ✓
Default Profile: default-encryption
Use IPsec: yes
IPsec Secret: MikroTikVPN2026!
Pulsar OK.
7. ¿Qué acabamos de hacer?
El MikroTik ahora está preparado para recibir conexiones:
Cliente
│
│ L2TP
│
│ IPsec
▼
MikroTik
La conexión estará protegida mediante IPsec.
El usuario será:
alumno
y la contraseña:
VPN2026!
8. Configurar el firewall
Esta parte es importante.
El MikroTik tiene que permitir desde Internet el tráfico necesario para establecer la VPN.
L2TP utiliza:
UDP 1701
IPsec utiliza:
UDP 500
UDP 4500
También se utiliza:
ESP
que es el protocolo IP 50.
9. Permitir IPsec
En WinBox:
IP → Firewall → Filter Rules
Añadir una regla.
Regla 1
Chain:
input
Protocol:
udp
Dst. Port:
500
Action:
accept
Comentario:
VPN IPsec UDP 500
Añadir otra:
Chain:
input
Protocol:
udp
Dst. Port:
4500
Action:
accept
Comentario:
VPN IPsec UDP 4500
Añadir otra:
Chain:
input
Protocol:
ipsec-esp
Action:
accept
Comentario:
VPN IPsec ESP
10. Permitir L2TP
Añadir:
Chain:
input
Protocol:
udp
Dst. Port:
1701
Action:
accept
Comentario:
VPN L2TP
11. Orden de las reglas
El orden es importante.
Las reglas de VPN deben estar antes de una regla general que bloquee el tráfico procedente de ether1.
Por ejemplo:
INPUT
1 established/related ACCEPT
2 ICMP ACCEPT
3 IPsec UDP 500 ACCEPT
4 IPsec UDP 4500 ACCEPT
5 IPsec ESP ACCEPT
6 L2TP UDP 1701 ACCEPT
7 LAN ACCEPT
8 WAN DROP
No debemos colocar:
WAN DROP
antes de las reglas de VPN.
12. Permitir que la VPN acceda a la LAN
Ahora tenemos que permitir:
192.168.89.0/24
↓
192.168.88.0/24
En:
IP → Firewall → Filter Rules
Crear:
Chain:
forward
Src. Address:
192.168.89.0/24
Dst. Address:
192.168.88.0/24
Action:
accept
Comentario:
VPN hacia LAN
13. Permitir el tráfico de retorno
También podemos permitir el tráfico relacionado:
Chain:
forward
Src. Address:
192.168.88.0/24
Dst. Address:
192.168.89.0/24
Action:
accept
Comentario:
LAN hacia VPN
14. NAT
Aquí hay un detalle importante.
El tráfico:
VPN → LAN
no debería necesitar NAT.
Queremos que el servidor vea realmente al cliente:
192.168.89.10
y no que todo parezca proceder de:
192.168.88.1
Por eso no debemos hacer masquerade entre VPN y LAN.
La regla de NAT existente:
chain=srcnat
out-interface=ether1
action=masquerade
seguirá utilizándose para:
LAN → Internet
15. Configuración del cliente
Ahora necesitamos un ordenador situado fuera de la red.
Por ejemplo:
Portátil
│
Wi-Fi de otra red
│
Internet
│
VPN
│
MikroTik
En Windows se puede utilizar el cliente VPN integrado.
Ir a:
Configuración → Red e Internet → VPN
Seleccionar:
Agregar VPN
Configurar:
Proveedor:
Windows (integrado)
Nombre:
VPN-MikroTik
Nombre o dirección del servidor:
IP pública del MikroTik
Tipo de VPN:
L2TP/IPsec con clave previamente compartida
Clave previamente compartida:
MikroTikVPN2026!
Tipo de información de inicio de sesión:
Nombre de usuario y contraseña
Usuario:
alumno
Contraseña:
VPN2026!
Guardar.
16. El problema de la IP pública
Aquí hay un punto importante en tu instalación.
Tu MikroTik tiene:
ether1
↓
192.168.1.x
↓
Router 192.168.1.1
↓
Internet
Por tanto, el MikroTik no tiene directamente la IP pública.
Tenemos:
Internet
│
▼
Router 192.168.1.1
│
▼
MikroTik 192.168.1.x
Para que la VPN funcione desde Internet hay que hacer una pequeña configuración en el router 192.168.1.1.
17. Redirección de puertos en el router principal
En el router 192.168.1.1 hay que redirigir hacia la IP WAN del MikroTik:
UDP 500
UDP 4500
UDP 1701
Por ejemplo, si el MikroTik recibió:
192.168.1.128
la redirección sería:
UDP 500 → 192.168.1.128:500
UDP 4500 → 192.168.1.128:4500
UDP 1701 → 192.168.1.128:1701
La IP 192.168.1.128 es solo un ejemplo. Hay que utilizar la que realmente haya recibido tu MikroTik.
Puedes comprobarla con:
/ip dhcp-client print
18. Probar primero desde la red local
Antes de probar desde Internet, conviene verificar que el servidor VPN funciona.
El cliente puede estar conectado a la misma red:
Cliente
192.168.88.x
│
▼
MikroTik
192.168.88.1
Configurar el cliente VPN apuntando a:
192.168.88.1
Si funciona localmente, después pasaremos a la prueba desde Internet.
19. Comprobar el estado de la VPN
En el MikroTik:
PPP → Active Connections
Cuando el cliente se conecte debería aparecer algo parecido a:
alumno
192.168.89.10
También podemos utilizar:
/ppp active print
20. Comprobar la dirección del cliente
En:
/ppp active print detail
podremos ver información de la conexión.
El cliente debería recibir una dirección:
192.168.89.x
Por ejemplo:
192.168.89.10
21. Probar el acceso a la LAN
Una vez conectada la VPN:
Cliente VPN
192.168.89.10
│
▼
MikroTik
│
▼
192.168.88.0/24
Probar:
ping 192.168.88.1
Si tienes un servidor:
ping 192.168.88.10
Y si tienes un ordenador:
ping 192.168.88.20
22. Comandos completos de RouterOS
Una vez entendida la configuración gráfica, podemos hacer prácticamente todo desde terminal.
Crear el pool
/ip pool
add name=pool-vpn ranges=192.168.89.10-192.168.89.50
Crear el usuario
/ppp secret
add name=alumno password="VPN2026!" service=l2tp local-address=192.168.89.1 remote-address=pool-vpn
Activar L2TP/IPsec
/interface l2tp-server server
set enabled=yes default-profile=default-encryption use-ipsec=yes ipsec-secret="MikroTikVPN2026!" authentication=mschap2
Permitir IPsec
/ip firewall filter
add chain=input protocol=udp dst-port=500 action=accept comment="VPN IPsec UDP 500"
/ip firewall filter
add chain=input protocol=udp dst-port=4500 action=accept comment="VPN IPsec UDP 4500"
/ip firewall filter
add chain=input protocol=ipsec-esp action=accept comment="VPN IPsec ESP"
Permitir L2TP
/ip firewall filter
add chain=input protocol=udp dst-port=1701 action=accept comment="VPN L2TP"
Permitir VPN hacia LAN
/ip firewall filter
add chain=forward src-address=192.168.89.0/24 dst-address=192.168.88.0/24 action=accept comment="VPN hacia LAN"
Permitir LAN hacia VPN
/ip firewall filter
add chain=forward src-address=192.168.88.0/24 dst-address=192.168.89.0/24 action=accept comment="LAN hacia VPN"
23. Comandos para comprobarlo todo
Pool
/ip pool print
Usuarios
/ppp secret print
Servidor L2TP
/interface l2tp-server server print
Clientes conectados
/ppp active print
Firewall
/ip firewall filter print
NAT
/ip firewall nat print
Rutas
/ip route print
Direcciones
/ip address print
Logs
/log print
24. Comprobar específicamente la conexión VPN
Cuando intentemos conectarnos, podemos utilizar:
/ppp active print
Si aparece:
name=alumno
la autenticación ha funcionado.
También:
/log print
para buscar mensajes relacionados con:
l2tp
ipsec
ppp
25. Ejercicio para completar
El ejercicio puede plantearse de esta manera:
Parte 1
Configurar:
Servidor L2TP/IPsec
Parte 2
Crear:
Usuario: alumno
Parte 3
Configurar:
Pool:
192.168.89.10-192.168.89.50
Parte 4
Configurar el firewall.
Parte 5
Configurar un ordenador como cliente VPN.
Parte 6
Conectar.
Parte 7
Comprobar:
ping 192.168.88.1
Parte 8
Acceder a un recurso de la red:
192.168.88.x
Parte 9
Comprobar en el MikroTik:
/ppp active print
Parte 10
Explicar el recorrido:
┌─────────────┐
│ Cliente │
│ remoto │
└──────┬──────┘
│
│ Internet
│
▼
┌─────────────┐
│ Router │
│ 192.168.1.1 │
└──────┬──────┘
│
▼
┌──────────────┐
│ MikroTik │
│ L2TP/IPsec │
└──────┬───────┘
│
▼
192.168.88.0/24
│
├── PC
├── Servidor
└── Wi-Fi
Resultado esperado
El alumno debe conseguir que un equipo situado fuera de la red pueda establecer una conexión L2TP/IPsec con el MikroTik y acceder a los dispositivos de 192.168.88.0/24.
Importante: antes de hacer la prueba desde Internet, hay que conocer qué IP WAN recibe realmente tu MikroTik y configurar el reenvío de puertos en el router 192.168.1.1. Si el operador utiliza CG-NAT, una VPN entrante desde Internet tampoco funcionará directamente sin una solución adicional.