MANUAL: EoiP sobre IKEv2 site to site

Me resulta super complejo entender vuestras configuraciones, por el tema de haberos liado con varios segmentos de red y el split-include. Y es que es mucho más sencillo que todo esto.

Imaginao que tenéis un router HQ con una configuración de road warrior ya montada (la de conectar clientes de fuera a lo loco, tipo móviles, protátiles, etc). Partiendo de esa configuración, que creo es la más sencilla de entender, se puede montar esto con la chorra. Me explico, teniendo montado un IKEv2 road warrior tendríamos que tiene:

- Un pool para la VPN, vamos a suponer el 192.168.99.2-192.168.99.254
- Un bridge de loopback, para esa VPN, con su IP 192.168.99.1 (misma subred que el pool) asignada en IP -> Addresses.
- Una policy con src-address=0.0.0.0/0 (cualquier tráfico) y dst-address=192.168.99.0/24
- Un mode-config apuntando al pool de direcciones que ya hemos declarado antes, y con un split-include 0.0.0.0/0 (es decir, todo el tráfico).

Partiendo de esa configuración, sería tan sencillo como:
- Abrir un hueco en el mismo pool. Ahora, en lugar de ir de la 192.168.99.2-192.168.99.254, acortamos un poco, y le decimos que vaya de la 192.168.99.10-192.168.99.254 (reservamos esas primeras IP's para los site to site)
- Creamos un mode-config para cada site, en address ponemos una de las direcciones de ese hueco (192.168.99.2 para el primer site, .3 para el segundo, .4 para el tercero; siendo la 192.168.99.1 la del HQ, que la tiene ya dada de alta el bridge de loopback). Esto lo hago por comodidad, no por necesidad; bien podría usar el propio pool para la conexión, tal y como se hace con las conexiones road-warrior, pero como luego voy a querer saber qué IP concreta tiene el site para montar el EoIP, las pongo a mano.
- Para no andar creando nuevas policies, aprovechamos la que ya tenenos, y le metes un split-include de 0.0.0.0/0, que total, te va a dar igual. Así consigues que la misma configuración, con la misma policy, te valga para un site-to-site o un road warrior. Ejemplo:
1620401024553.png

En cada site, creas una única policy, todas iguales en todos los sites, que vendría a ser justo la inversa de la que has creado en HQ, es decir, me trago todo lo que venga del router HQ; src-address=192.168.99.0/24 y dst-address=0.0.0.0/0

Y listo, no neceistas más. Si no vas a enrutar el tráfico local (LAN) de ambos equipos usando IKEv2, y lo que pretendes es usar el EoIP para traerte la red local del router HQ, no necesitas tocar absolutamente nada mas. Una vez establecida la conexión entre HQ y el site, la IP que configuramos en el mode-config aparecerá en la interfaz WAN del router del site, como por arte de magia (lo podéis consultar en IP -> Addresses), donde veréis una entrada dinámica, correspondiente a la IP que configuraste para ese site en el mode-config. Y listo, ta tendrías los datos para montar el túnel EoIP. En la parte HQ, un único bridge, (IPTV) donde irían metidos los túneles EoIP desde la IP que lleva el bridge de loopback hasta la IP que lleva el site. En el site, lo mismo pero la revés, como local la que recibe dinámicamente por IKEv2 al engancharse al router HQ, y como remota la IP del bridge de loopback, ambas del mismo segmento de red. En cada site, un bridge dedicado con el "igmp-snooping=yes", y su túnel dentro como un puerto más, y los puertos que quieras que obtengan una red del router HQ, donde irían los descos. Para ver que funciona, incluso puedes levantar un cliente DHCP sobre dicho bridge, el cual debería obtener una dirección 192.168.2.X, al tener al otro lado un servidor DHCP sobre su bridge homónimo en HQ, y estar metido todo en el EoIP.

Saludos!
 
Efectivamente creo que al intentar extrapolar la configuración a los 3 branch....he liado el tema más de la cuenta.

Lo curioso es que los tres branch ahora conectan perfectamente al HQ, pero tengo el problema del DHCP..no hay narices a que entregue IP para los decos en los MK branch....

Esta noche, cerveza en mano, me pondré a estudiar la config que propones, que ciertamente parece más sencilla...

Te voy contando avances...

Como siempre, mil gracias @pocoyo.


Saludos!
 
Efectivamente creo que al intentar extrapolar la configuración a los 3 branch....he liado el tema más de la cuenta.

Lo curioso es que los tres branch ahora conectan perfectamente al HQ, pero tengo el problema del DHCP..no hay narices a que entregue IP para los decos en los MK branch....

Esta noche, cerveza en mano, me pondré a estudiar la config que propones, que ciertamente parece más sencilla...

Te voy contando avances...

Como siempre, mil gracias @pocoyo.


Saludos!
Nada. Si ves que no te sale, te paso un ejemplo mañana concreto.

Saludos!
 
Efectivamente creo que al intentar extrapolar la configuración a los 3 branch....he liado el tema más de la cuenta.

Lo curioso es que los tres branch ahora conectan perfectamente al HQ, pero tengo el problema del DHCP..no hay narices a que entregue IP para los decos en los MK branch....

Esta noche, cerveza en mano, me pondré a estudiar la config que propones, que ciertamente parece más sencilla...

Te voy contando avances...

Como siempre, mil gracias @pocoyo.


Saludos!
Es exactamente lo que me pasa a mi, todo funcionando menos el DHCP
1620414341991.png
 
Qué pasa @roolezz, te sale o no te sale? Mira lo que he montado en GNS3, a ver si te gusta y/o te sirve de inspiración.

Os presento el esquema de red de Flautas Manolo, las mejores flautas, de un agujero solo.

1620496675819.png


Manolo tiene una sede central y tres sedes cliente. Todas las sedes están interconectadas con la sede central usando IKEv2, aunque cada una trabaja de manera independiente con su propia subred.
Además, el puerto ether3 de las sedes A y C, engancha con un túnel EoIP que transporta otra red entre las sedes, tal que puedan estar "como en casa". Los clientes conectados a ese puerto estarían en el mismo dominio de broadcast que los clientes de la sede central de Manolo.
Las sedes A y C enganchan con HQ usando el mismo perfil que un supuesto cliente road-warrior. Por el contrario, B transporta toda su LAN bidireccionalmente con HQ (192.168.66.0/24 <--> 192.168.40.0/24) enteramente por IKEv2, tal que los clientes de ambas redes pueden comunicarse entre sí.

Como está montado en un entorno virtual, he tenido que hacer un poco el pino puente con los certificados y las IP públicas. Al no tener un dominio DDNS, me inventé uno y lo puse como estático en las DNS de los routers de los distintos sites, tal que sepan cómo llegar a HQ usando un nombre de dominio, tal y como pasaría en la vida real.

Os dejo la configuración completa de todos los equipos, certificados incluidos. He obviado las reglas de firewall y mangle, que ya está explicado en los manuales, por simplicidad.

Cualquier duda, ya sabéis dónde estoy.

Saludos!
 

Adjuntos

  • flautas-manolo.zip
    20 KB · Visitas: 52
Muy bueno! Podrías enlazar desde el primer post a este ejemplo para que no se pierda a lo largo del hilo.

Cuando saque un rato pruebo este esquema de 3 sedes. También se podría aprovechar el pi-hole/AdGuard conectado, por ejemplo, en HQ para todos los clientes de todas las sedes sin añadir masquerades ni nada más ¿verdad?

Saludos!! ;)
 
Muy bueno! Podrías enlazar desde el primer post a este ejemplo para que no se pierda a lo largo del hilo.

Cuando saque un rato pruebo este esquema de 3 sedes. También se podría aprovechar el pi-hole/AdGuard conectado, por ejemplo, en HQ para todos los clientes de todas las sedes sin añadir masquerades ni nada más ¿verdad?

Saludos!! ;)
Sin problema. Lo empujas como dns en el mode-config y ya lo tienes.

Se lo comento a @furny lo que propones, y si le parece bien, lo enlazamos. La idea es que tengáis un ejemplo de cómo hacerlo de distintas formas, y sobre todo que veáis que se puede trabajar con un único bridge y varios túneles en él.

Saludos!
 
Sin problema. Lo empujas como dns en el mode-config y ya lo tienes.

Se lo comento a @furny lo que propones, y si le parece bien, lo enlazamos. La idea es que tengáis un ejemplo de cómo hacerlo de distintas formas, y sobre todo que veáis que se puede trabajar con un único bridge y varios túneles en él.

Saludos!
Buenas tardes a tod@s!

Por temas familiares no he podido retomar el asunto hasta hoy. Espectacular explicación y diagrama, @pocoyo. Te debo varias cervezas....

Es lo que necesito, router HQ en casa con 2 bridges (lan/iptv - ya en producción a las mil maravillas) y 3 clientes con sendos MK's sobre los cuales quiero que solo 1-2 puertos del MK enlacen con el bridge-iptv de HQ mediante eoip-ikev2. Resto de puertos para que los equipos conectados "salgan" por su WAN correspondiente. Entiendo que en mi caso me basaría en las configuraciones de router "A" y "C".

Desde luego, lo haces todo tan sencillo que metes a cualquiera el "gusanillo" de trastear con estos aparatos, ya tengo tajo para esta tarde (mi mujer me mata).

Te voy contando, y una vez más, mil gracias @pocoyo.

EDITO:

Mientras estaba comiendo...he pensado que también estaría bien tener una VPN para el móvil/pc portátil, para poder tener acceso a mi NAS en "local", aprovecharme del pi-hole que tengo montado en casa cuando navegue desde el móvil, usar softphone para atender el fijo...etc....por lo que para ello partiré de la configuración "B" que propones.






Saludos!!
 
Última edición:
Ten cuidado, que se ha colado por ahí un pocoyo con “c” y el mío va con “k”, y estabas llamando al vecino.

Correcto, tus equipos remotos serían como A y C. Metí tres justo para que vieras las diferencias con B, y para que vieras que se podían meter ambos túneles eoip sobre el mismo bridge en HQ.

Me alegro de que te pique el gusanillo con estos temas. Si lo entiendes, verás que no es difícil.

Saludos!
 
Buenas @pokoyo (ahora sí)

Aquí ando liado con la configuración. Me surgen algunas dudas.

En HQ observo que creas dos bridges nuevos (bridge-eoip y bridge-vpn). En el primero englobas las conexiones "A" y "C" y en el segundo la conexión "B".

Igualmente en los routers "A" y "C" creas dos bridges, uno para el eoip y el otro para la lan "local".

En mi caso particular, me interesa únicamente enviar por EoiP la "señal" de IPTV, por lo que en HQ...¿no debería incluir en el bridge-IPTV las 3 conexiones EoiP en vez de en el bridge-eoip que mencionas en tu configuración?

Por otro lado, en mi configuración de HQ, para el bridge-IPTV tengo un rango de IP's distinto a bridge-LAN. En mi caso para IPTV es 192.168.2.X. Entiendo que si los túneles se incluyen en el bridge-IPTV, el dhcp server de HQ serviría las direcciones IP del segmento correspondiente, ¿estoy en lo cierto?

Mil gracias de antemano.


Saludos!
 
En HQ observo que creas dos bridges nuevos (bridge-eoip y bridge-vpn). En el primero englobas las conexiones "A" y "C" y en el segundo la conexión "B".
No exactamente. El bridge-eiop englobal los túneles EoIP (en tu caso sería el equivalente al bridge-iptv).
El segundo bridge es un mero bridge de loopback. Para lo único que vale, es para crear la IP 192.168.65.1, es decir, para crear el extremo en HQ de los túneles EoIP. Si te fijas, ese bridge no lleva puertos asociados, y lo único que le relaciona con el resto de la configuración es que tiene una IP del mismo segmento que el pool VPN para road-warriors.

Igualmente en los routers "A" y "C" creas dos bridges, uno para el eoip y el otro para la lan "local".
Correcto. Porque, de normal, no vas a querer meter todo el tráfico por el EoIP, sino sólo ponerlo en bridge con el puerto que vayas a usar con el desco (que creo que es lo que pretendes). De esa manera, esos routers se pueden usar para todo lo demás en sus ubicaciones, haciendo uso de la WAN para todo lo demás que no sea el tráfico multicast.

En mi caso particular, me interesa únicamente enviar por EoiP la "señal" de IPTV, por lo que en HQ...¿no debería incluir en el bridge-IPTV las 3 conexiones EoiP en vez de en el bridge-eoip que mencionas en tu configuración?
Correcto. Mi "bridge-eoip" es tu "bridge-iptv". Yo tengo dos, tú crea tres o los que necesites. Asegúrate de que las direcciones MAC de todos los túneles EoIP sean distintas, sino, te dará problema el DHCP (me pasó por copiar y pegar la configuración de los dos sites).

Por otro lado, en mi configuración de HQ, para el bridge-IPTV tengo un rango de IP's distinto a bridge-LAN. En mi caso para IPTV es 192.168.2.X. Entiendo que si los túneles se incluyen en el bridge-IPTV, el dhcp server de HQ serviría las direcciones IP del segmento correspondiente, ¿estoy en lo cierto?
Correcto. Cuando metes los túneles en el bridge, es como si estuvieras cableando remotamente los equipos al mismo switch. Así que sólo debes tener un único servidor DHCP funcionando sobre uno de los bridges que componen la estructura, en tu caso, el bridge-iptv en HQ. No obstante, en los routers de los extremos, crea ese segundo bridge-lan, para manejar el tráfico local, como si de un router normal se tratase. En ese bridge-lan, mete los puertos que quieres que tengan conexión directa a internet, sin pasar por HQ.

Saludos!
 
Buenos días a tod@s,

@pokoyo, estoy liado con la configuración de los equipos siguiendo tu currado manual. Me ocurre algo "curioso".

Reseteé los router's "branch" y en HQ borré la anterior configuración que había generado mediante el tutorial de @furny.

Configuro el HQ y dos "branch" (A y C como tú los llamas), todos con sus rangos de IP y certificados correspondientes (que aproveché porque ya los tenía creados anteriormente)

En principio los equipos quedan correctamente configurados y sin errores aparentes. Pero no logro que los branch's conecten al HQ, ningún log ni en uno ni otro extremo, ni errores ni nada.

Compruebo que el DDNS del HQ está activo, y aquí viene lo curioso. Desde mi oficina (PC) hago un ping al DDNS del HQ (casa), respondiendo correctamente. Sin embargo, desde uno de los "branchs" sobre el que ahora mismo estoy trabajando (un MK con servicio LTE) si intento hacer un ping al mismo DDNS, no hay respuesta. Hago desde el mismo MK un ping a google, y obtengo respuesta.... Entiendo que este debe ser el problema por el que no esté levantando el túnel....

He revisado las reglas firewall/mangle y en principio y salvo error por mi parte, están correctas (extraídas del manual de @furny). Llevo un par de días dándole vueltas al tema, pero no logro descifrar qué puede estar mal.

¿Se te ocurre algo?


Saludos!!
 
Buenos días a tod@s,

@pokoyo, estoy liado con la configuración de los equipos siguiendo tu currado manual. Me ocurre algo "curioso".

Reseteé los router's "branch" y en HQ borré la anterior configuración que había generado mediante el tutorial de @furny.

Configuro el HQ y dos "branch" (A y C como tú los llamas), todos con sus rangos de IP y certificados correspondientes (que aproveché porque ya los tenía creados anteriormente)

En principio los equipos quedan correctamente configurados y sin errores aparentes. Pero no logro que los branch's conecten al HQ, ningún log ni en uno ni otro extremo, ni errores ni nada.

Compruebo que el DDNS del HQ está activo, y aquí viene lo curioso. Desde mi oficina (PC) hago un ping al DDNS del HQ (casa), respondiendo correctamente. Sin embargo, desde uno de los "branchs" sobre el que ahora mismo estoy trabajando (un MK con servicio LTE) si intento hacer un ping al mismo DDNS, no hay respuesta. Hago desde el mismo MK un ping a google, y obtengo respuesta.... Entiendo que este debe ser el problema por el que no esté levantando el túnel....

He revisado las reglas firewall/mangle y en principio y salvo error por mi parte, están correctas (extraídas del manual de @furny). Llevo un par de días dándole vueltas al tema, pero no logro descifrar qué puede estar mal.

¿Se te ocurre algo?


Saludos!!
Los dns del router de las branches. Asegúrate de que en IP -> DNS hay configurados unos dns válidos, capaces de resolver el dominio del mikrotik.
Si, por ejemplo, estás entregando unos dns públicos por el dhcp, se puede dar el caso de que tus clientes resuelvan nombres de dominio, pero no así tu propio router

Prueba también a cambiar dichos DNS’s, si los tuvieras puestos, por otros distintos.

Y, a unas malas, export y lo vemos.

Saludos!
 
Los dns del router de las branches. Asegúrate de que en IP -> DNS hay configurados unos dns válidos, capaces de resolver el dominio del mikrotik.
Si, por ejemplo, estás entregando unos dns públicos por el dhcp, se puede dar el caso de que tus clientes resuelvan nombres de dominio, pero no así tu propio router

Prueba también a cambiar dichos DNS’s, si los tuvieras puestos, por otros distintos.

Y, a unas malas, export y lo vemos.

Saludos!
OK, tenía los de cloudflare puestos en el branch, los he cambiado y he puesto los de google, con mismo resultado.

Trasteando en DNS, acabo de recordar que hay una entrada estática que apunta al DDNS del HQ y marcando una IP dentro del rango lan del propio HQ (192.168.1.XXX - IP Libre actualmente).

Siguiendo tu tutorial, a cada uno de los routers branch (A,C) le asigné en static una IP libre dentro del rango de IP's del bridge-LAN del HQ, apuntando al DDNS del HQ. Es correcto, ¿no?


Saludos!!
 
OK, tenía los de cloudflare puestos en el branch, los he cambiado y he puesto los de google, con mismo resultado.

Trasteando en DNS, acabo de recordar que hay una entrada estática que apunta al DDNS del HQ y marcando una IP dentro del rango lan del propio HQ (192.168.1.XXX - IP Libre actualmente).

Siguiendo tu tutorial, a cada uno de los routers branch (A,C) le asigné en static una IP libre dentro del rango de IP's del bridge-LAN del HQ, apuntando al DDNS del HQ. Es correcto, ¿no?


Saludos!!
No, no lo es, ese es tu fallo. Eso es un apaño para poder simular un ddns en los routers virtualizados, ya que el IP -> Cloud no lo tienes disponible en los CHRs; no existe el servicio de ddns para ese tipo de equipos. Borra esa entrada estática y deja que el router de branch resuelva la IP pública del HQ, usando el DDNS y los dns públicos, no ninguna entrada estática.

Saludos!
 
@pokoyo, premio para el caballero! Gracias!

Era eso, ha sido quitarlo y levantar el túnel..., ya me iba a volver loco dando vueltas a la configuración.

A mediodía probaré conectando un deco a los MK branch para ver si coge IP. Entiendo que al deco se le asignaría un rango de IP del bridge-IPTV del HQ (192.168.2.X), ¿o cogería por defecto el rango que tiene marcado el bridge-eoip (192.168.67.X)?

Saludos!!
 
@pokoyo, premio para el caballero! Gracias!

Era eso, ha sido quitarlo y levantar el túnel..., ya me iba a volver loco dando vueltas a la configuración.

A mediodía probaré conectando un deco a los MK branch para ver si coge IP. Entiendo que al deco se le asignaría un rango de IP del bridge-IPTV del HQ (192.168.2.X), ¿o cogería por defecto el rango que tiene marcado el bridge-eoip (192.168.67.X)?

Saludos!!
Jejeje, misterio resuelto.

Recuerda que mi bridge-eoip es tu bridge-iptv. Y que el bridge-eoip, en las branches, no lleva servidor DHCP propio, así que lo que coja, lo coge del otro extremo del túnel.

Saludos!
 
Jejeje, misterio resuelto.

Recuerda que mi bridge-eoip es tu bridge-iptv. Y que el bridge-eoip, en las branches, no lleva servidor DHCP propio, así que lo que coja, lo coge del otro extremo del túnel.

Saludos!
Si lo he entendido bien, ¿en HQ entonces no debería crear ningún bridge adicional para el túnel EoiP? Puesto que lo único que quiero enviar por EoiP es el tráfico del bridge-IPTV.

Saludos!
 
Si lo he entendido bien, ¿en HQ entonces no debería crear ningún bridge adicional para el túnel EoiP? Puesto que lo único que quiero enviar por EoiP es el tráfico del bridge-IPTV.

Saludos!
Correcto. Y, si por comodidad quieres usar el mismo nombre de bridge en los remotos (branches), llámalos bridge-iptv como en HQ.

Saludos!
 
Buenos días a tod@s,

@pokoyo, works like a charm!!!

Fácil, sencillo, y para toda la familia. Ya tengo los túneles en marcha y funcionando perfectamente. Me he dado cuenta que algún cliente MK que tengo se queda cortos para manejar el caudal IPTV y están funcionando a tope de recursos, por lo que causa que al cambiar de canal (imagino mientras llena el buffer) la imagen se pixele durante 4-5 segundos iniciales.

Pero por lo demás, impresionante funcionamiento (y muy silencioso a nivel de logs). @pocoyo, tienes varias rondas pagadas de birra, muchas gracias por prestarte siempre a echar una mano a usuarios neófitos con estos chismes, como yo.


Saludos!
 
Arriba