Mikrotik Ipsec detrás de router NAT

Mikrotik Ipsec detrás de un router NATHace unas semanas comenté la forma de crear un túnel entre dos equipos Mikrotik utilizando Ipsec. En aquella ocasión los equipos que establecían el túnel Ipsec eran a su vez los equipos que hacían NAT para el resto de nuestra red.

Esta situación, que es la recomendable, no siempre se produce y por consiguiente, en uno de los extremos, por delante de nuestro equipo Mikrotik tenemos un router que utiliza NAT para trasladar las direcciones ips internas al exterior. Estos routers generan un problema cuando hablamos de Ipsec ya que, al realizar la traslación de direcciones ips, modifica las cabeceras de los paquetes ip haciendo que el host remoto rechace dichos paquetes.

Existen no obstante routers en el mercado, los más nuevos, que soportan Ipsec Passthrough los cuales deberían detectar el tráfico Ipsec y permitir, no sólo que el túnel se establezca (cosa relativamente simple), sino que las tramas cifradas sean validadas por el host remoto y viceversa.

Mikrotik Ipsec ejemplo

Bien, para conseguir que nuestra VPN basada en Mikrotik Ipsec se establezca y funcione debemos  abrir los siguientes puertos hacia la ip del equipo Mikrotik que va a lanzar el túnel:

Port 50 TCP – Encapsulación de Cabeceras (ESP)

Port 51 TCP – Autenticación de Cabeceras (AH)

Port 500 UDP – Intercambio de claves (IKE)

Port 4500 TCP/UDP – Nat Transversal

Una vez configurado el PAT debemos prestar atención a la configuración del Policy Action de nuestro nodo Mikrotik en el cual habilitaremos la opción de NAT-Transversal. Posteriormente como dirección de inicio del túnel src-address usaremos la ip de nuestro equipo mikrotik en el segmento que le une al router, es decir, la misma ip sobre la que hemos redirigido los puertos desde nuestro router mientras que como dst-address usaremos la ip pública del concentrador de túneles.

Acciones de Política Mikrotik ipsec VPN

Finalmente, siempre que sea posible conecta tu equipo Mikrotik a tu operador sin routers intermedios eso te ahorrará quebraderos de cabeza. Por otro lado, la mayoría de los routers ADSL del mercado soportan la configuración en modo bridge, lo cual tampoco es una mala solución.

¿Te ha gustado algún artículo? Apúntate a nuestra lista de correo y podrás recibirlos antes que nadie en tu email. Recibirás como máximo uno por día y podrás cancelar tu suscripción en cualquier momento

 

15 comentarios en “Mikrotik Ipsec detrás de router NAT

  1. Juan Luis Gomez

    Hola Juan,

    Muy interesante el articulo, estoy intentando hacer esto mismo y estoy teniendo problemas.
    Abri los puertos en ambos router ADSL que tengo intermedios, pero no entiendo bien donde indica ” dirección de inicio del túnel src-address usaremos la ip de nuestro equipo mikrotik ” y “dst-address usaremos la ip pública del concentrador de túneles” no tengo un concentrador de tuneles solo es un tunel entre 2 domicilios. ambos router ADSL me dan la misma IP 192.168.127.240 para el mikrotik, y la red interna de uno de los mikrotik es 10.10.10.1 y del otro 10.10.100.1. que parametros deberia de poner?

    Muchas Gracias

    Responder
    1. JMNogueira Autor

      Buenas,

      En el equipo que “inicia” el túnel debes de poner como src-address la ip de la red interna del equipo mikrotik, es decir, en tu caso o bien la 10.10.10.1 o la 10.10.100.1. El caso es que en este ejemplo se trataba de un único equipo Mikrotik que conectaba a través de ipsec con una solución de terceros. Recuerdo que en el concentrador de túneles tuve que indicar que permitiera iniciar el túnel desde cualquier ip.

      ¿Cuando dices: “ambos router ADSL me dan la misma IP 192.168.127.240 para el mikrotik” a qué te refieres? Para que todo te funcione todos los direccionamientos deben de ser diferentes, me explico:

      LAN 1 (192.168.0.1) <--MKT--> WAN1 (10.10.10.1) <-----ADSL-----> (INTERNET) <-----ADSL-----> (10.10.100.1) WAN2 <--MKT--> (192.168.1.1) LAN 2.

      Si te encuentras uniendo dos sedes detrás de dos routers ADSL te recomendaría que probaras quizás con OVPN o que intentaras poner los routers en modo bridge.

      Un saludo.

      Responder
  2. Juan Luis Gomez

    Buenas,

    Ante todo gracias por tu respuesta, llevas razon en el que no es el mismo caso, llevaba mucho leido y probado y me lie un poco, Intentare con un diagrama similar al que expones intentar aclarar mi duda.

    LAN 1 (10.10.10.1) WAN1 (192.168.127.240) (1.1.1.1)”IP Publica” (INTERNET)(2.2.2.2) (192.168.127.240) WAN2 (10.10.100.1) LAN 2.

    en ambos router ADSL abro los puertos de ipsec, hacia la 192.168.127.240 (probe tambien a poner estas en 2 rangos diferentes pero el resultado fue el mismo). el problema es que realmente no se que valor poner en estos casos, porque he probado poniendo la IP del wan del mikrotik y la IP publica, en los campos y sigo igual. dentro de una misma red local me funciona.

    LAN 1 (10.10.10.1) WAN1 (192.168.127.240) (192.168.127.250) WAN2 (10.10.100.1) LAN 2.

    El ponerlo en modo BRIDGE tambien lo hice y no funciono bien, aun asi volvere a probarlo.

    Gracias.

    Responder
    1. JMNogueira Autor

      Hola,

      ¿Por qué utilizas el mismo direccionamiento en las interfaces WAN de los Mikrotik? ¿Te has dado cuenta que dentro de una misma red local cambias ese direccionamiento?

      Como te comenté, para que exista enrutamiento las redes deben de ser diferentes. En el caso de la red local obviamente tienes que poner los interfaces WAN en el mismo segmento. Prueba la siguiente configuración:

      LAN 1 (10.10.10.1) WAN1 (192.168.127.240/24) (1.1.1.1)”IP Publica” (INTERNET)(2.2.2.2) (192.168.126.240/24) WAN2 (10.10.100.1) LAN 2.

      En la configuración del túnel src-address es la ip de la WAN que lanza el túnel mientras que la ip de destino debe de ser la ip pública del otro extremo del túnel.
      Por otro lado, observa en la ventana status del cliente ipSec si llega a producirse el intercambio de claves o no.

      Otra cosa fundamental es la hora, asegúrate de que ambos routers sincronizan la hora con un servidor externo.

      Un saludo.

      Responder
  3. Juan Luis Gomez

    Hola Juan,

    Solucione el problema al final con los routers en modo BRIDGE, solo tengo un problema, desde cada red puedo hacerle un ping al mikrotik de la otra 10.10.10.1 y 10.10.100.1, pero si intento hacerselo a un equipo que este dentro de la red, no me deja, por ejemplo 10.10.10.20 desde la 10.10.100.11, realmente no se porque si el tunel esta correcto y en Instaled SAs veo que aumenta los current bytes, cuando hago el ping al mikrotik.
    Algun parametro se me escapa?
    Gracias

    Responder
    1. JMNogueira Autor

      Buenas,

      Creo que te falta una ruta. Debes indicar al equipo Mikrotik que para llegar a la red del otro lado tiene que sacar los paquetes por la puerta de enlace que debe de ser el otro extremo del túnel. Ojo, esto debes hacerlo en los dos sentidos para que los paquetes puedan ir y regresar.

      Un saludo.

      Responder
  4. David

    Buenas noches Juan, tengo un problema con el túnel ipsec, ya realice toda la configuración requerida le hago ping desde un punto a otro de los 2 lados y funciona sin problemas, ahora el tema esta en que lo que yo quiero hacer es que el 1er microtik le de Internet al 2 microtik a travez del túnel ipsec (eso seria posible?)
    En el 2do microtik lo que yo intente hacer es quitar las DNS de mi proveedor y poner como DNS mi 1er microtik que seria el 192.168.10.1 para que asi toda petición que haga el microtik 2 salga por el 1ero, lo intente varias veces pero no me funciona, lo que yo quiero hacer es teniendo 2 cuentas de internet tratar de controlar todo en un solo punto para que así me pueda conectar a mi servidor pero a la vez usar las reglas de proxy(bloqueo etc.)

    Atentamente Insaurralde David

    Saludos

    Responder
    1. JMNogueira Autor

      Buenas David,

      Si quieres que todo el tráfico del primer Mikrotik salga por el túnel tienes que tener indicar al equipo que el otro extremo del router es su puerta de enlace por defecto, si embargo ésta debe de estar activa sólo cuando el túnel esté establecido. Por otro lado, como los paquetes procedentes del primer mikrotik están en un segmento de red diferente al del segundo Mikrotik tendrás que indicar en el primero que haga NAT de las ips que están en el segmento de red del primer Mikrotik.

      Utiliza la herramienta tracert para ver dónde se quedan los paquetes.

      Respecto a cambiar el DNS no está mal que pongas como DNS al otro Mikrotik pero por si sólo eso no va a hacer que salgas a Internet por el segundo Mikrotik.

      No he probado nunca esta configuración pero por ahí debe de andar.

      Un saludo y gracias por tu comentario.

      Responder
  5. José Aponte

    Juan:
    Gracias por tus aportes. Te consulto por que tengo un problema al establecer Ipesec-VPN entre dos puntos. En uno de los puntos tengo un integra con Ip pública fija que esta conectado a la Wan de un RB750. En el otro extremo una ADSL con ip pública fija mediante un router ADSL, detras de este router en la LAN de este tengo conectado otro RB750. Tengo nateado los puertos que mencionas en el artículo a la IP de la Wan del RB750.
    Cuando pongo a funcionar la VPN se establecen los vínculos, puedo hacer PING de un extremo a otro y funciona, tambien puedo controlar por Winbox a través de la VPN los RB750. Pero cuando quiero ver desde el RB750 que esta del lado de la ADSL una cámara IP conectada en el otro RB750, me solicita el lógin de la cámara correctamente pero luego no avanza para mostrar las imágenes. Te agradecería si puedes ayudarme.
    Cordiales saludos

    Responder
    1. JMNogueira Autor

      Buenas José,

      Si alcanzas la cámara y llegas a la ventana del login todo parece indicar que existe tráfico entre las dos sedes. Sin embargo el hecho de que no puedas acceder al vídeo de la cámara es algo extraño. Primeramente yo trataría de alcanzar algún otro destino detrás de la ADSL, un pc por ejemplo. Si llegas al pc y puedes ver por ejemplo sus carpetas compartidas significaría que el problema está en la cámara. Si por el contrario no estableces una conexión con el pc tendrías que revisar los equipos mikrotik ya que es posible que estén filtrando algún tipo de tráfico.

      Espero haberte ayudado.

      Un saludo.

      Responder
      1. José Aponte

        Juan Manuel:
        Nuevamente gracias por tus aportes y tu gentileza, solucione el problema, estaba en el filtrado de uno de los router.
        Saludos

        Responder
    1. JMNogueira Autor

      Buenas,

      Si tienes el router en modo bridge entonces la ip pública debe de estar en el interface externo de tu mikrotik por lo que no necesitas abrir ningún puerto.

      ¿Haces ping a las ips públicas de cada extremo del túnel?

      Responder
  6. German

    Juan:
    Gracias por tus aportes. Tengo la duda de si los puertos que tengo que abrir son los del mikrotik que esta detras de nat, o los del router que hace nat. porque en mi caso, mi proveedor me da una ip privada y yo no tengo acceso al router que que natea.

    Responder

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *