SmythSys IT Consulting

Crear una VPN site to site entre dos oficinas con Mikrotik y fibra

Por si a alguien le sirve os mandamos esto que hicimos el otro día en un cliente. Evidentemente basado en el artículo anterior de routers Mikrotiks (alucinante la relación calidad/opciones/precio) sobre fibra (Movistar en este caso).

La idea es conectar dos oficinas (o casas o casa y oficina) con  un túnel por dos motivos principales:
1) Que el tráfico entre ambos sitios, al ir por Internet, esté cifrado y seguro.
2) Que se vean equipos de ambas redes (en nuestro caso era para teléfonos VoIP).

Por eso lo de site to site. No era para el caso de un trabajador desde cualquier hotel conectándose a la sede ya que eso es más sencillo (servidor openvpn en equipo o aparato como el Mikrotik, apertura de puerto y cliente VPN en el usuario). Ese esquema lo solemos hacer con Zentyal pero es sencillo con Mikrotik también.

En modo sencillo hay muchos métodos de hacer un túnel VPN, principalmente PPTP, IPSEC y OpenVPN. Sin ser técnico PPTP es más antiguo y menos compatible con otros aparatos, y además cifra TODO el tráfico. OpenVPN suele ser más de software, los aparatos de diversas marcas suelen usar IPSEC y OpenVPN a veces tiene algo de incompatibilidad o latencia…aunque está creciendo a pasos enormes. El estándar del mercado para los aparatos suele ser IPSEC, puedes elegir qué cifrar (lo veréis en el artículo) y te permite conectar aparatos de varias marcas. Así que optamos por IPSEC.

  Estos son los pasos en los Mikrotik. Necesitáis una IP fija en la WAN de cada sitio y saberlo, y saber las LAN de tu interfaz.

Por ejemplo:
Oficina 1.   WAN: 1.1.1.1      LAN: 192.168.2.1
Oficina 2.  WAN: 1.1.2.1      LAN: 192.168.3.1

Cuidado en la explicación donde ponemos dirección (una ip) o red (un conjunto de ips).

  • Primero hay que crear en cada router los “vecinos” (Peers). Decirle al aparato que hay otro lado en el túnel.Para ello vasMkPeer a IP-IPSEC- Pestaña Peers.
    Ahí tenéis que poner la IP WAN de la otra oficina (en nuestro caso en Oficina1 ponemos la 1.1.2.1 que es la de la 2 y viceversa). En la imagen la IP es otra porque es de otro ejemplo.
    También tenéis que elegir una palabra clave (en ambos routers la misma). Respecto a los algoritmos y demás podéis dejarlo por defecto o cambiarlo pero deben coincidir en ambos lados lo mismo.
    Os conviene marcar “Send Initial Contact” por si se cae el túnel para que ambos lados puedan llamarse.
  • Luego hay que decirle a cada router qué tráfico es el considerado “interesante”. Qué tráfico vamos a meter por el túnel y por lo tanto qué tráfico levantará dicho túnel.
    Para ello vamos a IP-IPSEC- Pestaña Policies.
    Ahí creamos una nueva (tantas como queramos). En la IP de destino primera debemos poner la red de nuestra lan (en Oficina1 192.168.2.0/24). En la segunda la red LAN de destino (en Oficina1 192.168.3.0/24 que es la de la Oficina2).
    Protocolo lo dejamos en all y puertos todos (no poner nada) a menos que queramos ser más específicos.
    En la pestaña o apartado Action tenemos que dejarlo por defecto (encrypt, require,esp) y debemos marcar la opción Túnel en ambos lados.
    En los siguientes campos de IP hay que poner las direcciones de tu  WAN a la otra (en Oficina1 poner source la 1.1.1.1 y destino la 1.1.2.1 , en el otro al revés).
    En la opción proposal dejar defaul pero podemos cambiar cosas en la pestaña Proposals. No hace falta recomiendo dejarlo.
    En resumen le estamos diciendo con esto que considere tráfico para meter por el túnel (y que lo levante) el que venga de mi LAN a la otra LAN y sale por mi WAN a la otra WAN.
  • Ya casi está con esto deberíais ver que se ha levantado el túnel.En remote Peers veréis una conexión (que podéis cortar) y cuanto tiempo lleva. En Installed SAs deberíais ver 2 (uno de un lado y otro de otro).
  • A nosotros nos pasó que con esto no veíamos los equipos de ambos lados incluso con el túnel levantado. No podíamos ni hacer ping de un router al otro.
    Esto es porque los routers hacen NAT (que es como si empaquetan el mensaje…así MUY simple) y puede pasar o que hagan NAT antes de verificar si el tráfico es interesante (por lo que no levanta el túnel) o que lo mande pero al llegar no lo “desempaquete” y lo ignore.
    Para evitarlo hay que irse a IP-Firewall-Pestaña NAT y crear una nueva con chain “srcnat” y origen tu red LAN (en Oficina1 192.168.2.0/24) y destino la otra red LAN (en Oficina1 el destino 192.168.3.0/24).
    En action “accept”. Nada más.
    Esta regla la grabamos y la movemos a la primera línea. Tiene que estar la primera. Así cuando cumple esta regla (mi tráfico interesante) la acepta y no sigue con las demás de nateo.

    NOTA1: Para hacer ping desde el router hay que poner destino la otra LAN Y origen nuestra LAN (si no ponemos ese origen no cumple el policy y no levanta el túnel.
    NOTA2: En el primer ping puedes perder 2 al principio porque tarda en levantarse y ver que cumple las condiciones. Luego todos irán bien.

Con esto ya deberías ser capaz de hacer ping y ver otros equipos tanto desde el router como desde las LAN. Para más información mirad este artículo y os dejo un GRAN vídeo (que incluye muchos métodos pero el de IPSEC en el minuto 12:27)

También más info aquí o aquí.

Tenéis con esto muchísimas opciones y podéis o cifrar diferentes redes, o tráfico o incluso crear varios túneles con varias oficinas.

24 comentarios en «Crear una VPN site to site entre dos oficinas con Mikrotik y fibra»

  1. Y podría funcionar en una configuración servidor-cliente donde el servidor es un router mikrotik y el cliente es una PC con Windows por ejemplo, ambos usando el protocolo OpenVPN?

    Responder
    • Si con alguna modificación. Creo que incluso esta configuración es más sencilla porque sólo hay que poner el Mikrotik como servidor VPN que espera las llamadas del cliente.La que tenemos en el artículo hace un túnel contínuo.

      Responder
  2. Hola una pregunta y talvez sea tonta, cuando dices que tengo que poner la IP WAN de la otra oficina te refieres a la IP PUBLICA de mi ISP? NO la que configure en mi MIkrotik como WAN !!!
    Lan= 192.168.10.1
    Wan= 192.168.1.253
    Me imagino que la WAN que me da mi ISP ??
    Y una cosa mas, hay que hacer Port Fordward de algun puerto

    Responder
  3. buenos dias consuta, yo en mi oficina A) tengo metrotel y en mi oficina B) ifx con un equipo microtik esto es posible para hacer un punto a punto?

    Responder
    • Si el metrotel (no lo conozco) es compatible con el mismo protocolo debería poder hacerse. Otra cosa es que de la teoría a la práctica….

      Responder
  4. Buenas como estas. mi vpn levanta al hacer ping de la ofi A a la B pero no llega a ver el equipo remoto. Realice la regla de Nat tal como dices en ambos routers pero sigo sin poder ping a extemo B ni al A tampoco. que puede estar faltando?

    Responder
    • ¿Consigue hacer ping al equipo remoto? Si es así está claro que es el equipo remoto que lo está bloqueando o por NAT o por firewall. Si no hay un problema de rutas.

      Responder
  5. Tengo un servidor centos donde tengo varias VPN , en cada sede tengo un mikrotik y un canal de internet
    Necesito Como enrutar el tráfico de Internet desde un mikrotik,
    sin pasar por una VPN teneindo la url o la ip a la cual quiero que salga a internet sin que pase por VPN
    comp puedo hacer esto en el mikrotik

    Responder
    • Es “fácil”, crea una ruta que todo el tráfico a esa ip salga por la interfaz real y no por la del IPSEC.
      En la configuración del artículo, por ejemplo, sólo sale por la VPN si va a la IP de la oficina remota (que es lo que quieres). Cualquier otra IP sale por internet. Es decir la regla de levantar la VPN sólo se ejecuta contra la IP de la oficina remota.

      Responder
  6. Estimado, si yo tuviese por ejemplo una conexión por PPPoE (ADSL) que no entrega ip fija, sino dinamica, al momento de crear los Peers puedo configurarlo por ejemplo apuntando a un dns (como por ejemplo el Cloud de Mikrotik)?

    Responder
    • Es más difícil, pero podrías hacerlo con un DNS dinámico si (en teoría). Eso si, durante el refresco podrías tener una desconexión.

      Responder
  7. Hola muchas gracias por la ayuda, el problema que tengo es que necesito hacer una VPN entre dos oficinas pero en ambos casos mi ISP me esta dando IPs dinamicas, es decir no tengo IPs publicas, lo que queria saber es si puedo realizar esta conexion sin la necesidad de tener ips publicas, si me pudieras explicar como sera genial.
    Un saludo y mcuhas gracias

    Responder
    • Hola Marcelo. Entiendo el problema. Obviamente siempre es mejor pedirle a los ISP ips fijas. Pero si no se puede tienes que usar un DNS dinámico. Supongo que sabes lo que es, pero hoy escribiremos un artículo sobre esto por si ayudo. Lo que hace es es un servicio que proporcionan empresas que se puede poner en el router o en una máquina dentro de la red. Básicamente el servicio está preguntando cada poco tiempo (5-10 min) la IP pública que tiene. Si cambia se la manda la empresa que la guarda y la asigna a un dominio (que tu elijes entre los que te dan). Entonces en la configuración de la VPN tienes que poner ese dominio en vez de la IP (donde puedas).
      Básicamente es eso. No puedo ponerte la configuración con DNS dinámico porque no tengo tiempo, pero seguro que la encuentras en Internet. Es poca modificación.

      Responder
  8. Hola, he realizado tu tutorial al pié de la letra pero no consigo hacer ping a las máquinas de una sede a la otra y al revés, solamente puedo hacer ping a los routers remotos. ¿Cuál puede ser el problema?

    Responder
  9. Hola Smythsys, a mi me sucede los mismo que a Oscar, se me establece la conexion con el tunel correccta, pero cuando hago ping no me funciona. Cuando te refieres a la reglas del firewall ¿son las del propio mikrotik?

    Gracias

    Responder
    • Si, las reglas del Mikrotik. Desactivar todas por si acaso para ver. DE todas formas el ping correcto teneis que hacerlo desde el Mikrotik (herramientas) con el origen y destino desde los interfaces de la VPN.

      Responder
  10. Una pregunta un poco “rebuscada”. En este escenario que explica usted, el router de salida hacia Internet sería el Mikrotik.

    En mi caso particular, estoy estudiando hacer algo muy parecido, sin embargo, me es imposible poner como router de salida dicho Mikrotik.

    Mi pregunta es: ¿bastaría con conectar a la red local el susodicho Mikrotik, configurarlo y demás y (aquí viene la duda) añadir al router de salida una ruta, estática imagino, para que encamine el tráfico hacia el rango de IPs de la red de la oficina remota usando el Mikrotik como puerta de enlace?

    Responder
    • En teoría si. Pero tendrías que encaminar todo lo que venga de la Ip remota a tu router Mikrotik en el router de entrada, y viceversa. Además el problema de tener routers entre medias es que puedan cortar la VPN por temas de firewall, incompatibilidades etc. Por ejemplo poner el router de Movistar hace que la VPN se vuelva bastante inestable.

      Responder
  11. necesito unir las dos lan pero con mismo rango de ip para asi compartir un server local que tengo
    ejemplo

    OFICINA 1 WAN 190.1.1.1 LAN 192.168.1.1 /24 SERVER 192.168.1.5
    OFICINA 2 WAN 190.1.2.5 LAN 192.168.1.2 /24

    Responder
  12. Hola! He comprado un par de mikrotik para unir dos oficinas, aun no me han llegado, y el caso es que por más que miro estos tutoriales o artículos hay una cosa que no me entra en la cabeza:
    Si una red lan de Oficina 1 que tiene vuestro ejemplo 192.168.2.0 y en la oficina 2 tiene 192.168.3.0 ¿ cómo voy a compartir recursos, como impresoras, carpetas o hacer ping de una red lan a otra si están en subredes diferentes aunque esté el tunel uniéndolas? No se que proceso misterioso ocurre o si esto que yo doy por hecho no es el proposito de este tipo de vpn.
    Un saludo!

    Responder
    • James, igual que en Internet se juntan redes diferentes y se pueden comunicar. Porque a nivel de red se enrutan esas reded diciendo, por ejemplo, que todo lo que vaya a al 192.168.2.0 vaya a la IP externa del otro Mikrotik (y ya se encarga el de enrutarlo internamente).

      Responder

Deja un comentario

Resumen de nuestra Política de Privacidad

  • Responsable: SmythSys IT Consulting SLNE.
  • Finalidad: Gestionar y moderar los comentarios.
  • Legitimación: Necesitas dar tu consentimiento para publicar un comentario.
  • Destinatarios: Tus datos se alojan en los servidores de OVH.
  • Derechos: Tienes derecho a acceder, rectificar, limitar y suprimir los datos en la dirección del responsable (en nuestra política de privacidad).