MikroTik a la fecha no ofrece un sistema de administración basado en la nube.
Pero MikroTik con sus diferentes herramientas que tiene se puede generar una plataforma propia para la administración de los equipos en un esquema de conexiones en la nube.
Para generar nuestra plataforma de administración tenemos dos opciones que podemos elegir:
Tener un Router MikroTik como servidor, para esta opción será necesario contar con un servicio de internet que nos permita abrir y redireccionar el trafico de los puertos necesarios para las conexiones de los clientes.
Contratar el hospedaje de una instancia CHR de MikroTik que es un router virtual con el RouterOS de MikroTik.
Diagrama de conectividad
Requisitos Previos:
Configurar cada router remoto con un segmento de Red LAN único:
Que los Routers remotos tengan servicio de internet.
Sin importar cuál de las formas que tengamos para montar el Servidor, la configuración es exactamente la misma.
Configurando el Servidor
Paso 1.- Primero permitiremos las conexiones de los clientes por los puertos que usara nuestra VPN
#Permitir conexiones en los puertos de la VPN
/ip firewall filter
add action=accept chain=input comment=in_accept_ipsec in-interface=ether1 protocol=ipsec-esp place-before=0
add action=accept chain=input comment=in_accept_ipsec dst-port=500,4500 in-interface=ether1 protocol=udp place-before=0
add action=accept chain=input comment=in_accept_l2tp dst-port=1701 in-interface=ether1 protocol=udp place-before=0
/ip firewall filter> print
Flags: X - disabled, I - invalid, D - dynamic
0 ;;; in_accept_L2TP
chain=input action=accept protocol=udp dst-port=1701 log=no log-prefix=""
1 ;;; in_accept_IPsec
chain=input action=accept protocol=udp dst-port=500,4500 log=no log-prefix=""
2 ;;; in_accept_IPsec
chain=input action=accept protocol=ipsec-esp log=no log-prefix=""
Paso 2.- Ahora habilitaremos el servicio en nuestro Router de VPN
/interface l2tp-server server
set authentication=mschap2 enabled=yes ipsec-secret=password-ipsec use-ipsec=yes
/interface l2tp-server server> print
enabled: yes
max-mtu: 1450
max-mru: 1450
mrru: disabled
authentication: mschap2
keepalive-timeout: 30
max-sessions: unlimited
default-profile: default-encryption
use-ipsec: yes
ipsec-secret: password-ipsec
caller-id-type: ip-address
one-session-per-host: no
allow-fast-path: no
Paso 3.- Ahora ya solo nos falta generar las credenciales de los equipos que se van a conectar con nuestro servidor
/ppp secret
add local-address=10.10.10.1 name=Usuario1 password=password1 profile=default-encryption remote-address=10.10.10.2 service=l2tp
add local-address=10.10.10.1 name=Usuario2 password=password2 profile=default-encryption remote-address=10.10.10.3 service=l2tp
add local-address=10.10.10.1 name=Usuario3 password=password3 profile=default-encryption remote-address=10.10.10.4 service=l2tp
/ppp secret> print
Flags: X - disabled
# NAME SERVICE CALLER-ID PASSWORD PROFILE REMOTE-ADDRESS
0 Usuario1 l2tp password1 default-enc 10.10.10.3
1 Usuario2 l2tp password2 default-enc 10.10.10.2
2 Usuario3 l2tp password3 default-enc 10.10.10.4
Paso 4.- Tenemos que activar la opción de proxy-arp, para que los clientes que no son routers puedan usar la tabla de ARP del servidor, esto es por qué los equipos como laptops, celulares, tablets; no tiene la forma de configurar reglas de rutas.
/interface ethernet
set [ find default-name=ether1 ] arp=proxy-arp
Configurando al Cliente MikroTik
Los clientes no requerirán que los puertos sean abiertos ni habilitar ningún servicio, lo único que requiere es conectarte al servidor, ya sea por Dominio o IP Publica
Paso 1.- Generaremos las credenciales de conexión en el cliente.
/interface l2tp-client
add allow=mschap2 connect-to=IP/Dominio disabled=no ipsec-secret=password-ipsec name=l2tp-VPN password=password1 user=Usuario1
/interface l2tp-client> print
Flags: X - disabled, R - running
0 R name="l2tp-VPN" max-mtu=1450 max-mru=1450 mrru=disabled connect-to=IP/Dominio
user="Usuario1" password="password1" profile=default-encryption keepalive-timeout=60 use-ipsec=yes
ipsec-secret="password-ipsec" allow-fast-path=no add-default-route=no dial-on-demand=no allow=mschap2
Nota: en el código aparece la leyenda "R - running" cuando la conexión se a establecido satisfactoriamente.
Este paso se tendrá que replicar en cada uno de los clientes que se quieran conectar, cada uno con sus propias credenciales.
Conectar dispositivos móviles como clientes
Configuración que se requiere en los equipos
Los equipos remotos que se van a conectar a la red cada uno tiene que tener su propia Red LAN, se puede referir al siguiente articulo:
Una vez que cada equipo cliente a sido configurado y tiene cada uno su propio segmento de Red, tenemos que indicarle al equipo Servidor donde se encuentra cada una de las redes configuradas, para visualizar esto hay que ver el diagrama inicial de la solución:
Configuración del servidor
En el servidor hay que registrar la Red de las direcciones IP de los túneles, así como también las redes remotas a las que se requiere conectar.
La mascara de red que se utilizara en él ID de la red que generan los túneles dependerá de la cantidad de IP's requeridas para el total de los túneles generados.
/ip firewall address-list
add address=10.10.10.0/29 list=Red-Tunnel
add address=192.168.1.0/24 list=Red-Tunnel
add address=192.168.2.0/24 list=Red-Tunnel
En el Firewall, tendremos que generar las reglas donde permitiremos que las redes que son de los túneles puedan conectarse al Servidor así como también pasar por el servidor para alcanzar a las demás redes.
/ip firewall filter
add action=accept chain=forward comment=fw_accept_Red-Tunnel src-address-list=Red-Tunnel place-before=0
add action=accept chain=input comment=in_accept_Red-Admin src-address-list=Red-Tunnel place-before=0
En la tabla de ruteo del servidor generaremos las rutas estáticas para indicar a travez de cual cliente accederemos a la Red LAN:
/ip route
add dst-address=192.168.1.0/24 gateway=10.10.10.2 comment=Red-Oficina
add dst-address=192.168.2.0/24 gateway=10.10.10.3 comment=Red-WISP
/ip route> print
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
B - blackhole, U - unreachable, P - prohibit
# DST-ADDRESS PREF-SRC GATEWAY DISTANCE
0 ADC 10.10.10.2/32 10.10.10.1 <l2tp-Usuario1> 0
1 ADC 10.10.10.3/32 10.10.10.1 <l2tp-Usuario2> 0
2 ADC 10.10.10.4/32 10.10.10.1 <l2tp-Usuario3> 0
3 A S ;;; Red-Oficina
192.168.1.0/24 10.10.10.2 1
4 A S ;;; Red-WISP
192.168.2.0/24 10.10.10.3 1
Configuración del cliente
En el cliente al igual que en el servidor es importante configurar en el Firewall las redes que son del túnel y las redes remotas.
/ip firewall address-list
add address=10.10.10.0/29 list=Red-Tunnel
add address=192.168.1.0/24 list=Red-Tunnel
add address=192.168.2.0/24 list=Red-Tunnel
/ip firewall filter
add action=accept chain=forward comment=fw_accept_Red-Tunnel src-address-list=Red-Tunnel place-before=0
add action=accept chain=input comment=in_accept_Red-Admin src-address-list=Red-Tunnel place-before=0
Dependiendo del router cliente en el que nos encontremos tenemos que dar de alta la Red LAN remota;
El cliente ya conoce la Red LAN 192.168.1.0/24; esto significa que este equipo remotamente requiere conectarse a la Red LAN 192.168.2.0/24
Adicionalmente se tiene que dar de alta una ruta estática hacia la red de los túneles para que el router cliente acepte las conexiones de los equipos móviles.
/ip route
add dst-address=192.168.2.0/24 gateway=10.10.10.1 comment=Red-Oficina
add dst-address=10.10.10.0/29 gateway=10.10.10.1 comment=Red-Tuneles
/ip route> print
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
B - blackhole, U - unreachable, P - prohibit
# DST-ADDRESS PREF-SRC GATEWAY DISTANCE
0 ADC 10.10.10.1/32 10.10.10.2 <l2tp-VPN> 0
1 A S ;;; Red-Tuneles
10.10.10.0/29 10.10.10.1 1
2 A S ;;; Red-WISP
192.168.2.0/24 10.10.10.1 1
El cliente ya conoce la Red LAN 192.168.2.0/24; esto significa que este equipo remotamente requiere conectarse a la Red LAN 192.168.1.0/24
Adicionalmente se tiene que dar de alta una ruta estática hacia la red de los túneles para que el router cliente acepte las conexiones de los equipos móviles.
/ip route
add dst-address=192.168.1.0/24 gateway=10.10.10.1 comment=Red-WISP
/ip route> print
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
B - blackhole, U - unreachable, P - prohibit
# DST-ADDRESS PREF-SRC GATEWAY DISTANCE
0 ADC 10.10.10.1/32 10.10.10.3 <l2tp-VPN> 0
1 A S ;;; Red-Tuneles
10.10.10.0/29 10.10.10.1 1
2 A S ;;; Red-Oficina
192.168.1.0/24 10.10.10.1 1
De esta forma los equipos que se conectan a la VPN puede acceder a los equipos que se encuentran en la Red, y podemos administrar y configurarlos con la nueva app móvil de MikroTik: https://mikrotik.com/mobile_app
¿Donde puedo montar un CHR en la Nube?
Unos de los servicios de hospedaje que se pueden usar son:
Ya entrega el CHR instalado y configurado para ser usado.
¿Qué mas requiero para activar el CHR?
Para activar un CHR se requiere adquirir una licencia:
Licencia Speed limited
Gratis. 1 Mbps
P1 = L4 1 Gbps
P10 = L5. 10 Gbps
P-Unlimited = L6 Unlimited