Mikrotik VPN IPsec establecida pero el tráfico no pasa

Buenos días.

Antes que nada agradecer cualquier ayuda que se me pudiera ofrecer. Estoy aprendiendo cómo configurar un Mikrotik paso a paso por lo que me descargué la ISO de RouterOS y en máquinas virtuales y a base de tutoriales de internet aprender a configurarlo.

Actualmente estoy enfrascado en lograr una VPN punto a punto con IPSec recreando este esquema:
*En Mikrotik B es LAN B y WAN B (me acabo de dar cuenta ahora).
Red.PNG

El problema es que al terminar la configuración el Túnel me aparece como establecido pero al realizar las pruebas típicas de una red a otra, es decir hacer ping, me aparece esto: no route to host.

En primer lugar lo que hice fue borrar la configuración por defecto, ya que quería un laboratorio básico. Después configuré las interfaces configurando un servidor DHCP en ambas LAN. Y por último habilitar en el apartado NAT del firewall la regla masquerade. (Entiendo que esta configuración deja que desear para un entorno real, sobre todo en la parte del firewall, pero mi propósito actual es establecer un túnel IPSec con éxito, no configurar la seguridad de un router, eso será cosa del mañana).

Ahora toca la parte de configurar la parte de configurar la IPSec:

Mikrotik A:

Direcciones:
0.PNG


En esta parte para el profile y el proposal cogeré las configuraciones por defecto:
1.PNG
2.PNG

5.PNG


En la parte peer quiero que el Mikrotik A actúe como cliente y sea el que inicie la comunicación pues es el que va a tener dirección dinámica:
3.PNG


En la parte de Identity designo la PSK (no soy muy original, lo sé):
4.PNG


En la parte de Policy configuro de este modo:
6.PNG
7.PNG


Mikrotik B:

Direcciones:
0.PNG


En esta parte para el profile y el proposal cogeré las configuraciones por defecto:
1.PNG
2.PNG

5.PNG


En la parte de peer quiero que el Mikrotik B se quede a la espera de los clientes pues no sabemos que IP tendrán (he puesto en Address ::/0 para sea equivalente a 0.0.0.0/0, es decir cualquiera, pero en el caso que tengo aunque considere al Mikrotik A cómo estático y ponga WAN A y WAN B en Address y Local Address respsctivamente me da el mismo problema):
3.PNG


En la parte de Identity seguimos siendo tan originales con la PSK:
4.PNG


Y por último quedaría establecer la política:
6.PNG
7.PNG


Una vez que termina esto verificamos si el túnel se ha establecido:

Mikrotik A:
8.PNG


Mikrotik B:
8.PNG


Y por último quedaría configurar el firewall para que no bloquee el tráfico IPSec:

Mikrotik A:
9.PNG
10.PNG


Mikrotik B:

Lo mismo pero cambiando 192.168.1.0/24 por 192.168.2.0/24 (El blog no me dejaba adjuntar más imágenes)

Como ya he dicho varias veces, al final los Mikrotiks no me dan ninguna señal de error (mirando los logs me aparecen dos registros, el de inicio de comunicación y el de comunicación establecida) pero al hacer ping a la red del otro punto me da no route to host, por lo que no pasa tráfico, de la mirando las estadísticas de la Policy de IPSec veo que no se ha transmitido ningún paquete.

Gracias de nuevo por el tiempo que puedan dedicarme.
 
Como estás haciendo el ping? Desde la consola terminal del router, o desde los equipos finales? Si lo haces desde los equipos finales, los ordenadores que salen en tu dibujo, debería funcionar. Si lo haces desde la terminal de los routers mikrotik, asegúrate de especificar el campo “src-address=subred de origen” sino ese tráfico no lo capturará la policy.

sino, mándame el peyecto de gns3 y lo monto en mi máquina, por si le veo algún otro error que a simple vista se me pase.

Saludos!
 
Como estás haciendo el ping? Desde la consola terminal del router, o desde los equipos finales? Si lo haces desde los equipos finales, los ordenadores que salen en tu dibujo, debería funcionar. Si lo haces desde la terminal de los routers mikrotik, asegúrate de especificar el campo “src-address=subred de origen” sino ese tráfico no lo capturará la policy.

sino, mándame el peyecto de gns3 y lo monto en mi máquina, por si le veo algún otro error que a simple vista se me pase.

Saludos!
Estoy haciendo los ping desde los propio routers y también desde las máquinas y me dice lo mismo.

Respecto a las máquina lo estoy haciendo en virtualbox con la iso de mmips, por lo que si quieres te paso los backups. (Aunque no sé cómo enviar dichos archivos por aquí).
 
Estoy haciendo los ping desde los propio routers y también desde las máquinas y me dice lo mismo.

Respecto a las máquina lo estoy haciendo en virtualbox con la iso de mmips, por lo que si quieres te paso los backups. (Aunque no sé cómo enviar dichos archivos por aquí).
Si manejas virtualbox, bájate gns3 y juega con él. Si tienes algo de tablas montando máquinas virtuales, no creo que te cueste demasiado montar el entorno de emulación.

Si tengo un rato a la tarde noche intento montarlo yo y te paso el proyecto.

Saludos!
 
@pokoyo Ya tengo hecho el proyecto, te tocará cambiar la cloud ya que es mi primera vez con gns3 y la conexión con el localhost me salió un poco rara. Ahora solo quedaría enviarlo, lo cual no sé.
 
Si lo metes en un zip, ¿no te deja subirlo aquí? Lo tienes en la carpeta "projects" de GNS3, por el nombre del proyecto. Le haces un zip a esa carpeta y listo. Sino, tira de google drive, dropbox o similar y me plantas el enlace.

Saludos!
 

Aquí paso el enlace del proyecto, ambas routers están reseteados sin la configuración por defecto quitando los cambios que mencioné al principio de este tema (interfaces, direcciones, dhcp, firewall e IPSec), por lo que el usuario es admin y no hay contraseña. es posible que que se tenga que cambiar la cloud para que se pueda conectar a local host, así como a los equipos se les tendrá que hacer ip dhcp -x y acto seguido ip dhcp -r ya que me he encontrado que a veces les cuesta coger ip del dhcp.

Por si acaso también dejo los backups de ambos routes, aunque me he encontrado que en el proyecto puede tocarte darle nombre a las interfaces WAN ya que me encontré que estas interfaces resetearon su nombre a ether2 y la dirección 10.10.10.1 y 10.10.10.2 estaban en unknow.

Por lo demás no encontrado mas fallos respecto al modelo que propuse.

Pido disculpas por el tiempo que pudiera hacer estar perdiendo, entre otras cosas por mi nulo dominio de GNS3, así como agradecer el tiempo que se me dedica.

Un saludo.
 
Al final lo he tenido que montar yo, porque entre unaw cosas y otras, como de costumbre, el gns3 da guerra si lo actualizas y no lo usas desde hace un tiempo.

Te he montado el setup más simple que puedas montar:

1630690740516.png


Las nubes de arriba son tipo NAT, y la de abajo de tipo Cloud. Si enchufas un puerto ethernet del router a la interfaz eth0 de Cloud, tendrás acceso a los equipos via winbox (de ahí esa ñapa que ves con el switch).

Hecho esto, la configuración más simple que se me ocurre montar es la siguiente, teniendo en cuenta que los equipos cogen IP pública de la WAN por DHCP, lo único que hice fue crear un entrada estática en el DNS con la IP WAN del otro equipo en cada uno de ellos. De esta manera, los peers los puedes configurar con ese nombre, por si te cambiara en algún momento. sino, podrías usar siempre una dirección estática de ese segmento, 192.168.122.0/24, y aplicar una ruta por defecto. Yo he preferido usarlo con IP's dinámicas, por no andar configurando las rutas.... pero vamos, que es idéntico.

Con eso, al configuración quedaría así:
Router-A
Código:
/interface ethernet
set [ find default-name=ether1 ] disable-running-check=no
set [ find default-name=ether2 ] disable-running-check=no
set [ find default-name=ether3 ] disable-running-check=no
set [ find default-name=ether4 ] disable-running-check=no
set [ find default-name=ether5 ] disable-running-check=no
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip ipsec peer
add address=router-b.wan exchange-mode=ike2 name=peer
/ip pool
add name=pool-lan ranges=192.168.80.2-192.168.80.254
/ip dhcp-server
add address-pool=pool-lan disabled=no interface=ether2 name=dhcp-lan
/ip address
add address=192.168.80.1/24 interface=ether2 network=192.168.80.0
/ip dhcp-client
add disabled=no interface=ether1
/ip dhcp-server network
add address=192.168.80.0/24 gateway=192.168.80.1
/ip dns
set servers=8.8.8.8,8.8.4.4
/ip dns static
add address=192.168.122.108 name=router-b.wan
/ip firewall nat
add action=masquerade chain=srcnat ipsec-policy=out,none out-interface=ether1
/ip ipsec identity
add peer=peer secret=abc123
/ip ipsec policy
add dst-address=192.168.90.0/24 peer=peer src-address=192.168.80.0/24 tunnel=\
    yes
/system identity
set name=Router-A

Router-B
Código:
/interface ethernet
set [ find default-name=ether1 ] disable-running-check=no
set [ find default-name=ether2 ] disable-running-check=no
set [ find default-name=ether3 ] disable-running-check=no
set [ find default-name=ether4 ] disable-running-check=no
set [ find default-name=ether5 ] disable-running-check=no
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip ipsec peer
add address=router-a.wan exchange-mode=ike2 name=peer
/ip pool
add name=pool-lan ranges=192.168.90.2-192.168.90.254
/ip dhcp-server
add address-pool=pool-lan disabled=no interface=ether2 name=dhcp-lan
/ip address
add address=192.168.90.1/24 interface=ether2 network=192.168.90.0
/ip dhcp-client
add disabled=no interface=ether1
/ip dhcp-server network
add address=192.168.90.0/24 gateway=192.168.90.1
/ip dns
set servers=8.8.8.8,8.8.4.4
/ip dns static
add address=192.168.122.132 name=router-a.wan
/ip firewall nat
add action=masquerade chain=srcnat ipsec-policy=out,none out-interface=ether1
/ip ipsec identity
add peer=peer secret=abc123
/ip ipsec policy
add dst-address=192.168.80.0/24 peer=peer src-address=192.168.90.0/24 tunnel=\
    yes
/system identity
set name=Router-B

Es una configuración un tanto extraña, porque no hay lado emisor ni receptor, ni se propagan configuraciones, sino que ambos extremos levantan sendas templates complementarias para encriptar el tráfico que va al otro lado. Y, la magia, la consigue la regla de nat con el ipsec-policy=out,none, en la regla de masquerade.

Si tienes más intriga con el tema, te paso el proyecto gns3. Sino, también te puedes leer el set de manuales que hay en este mismo foro con respecto al tema, donde podrás ver las diferencias entre un router "servidor" y uno cliente (en este ejemplo, no están definidos esos roles).

Saludos!
 
Después de batallar sin éxito con GNS3 este fin de semana (tendré qué revisar que pasa con mis interfaces de red mas tarde), me he acabado agenciando dos routers hex abandonados que me he encontrado donde trabajo. Después de ponerlos a fábrica e introducir la misma configuración que se me pasó en el mensaje anterior (quitando los dhcp-client y los dns severs, ya que he aislado los routers) me sigue dando el mismo problema inicial.

Captura1.PNG

Captura2.PNG


La verdad es que este caso me deja perplejo, pues tanto mi configuración inicial como la que se me pasó aunque puedan ser diferentes en algunos puntos, técnicamente no tienen errores de configuración por lo que debería funcionar.
 
Pero dime, ¿cómo pruebas? Porque, si lo que quieres es ver funcionar un ping desde la terminal de los equipos, necesitas especificar la dirección de origen, perteneciente a tu policy. Date cuenta de que las policies funcionan como por arte de magia, no hay unas rutas que tú digas, "el tráfico va por aquí". Si quieres probar desde el equipo A, haciendo ping a B, prueba a hacer esto en la terminal del equipo A:
Código:
ping 192.168.90.1 src-address=192.168.80.1

Es decir, has de especificar de dónde sale el tráfico. Eso no te pasa en los equipos finales, donde el tráfico llega al router y, al venir de un origen conocido, sí que lo manda donde debe.

También asegúrate de meter en la regla de masquerade el filtro ipsec-policy=out,none, que es la magia del asunto: aplica masquerade sólo al tráfico que sale a internet sin encriptar. Si lo aplicas al tráfico IPSec, varías la IP de origen y las policies no te van a funcionar.

Saludos!
 
Código:
ping 192.168.90.1 src-address=192.168.80.1
Ya sé que puede ser surrealista (de hecho no me lo creo ni yo), pero sí que estoy haciendo el ping bien.

Captura4.PNG

Captura3.PNG


También revisé la configuración y está todo bien, de lo primero que revise fue las reglas masquerade.
 
Ya sé que puede ser surrealista (de hecho no me lo creo ni yo), pero sí que estoy haciendo el ping bien.

Ver el adjunto 85950
Ver el adjunto 85953

También revisé la configuración y está todo bien, de lo primero que revise fue las reglas masquerade.
Date cuenta de que, para que eso funcione en equipos de verdad, ambos han de tener IP pública.

Pásame si quieres un export de los equipos reales, a ver si veo algo raro.

Saludos!
 
Date cuenta de que, para que eso funcione en equipos de verdad, ambos han de tener IP pública.

Pásame si quieres un export de los equipos reales, a ver si veo algo raro.

Saludos!


Si necesitan IP Pública podría intentar conectarlos en un entorno real, pero estarían detrás de otro router (supongo que me tocaría redireccionar los puertos involucrados en la VPN).

Sin embargo debido a que me está dando siempre el mismo error creo que no es mala idea intentar simplificarlo a simplemente conectar con VPN el Router-A con el Router-B que están conectados directamente por cable (quitando IP públicas, dinámicas, nombres y servidores DNS) y hacer que pase tráfico (por ejemplo el ya clásico ping). De esa manera quizás podamos encontrar el problema y a partir de ahí sería simplemente mejorar el modelo a gusto del consumidor.

De todas formas un saludo y gracias de nuevo el tiempo que se me está dedicando.
 
No me mandes la información en ficheros de backup que no la puedo leer, y no tengo tus dispositivos para restaurar ese backup. Pásamelo en formato export, en un fichero .rsc

Para hacer un export del equipo, es tan simple como hacer esto desde terminal: export file=config

Saludos!
 
No me mandes la información en ficheros de backup que no la puedo leer, y no tengo tus dispositivos para restaurar ese backup. Pásamelo en formato export, en un fichero .rsc

Para hacer un export del equipo, es tan simple como hacer esto desde terminal: export file=config

Saludos!
Mis disculpas, estoy tan acostumbrado a importar y exportar backups que pensaba que te referías a eso. Ya está corregido.


Empecé este tema para pedir ayuda, pero me estoy cubriendo de gloria.

Un saludo y gracias.
 
Borra las policies y recétalas a mano desde winbox. Me da la sensación de que en el export te mete las direcciones de las sa’s y eso debería ser dinámico. A ver si es esa chorrada. Solo tienes que especificar las direcciones de red de origen y destino y marcar el flag de tunnel.

Y, si has configurado IPs “públicas” a mano en los equipos, crea la ruta por defecto para que salgan internet con la puerta de enlace correspondiente, que no lo veo en la config.

Saludos!
 
Y, si has configurado IPs “públicas” a mano en los equipos, crea la ruta por defecto para que salgan internet con la puerta de enlace correspondiente, que no lo veo en la config
Las rutas eran el problema. Lo que estaba haciendo era conectar directamente los routers por cable aislados de cualquier red y usar el otro mikrotik como gateway o usar directamente las rutas que se creaban al crear la interfaz, en el momento en el que los dejé salir a internet a través de distintos gateway se solucionó el problema.

La conclusión que saco es que necesitaban a un tercer equipo que les hiciera de guía, el gateway. Un aplauso para mí, solo me ha llevado medio mes darme cuenta.

Bromas aparte, muchas gracias por dedicar tanto tiempo a ayudarme a pesar de todo, porque muchas veces se cometen este tipo de errores y si no hay alguien para que te eche un vistazo a lo que has hecho puedes estar rompiéndote la cabeza para que al final sea una tontería de la que no te hayas dado cuenta.
 
No hay problema, yo contento por poder echarte un cable.
Si quieres hacer un setup serio, mira el manual de ikev2 a fondo que está en las chinchetas.

Saludos!
 
Arriba