MANUAL: EoiP sobre IKEv2 site to site

Disculpad si ya se ha comentado, pero al menos a mi me ayudo a resolver los problemas para levantar la conexión.

/system logging
add topics=ipsec

Saludos e infinitas gracias !!!
 
Después de pelearme un rato tengo levantado el tunel, aunque adaptado a mis necesidades, o eso intento xD.
Os muestro el esquema y luego expongo la pregunta.

Circuito.png

El RB95 está conectado a la boca de una ONT por la cual recibe el tráfico multicast y tiene salida a internet, Si no lo he entendido mal este haria de HQ. En el RB96 (Playa) recibo el multicast pero no logro tener salida a internet, bueno, lo curioso es que algunas páginas sí y otras no, por ejemplo en as.com navego sin problemas pero no en meneame.net (sospecho que el TTL es muy alto en la mayoria de sitios).

Basicamente necesito conectar una televisioin IPTV al RB95 y que esta reciba el multicast y a su vez poder acceder a una dirección web ya que es la que hace de portal cuando visualizas la TV, un hotel vamos...

Dejo la configuracion que tengo ahora mismo.


"Playa" RB96
/interface bridge
add name=IPTV-Bridge
add name=LAN-Bridge
/interface wireless
set [ find default-name=wlan1 ] ssid=MikroTik
/interface eoip
add allow-fast-path=no !keepalive local-address=192.168.99.2 mac-address=\
00:00:5E:FF:07:37 mtu=1500 name=s2s-ike2-twiins remote-address=\
192.168.99.1 tunnel-id=16
/interface list
add name=LAN
add name=WAN
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
add authentication-types=wpa2-psk eap-methods="" mode=dynamic-keys name=\
profile1 supplicant-identity="" wpa2-pre-shared-key=Gracias
/interface wireless
set [ find default-name=wlan2 ] band=5ghz-n/ac channel-width=20/40mhz-XX \
disabled=no mode=ap-bridge security-profile=profile1 ssid=IPTV \
wireless-protocol=802.11 wps-mode=disabled
/ip ipsec mode-config
add name=s2s-ike2-config responder=no
/ip ipsec policy group
add name=ike2-template-group
/ip ipsec profile
add dh-group=modp2048,modp1536,modp1024 enc-algorithm=aes-256,aes-192,aes-128 \
hash-algorithm=sha256 name=ike2-profile
/ip ipsec peer
add address=xxxxx.sn.mynetname.net exchange-mode=ike2 name=s2s-peer \
profile=ike2-profile
/ip ipsec proposal
add auth-algorithms=sha512,sha256,sha1 enc-algorithms="aes-256-cbc,aes-256-ctr\
,aes-256-gcm,aes-192-ctr,aes-192-gcm,aes-128-cbc,aes-128-ctr,aes-128-gcm" \
lifetime=8h name=ike2-proposal pfs-group=none
/ip pool
add name=dhcp_pool0 ranges=192.168.10.2-192.168.10.254
/ip dhcp-server
add address-pool=dhcp_pool1 disabled=no interface=LAN-Bridge name=dhcp1
/interface bridge port
add bridge=LAN-Bridge interface=ether3
add bridge=LAN-Bridge interface=ether4
add bridge=LAN-Bridge interface=ether5
add bridge=IPTV-Bridge interface=ether2
add bridge=IPTV-Bridge interface=wlan2
add bridge=IPTV-Bridge interface=s2s-ike2-twiins
/interface list member
add interface=LAN-Bridge list=LAN
add interface=IPTV-Bridge list=LAN
add interface=ether1 list=WAN
/ip address
add address=192.168.10.1/24 interface=LAN-Bridge network=192.168.10.0
/ip cloud
set ddns-enabled=yes ddns-update-interval=1m
/ip dhcp-client
add disabled=no interface=ether1
add add-default-route=no disabled=no interface=IPTV-Bridge
/ip dhcp-server network
add address=192.168.10.0/24 dns-none=yes gateway=192.168.10.1
/ip firewall filter
add action=accept chain=input comment="allow ipsec" dst-port=500,4500 \
protocol=udp
add action=accept chain=input protocol=ipsec-esp
add action=accept chain=input comment="allow HQ access to router" \
ipsec-policy=in,ipsec
/ip firewall mangle
add action=change-mss chain=forward comment="ike2-hq clamp tcp mss" \
dst-address=192.168.98.0/24 ipsec-policy=in,ipsec new-mss=1360 \
passthrough=yes protocol=tcp src-address=192.168.88.0/24 tcp-flags=syn \
tcp-mss=!0-1360
/ip firewall nat
add action=masquerade chain=srcnat src-address=192.168.10.0/24
/ip ipsec identity
add auth-method=digital-signature certificate=playa.p12 generate-policy=\
port-strict mode-config=s2s-ike2-config peer=s2s-peer \
policy-template-group=ike2-template-group
/ip ipsec policy
add dst-address=192.168.99.1/32 group=ike2-template-group proposal=\
ike2-proposal src-address=192.168.99.2/32 template=yes
/system clock
set time-zone-name=Europe/Madrid
/system identity
set name="Cliente IPTV"
/system logging
add disabled=yes topics=ipsec

"HQ" RB95
/interface bridge
add name=bridge1
add comment="Site-to-site dummy bridge" name=loopback
/interface ethernet
set [ find default-name=ether2 ] disabled=yes
set [ find default-name=ether3 ] disabled=yes
set [ find default-name=ether4 ] disabled=yes
set [ find default-name=ether5 ] disabled=yes
/interface wireless
set [ find default-name=wlan1 ] ssid=MikroTik
/interface eoip
add allow-fast-path=no !keepalive local-address=192.168.99.1 mac-address=00:00:5E:FF:07:36 mtu=1500 name=s2s-ike2-tunnel remote-address=192.168.99.2 tunnel-id=16
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip ipsec mode-config
add address=192.168.99.2 address-prefix-length=32 name=eoip-ike2-config split-include=192.168.99.1/32 system-dns=no
/ip ipsec policy group
add name=ike2-template-group
/ip ipsec profile
add dh-group=modp2048,modp1536,modp1024 enc-algorithm=aes-256,aes-192,aes-128 hash-algorithm=sha256 name=ike2-profile
/ip ipsec peer
add exchange-mode=ike2 name=ike2-peer passive=yes profile=ike2-profile send-initial-contact=no
/ip ipsec proposal
add auth-algorithms=sha512,sha256,sha1 enc-algorithms=aes-256-cbc,aes-256-ctr,aes-256-gcm,aes-192-ctr,aes-192-gcm,aes-128-cbc,aes-128-ctr,aes-128-gcm lifetime=8h name=ike2-proposal pfs-group=none
/interface bridge port
add bridge=bridge1 interface=ether1
add bridge=bridge1 interface=s2s-ike2-tunnel
/ip address
add address=192.168.99.1 comment="For site-to-site IkeV2 EoiP tunnel" interface=loopback network=192.168.99.1
/ip cloud
set ddns-enabled=yes
/ip dhcp-client
add disabled=no interface=bridge1
/ip firewall filter
add action=accept chain=input comment="allow ipsec" dst-port=500,4500 protocol=udp
add action=accept chain=input protocol=ipsec-esp
add action=accept chain=input comment="Allow decrypted IpSec traffic from Playa to router HQ" ipsec-policy=in,ipsec
/ip ipsec identity
add auth-method=digital-signature certificate=vpn-server comment=router_playa generate-policy=port-strict match-by=certificate mode-config=eoip-ike2-config peer=ike2-peer policy-template-group=ike2-template-group remote-certificate=vpn-client-playa
/ip ipsec policy
add comment="site-to-site ike2 EoiP tunnel" dst-address=192.168.99.2/32 group=ike2-template-group proposal=ike2-proposal src-address=192.168.99.1/32 template=yes
/ip service
set telnet disabled=yes
set www disabled=yes
set api disabled=yes
set api-ssl disabled=yes
/system clock
set time-zone-name=Europe/Madrid
/system identity
set name=EOIP_IPTV_TWIINS
/system logging
add topics=ipsec

Lo dicho, no sé si es un problema de configuracíón pero necesito o poder navegar sin problemas o que el trafico que no sea multicast no pase por el tunel.
Logicamente tengo acceso total (y legal xD) a todos los equipos expuestos en el esquema.

Muchas gracias a todos.
 
Última edición:
¿puedes hacer ping desde el router de HQ a la branch y viceversa? Recuerda que el ping ha de ir desde la IP del túnel, es decir, tienes que especificar desde qué IP lanzas el ping, en la terminal del router:

HQ -> BRANCH
Código:
ping 192.168.99.2 src-address=192.168.99.1

BRANCH -> HQ
Código:
ping 192.168.99.1 src-address=192.168.99.2

Tienes mal la config de IPSec del router branch. Parece que lo tengas como router servidor, en lugar de como cliente (por ejemplo, el mode-conf o el policy, creas la template pero no el túnel en sí, con el tunnel=yes). Si te resulta más sencillo, bórrale la config de IPSec a ese router y arranca de nuevo con esa config, tal y como se describe en mi manual, solo que, en lugar de hacer las policies para el LAN to LAN, las haces con las dos IP's de los extremos del túnel.

Saludos!
Hola Pocoyo
Si haces ping del HQ->Branch, (192.168.99.1->192.168.99.2), pero no hacers ping del Branch->HQ. ¿Donde puede está el problema?
Los 2 tuneles estan Ok y desde el branch alcanzo todas la maquinas del HQ, todo parece funcionar menos ese ping y el multicast que desde HQ puedo ver la TV con VLC pero desde el branch no
Si esto mismo lo hago cambiando el tunel IKEv2 por una conexión PPTP me funciona todo
 
Última edición:
Hola Pocoyo
Si haces ping del HQ->Branch, (192.168.99.1->192.168.99.2), pero no hacers ping del Branch->HQ. ¿Donde puede está el problema?
Los 2 tuneles estan Ok y desde el branch alcanzo todas la maquinas del HQ, todo parece funcionar menos ese ping y el multicast que desde HQ puedo ver la TV con VLC pero desde el branch no
Si esto mismo lo hago cambiando el tunel IKEv2 por una conexión PPTP me funciona todo
Enséñame cómo haces el ping. Desde winbox, especifica el src-address del ping.

tu problema puede venir por la regla del chain de input que acepta el tráfico de ipsec, si lo tienes es restringido a un segmento concreto.

Manda export de ambos equipos y lo miramos esta tarde (me pilas fuera)

Saludos!
 
Enséñame cómo haces el ping. Desde winbox, especifica el src-address del ping.

tu problema puede venir por la regla del chain de input que acepta el tráfico de ipsec, si lo tienes es restringido a un segmento concreto.

Manda export de ambos equipos y lo miramos esta tarde (me pilas fuera)

Saludos!
hola
Desde el Branch
ping 192.168.99.1 -> resultado timeout
ping 192.168.99.1 src-address=192.168.99.2 -> Ok
 

Adjuntos

  • branch.txt
    3.8 KB · Visitas: 18
  • HQ.txt
    10.2 KB · Visitas: 20
Claro, eso está perfecto. Quiere decir que cuando el tráfico se mete en el túnel, llega al otro lado. Ahora con lo que tienes que jugar es con las rutas. O metes las rutas estáticas para unir ambos lados del túnel, o, en el cliente que levantas sobre el bridge donde tienes la interfaz EoIP, marca el “add-default-route=yes”, ya que ahora mismo lo tienes sin marcar y las rutas de esa conexión no se están creando.

Saludos!
 
Claro, eso está perfecto. Quiere decir que cuando el tráfico se mete en el túnel, llega al otro lado. Ahora con lo que tienes que jugar es con las rutas. O metes las rutas estáticas para unir ambos lados del túnel, o, en el cliente que levantas sobre el bridge donde tienes la interfaz EoIP, marca el “add-default-route=yes”, ya que ahora mismo lo tienes sin marcar y las rutas de esa conexión no se están creando.

Saludos!
No hay problema con el trafico, desde el branch llego a todas las máquinas del HQ
Lo que me estraña es la diferencia de resultado desde el HQ
ping 192.168.99.2 -> Ok
ping 192.168.99.2 src-address=192.168.99.1 -> Ok
o desde el branch
ping 192.168.99.1 -> resultado timeout
ping 192.168.99.1 src-address=192.168.99.2 -> Ok

El Otro Problema es que no puedo ver los canales por VLC
 
Última edición:
Buenas tardes a tod@s,

Partiendo del manual que el compañero @furny ha compartido, estoy dando forma a mi configuración para crear un router HQ y tres túneles EoiP sobre IKEv2 para tres mk's branch.

Tengo un pequeño problema (que imagino será una tontería que se me está pasando) y ocurre a la hora de firmar los certificados.

El certificado vpn-ca puedo firmarlo sin problemas, pero no así los certificados vpn-server, vpn-client-xxx, vpn-client-yyy y vpn-client-zzz.

El comando que ejecuto es el siguiente:

/certificate
sign vpn-server ca=vpn-ca
sign vpn-client-xxx ca=vpn-ca
sign vpn-client-yyy ca=vpn-ca
sign vpn-client-zzz ca=vpn-ca

Recibo el siguiente error:

failure: At least one field specifying certificate name must be set!

He intentado igualmente firmarlo a través de Winbox, me pide CA CRT host, indico algún dato del CA (common-name, key-size...) pero aún así obtengo el mismo error anteriormente indicado.

Lógicamente, aunque configuro (creo que correctamente) tanto el HQ como cualquiera de los clientes (tras exportar los oportunos certificados), obtengo error en logs a la hora de gestionar los certificados (Error en log de cliente: ike2 init timeout). El log del router HQ "ni se inmuta" y no muestra ningún tipo de gestión o petición.

Tras darle muchas vueltas al asunto, se me ocurre que el problema puede provenir de no tener firmados los certificados. ¿Es posible que pueda ser este el motivo?

Gracias de antemano.


Saludos!!
 
los estás firmando por consola? Si es así, firma uno, espera, firma el otro, espera, etc. Sino, te va a tocar meterle un delay. Es decir, o los firmas de uno en uno (es una operación que tarda unos segundos) o metes delay entre esas firmas, para darle tiempo a que las complete.

Saludos!
 
los estás firmando por consola? Si es así, firma uno, espera, firma el otro, espera, etc. Sino, te va a tocar meterle un delay. Es decir, o los firmas de uno en uno (es una operación que tarda unos segundos) o metes delay entre esas firmas, para darle tiempo a que las complete.

Saludos!

Buenas @pocoyo,

Tras firmar vpn-ca (que sí lo hace correctamente) y esperar unos segundos, intento firmar cada certificado por separado tanto desde consola, como desde winbox, recibo ese error.

No sé si se me está "escapando" algún comando...pero creo que siguiendo tu tutorial de VPN sobre IKEv2 como el tutorial de este hilo, es una operación sencillísima.... Voy a darle otra vuelca de tuerca...sino, se me ocurre hacer reset al HQ (dispongo de export previo) y volver a empezar...

Saludos!!
 
Se me ocurre que cuando estes firmando la CA le des un nombre que no sea el que luego referencias en la firma de los otros. Poco más puede fallar ahí.

Saludos!
 
Hola
Si el tunel se establece, se puede hacer ping al loopback desde l branch con
ping 168.254.0.1 src-address=168.254.138.172
SEQ HOST SIZE TTL TIME STATUS
0 168.254.0.1 56 64 13ms
1 168.254.0.1 56 64 13ms
2 168.254.0.1 56 64 12ms
¿pero al obtener la direccion ip por dhcp da este error?
1620382231125.png

¿Donde puede está el error?
La IP 192.168.6.122 Es una del rando del DCHP server del HQ y la mac es la mac del branch
Gracias
 

Adjuntos

  • branch.txt
    3.8 KB · Visitas: 5
  • HQ.txt
    9.9 KB · Visitas: 6
Buenos dias,

Al final hice un reset en el router branch y en el HQ borré toda la configuración de certificados y túnel que tenía creados, volví a generar certificados, y por fin me permitió firmarlos correctamente. He generado un certificado independiente para cada router "branch", entiendo que es lo correcto, ¿no? ¿O bajo un mismo certificado cliente conectarían los 3 routers "branch" sobre los que estoy configurando los túneles?

En el HQ tengo instalado: CA + Cert server + 3 cert's clientes

En el primer router branch, he importado cert. CA + cert cliente correspondiente. Logro conexión y el túnel se levanta.

En el segundo router branch, misma operación de certificados, si bien recibo el siguiente error IPSEC en cliente: "can't get private key" // en router HQ: ERROR got fatal error: AUTHENTICATION_FAILED.

Os comento rápidamente como he realizado la configuración por si veis algo "raro".

En router HQ:

- Creo 3 loopback y 3 mode-config con distintos rangos de IP y asociados a 3 interfaces distintos (loopback-xxx / loopback-yyy / loopback-zzz - eoip-ike2-config-xxx / eoip-ike2-config-yyy / eoip-ike2-config-zzz )
- Creo un único grupo para asociar las plantillas de configuración
- Creo un único perfil de autenticación
- Creo una única propuesta de negociación de claves
- Creo un único Peer apuntando al único perfil de autenticación existente
- Creo 3 identities para cada uno de los routers "branch" y cada uno apuntando a su correspondiente certificado de cliente
- Creo 3 políticas para cada uno de los túnels, cada uno con su correspondiente rango de IP
- Creo 3 túneles EoiP, cada uno con su rango de IP, nombre e ID correspondiente.
- Añado al bridge-IPTV los 3 interfaces creados para cada uni de los túneles
- Creo las reglas de firewall siguiendo lo indicado en el manual

En router Branch (común para los 3):

- Importo certificado CA y certificado del cliente correspondiente
- Se activa DDNS
- Activo IGMP Snooping sobre bridge-IPTV y agrego el bridge al List "LAN"
- Creo mode-config IPSec
- Creo template group en IPSec/Policy
- Creo perfil autenticación idéntico al router HQ
- Creo Peer apuntando al DDNS del router HQ
- Creo Proposal idéntico al router HQ
- Creo Identidad, correspondiente al branch en cuestión indicando su certificado de cliente correspondiente
- Creo policy indicando el rango de IP's asignado al router branch en cuestión
- Creo túnel EoiP, indicando el rango de IP's e ID asignado al router branch en cuestión.
- Añado interfaz s2s-ike2-xxx al bridge-IPTV y añado los puertos eth oportunos al mismo bridge
- Creo cliente DHCP sobre el bridge-IPTV
- Creo las reglas de firewall siguiendo lo indicado en el manual

Llevo días dándole muchas vueltas a la configuración, cuando parto desde 0 en HQ y Branch, consigo levantar el primer túnel EoiP en el primer branch, pero cuando intento configurar el segundo router "branch", obtengo los errores que enunciaba anteriormente, y entiendo tienen que ver con los certificados...pero no veo nada raro. En HQ están todos los certificados de cliente "KI", al exportarlos a cada uno de los routers branch, aparecen como "KT", entiendo que es así y es correcto.

Como nota "curiosa", cuando intento importar el certificado de cliente sobre el router branch desde Winbox (previa copia del mismo a Files) no logro que se importe, no llega a aparecer en la lista de certificados, por lo que tengo que realizar la importación desde comando en terminal. No sé si esto tiene algo que ver...

¿Se os ocurre qué puede pasar?

Gracias de antemano.

Saludos!
 
Hola
Si el tunel se establece, se puede hacer ping al loopback desde l branch con
ping 168.254.0.1 src-address=168.254.138.172
SEQ HOST SIZE TTL TIME STATUS
0 168.254.0.1 56 64 13ms
1 168.254.0.1 56 64 13ms
2 168.254.0.1 56 64 12ms
¿pero al obtener la direccion ip por dhcp da este error?
Ver el adjunto 82053
¿Donde puede está el error?
La IP 192.168.6.122 Es una del rando del DCHP server del HQ y la mac es la mac del branch
Gracias
Y la relgas de firewall en el branch, ¿dónde están? Estás aceptando el tráfico en ipsec en input, ¿y en forward?

Por otro lado, estás mezclando churras con merinas con las redes de ambos lados. Por un lado tienes una ip /32 168.254.138.172 y por otro lado, su homonimo del otro lado del túnel es otra subred, 168.254.0.1. No entiendo este propósito, pero es normal que no te funcione. No juegues con los split-include si no sabes para qué se usan ni cómo. Cíñete al manual, verás como funciona.

Saludos!
 
Buenos dias,

Al final hice un reset en el router branch y en el HQ borré toda la configuración de certificados y túnel que tenía creados, volví a generar certificados, y por fin me permitió firmarlos correctamente. He generado un certificado independiente para cada router "branch", entiendo que es lo correcto, ¿no? ¿O bajo un mismo certificado cliente conectarían los 3 routers "branch" sobre los que estoy configurando los túneles?

En el HQ tengo instalado: CA + Cert server + 3 cert's clientes

En el primer router branch, he importado cert. CA + cert cliente correspondiente. Logro conexión y el túnel se levanta.

En el segundo router branch, misma operación de certificados, si bien recibo el siguiente error IPSEC en cliente: "can't get private key" // en router HQ: ERROR got fatal error: AUTHENTICATION_FAILED.

Os comento rápidamente como he realizado la configuración por si veis algo "raro".

En router HQ:

- Creo 3 loopback y 3 mode-config con distintos rangos de IP y asociados a 3 interfaces distintos (loopback-xxx / loopback-yyy / loopback-zzz - eoip-ike2-config-xxx / eoip-ike2-config-yyy / eoip-ike2-config-zzz )
- Creo un único grupo para asociar las plantillas de configuración
- Creo un único perfil de autenticación
- Creo una única propuesta de negociación de claves
- Creo un único Peer apuntando al único perfil de autenticación existente
- Creo 3 identities para cada uno de los routers "branch" y cada uno apuntando a su correspondiente certificado de cliente
- Creo 3 políticas para cada uno de los túnels, cada uno con su correspondiente rango de IP
- Creo 3 túneles EoiP, cada uno con su rango de IP, nombre e ID correspondiente.
- Añado al bridge-IPTV los 3 interfaces creados para cada uni de los túneles
- Creo las reglas de firewall siguiendo lo indicado en el manual

En router Branch (común para los 3):

- Importo certificado CA y certificado del cliente correspondiente
- Se activa DDNS
- Activo IGMP Snooping sobre bridge-IPTV y agrego el bridge al List "LAN"
- Creo mode-config IPSec
- Creo template group en IPSec/Policy
- Creo perfil autenticación idéntico al router HQ
- Creo Peer apuntando al DDNS del router HQ
- Creo Proposal idéntico al router HQ
- Creo Identidad, correspondiente al branch en cuestión indicando su certificado de cliente correspondiente
- Creo policy indicando el rango de IP's asignado al router branch en cuestión
- Creo túnel EoiP, indicando el rango de IP's e ID asignado al router branch en cuestión.
- Añado interfaz s2s-ike2-xxx al bridge-IPTV y añado los puertos eth oportunos al mismo bridge
- Creo cliente DHCP sobre el bridge-IPTV
- Creo las reglas de firewall siguiendo lo indicado en el manual

Llevo días dándole muchas vueltas a la configuración, cuando parto desde 0 en HQ y Branch, consigo levantar el primer túnel EoiP en el primer branch, pero cuando intento configurar el segundo router "branch", obtengo los errores que enunciaba anteriormente, y entiendo tienen que ver con los certificados...pero no veo nada raro. En HQ están todos los certificados de cliente "KI", al exportarlos a cada uno de los routers branch, aparecen como "KT", entiendo que es así y es correcto.

Como nota "curiosa", cuando intento importar el certificado de cliente sobre el router branch desde Winbox (previa copia del mismo a Files) no logro que se importe, no llega a aparecer en la lista de certificados, por lo que tengo que realizar la importación desde comando en terminal. No sé si esto tiene algo que ver...

¿Se os ocurre qué puede pasar?

Gracias de antemano.

Saludos!
Hola
Yo estoy intentao hacer algo parecido, pero con un solo bridge loopback. Cuando solione un problema con el dhcp te comparto la configuración
Yo cuando no me importa los certificados desde el winbox es por erro en el passphrase, si me equivoco no lo importa
 
He generado un certificado independiente para cada router "branch", entiendo que es lo correcto, ¿no? ¿O bajo un mismo certificado cliente conectarían los 3 routers "branch" sobre los que estoy configurando los túneles?
Es correcto. Cada extremo con su propio certificado.

Pásanos un export de la configuración del HQ y de un par de branches y lo miramos.

Saludos!
 
Hola
Yo estoy intentao hacer algo parecido, pero con un solo bridge loopback. Cuando solione un problema con el dhcp te comparto la configuración
Yo cuando no me importa los certificados desde el winbox es por erro en el passphrase, si me equivoco no lo importa
Muchas gracias @arogerm

Entendí que lo lógico era crear 3 loopback's, cada uno con el rango de IP's correspondiente a cada Branch, no obstante agradezco que compartas tu config cuando la tengas a punto.

Saludos!
 
Y la relgas de firewall en el branch, ¿dónde están? Estás aceptando el tráfico en ipsec en input, ¿y en forward?

Por otro lado, estás mezclando churras con merinas con las redes de ambos lados. Por un lado tienes una ip /32 168.254.138.172 y por otro lado, su homonimo del otro lado del túnel es otra subred, 168.254.0.1. No entiendo este propósito, pero es normal que no te funcione. No juegues con los split-include si no sabes para qué se usan ni cómo. Cíñete al manual, verás como funciona.

Saludos!
Hola
en el branch parto de la configuracion

túneles EoIP: Cómo llevarte tu red a cuestas​

El tunel está establecido y funcionando
la red del HQ es 192.168.4.0/22

En el branch las reglas son
/ip firewall filter
add action=accept chain=input comment="allow ipsec" dst-port=500,4500 \
protocol=udp
add action=accept chain=input protocol=ipsec-esp
add action=accept chain=input comment="allow HQ access to router" \
ipsec-policy=in,ipsec

La idea es crear un único loopback en el HQ y automatizar la creacion de branch con un script
En el manual al loopback se asigna 192.168.99.1 (Yo lo he cambiado por 168.254.0.1) y a cada branch se asigna una IP distinta
He cambiado la IP 192.168.99.X por 168.254.X.Y para mantenerme desde de IP privadas, ese ha sido el motivo de cambiar las IP

El problema no parece estar ni el tunel ike ni el del EoIP ya que se establecen bien
La idea es intentar usar un script que pasando un codigo, me genere los certificados, establezca una IP que no entre en conflicto con nada, etc

{
:local Entrevistador 9900
:local EntrevistadorNombre "XXXXX"


:local EoIPtunel $Entrevistador
:set $Entrevistador ("E" . $Entrevistador);
:local EntrevistadorIP "168.254"

:local ExportPassword "XXXXXXXXXXXXX()"
:local EntrevistadorCorreo "email:"
:set $EntrevistadorCorreo ($EntrevistadorCorreo . $Entrevistador . "@imop.es");
:local ModeConfig eoip-ike2-config
:set $ModeConfig ($ModeConfig . "-" . $Entrevistador);
local Certificado $Entrevistador
:set $Certificado ($Certificado . ".p12")

:local ip $EoIPtunel
:set $ip (($EoIPtunel / 256) + 100)
:set $EntrevistadorIP ($EntrevistadorIP . "." . $ip)
:set $ip ($EoIPtunel - (256 * ($EoIPtunel / 256)))
:set $EntrevistadorIP ($EntrevistadorIP . "." . $ip)
:local EntrevistadorIPMask $EntrevistadorIP
:set $EntrevistadorIPMask ($EntrevistadorIPMask . "/32");
:local ComentarioPolicy ""
:set $ComentarioPolicy ($Entrevistador . " site-to-site ike2 EoiP tunnel");

/certificate add copy-from=~vpn-client-template name=$Entrevistador common-name=$EntrevistadorNombre subject-alt-name=$EntrevistadorCorreo
/certificate sign $Entrevistador ca=vpn-ca
delay 10;
/certificate export-certificate $Entrevistador type=pkcs12 export-passphrase=$ExportPassword file-name=$Entrevistador
/ip ipsec mode-config add address=$EntrevistadorIP address-prefix-length=32 name=$ModeConfig split-include=168.254.0.1/32 system-dns=no
/ip ipsec identity add auth-method=digital-signature certificate=vpn-server comment=$EntrevistadorNombre generate-policy=port-strict match-by=certificate mode-config=$ModeConfig peer=ike2-peer policy-template-group=ike2-template-group remote-certificate=$Entrevistador
/ip ipsec policy add comment=$ComentarioPolicy dst-address=$EntrevistadorIPMask group=ike2-template-group proposal=ike2-proposal src-address=168.254.0.1/32 template=yes
/interface eoip add allow-fast-path=no disabled=no !keepalive local-address=168.254.0.1 mtu=1500 name=$Entrevistador remote-address=$EntrevistadorIP tunnel-id=$EoIPtunel
/interface bridge port add bridge=IPTV-Bridge interface=$Entrevistador
/
}
 

Adjuntos

  • branch.txt
    3.8 KB · Visitas: 4
  • HQ.txt
    9.9 KB · Visitas: 5
Ese manual y este no tienen nada que ver. No los mezcles, porque vas a acabar con un Frankenstein difícil de manejar, por mucho scripting que hagas.

Une los routers en IKEv2 site to site, tal y como se describe en este manual o en el de IKEv2 a fondo. Una vez establecido el túnel a base de políticas de ipsec (no necesitas nada de scripting en ellos, el túnel levanta solito), configura el EoIP encima, usando como IP locacl la que entregas como extremo del túnel IKEv2 y como remota la que esté asignada al bridge de loopback en HQ. Ese mismo esquema se puede repetir en tantas sedes te de la gana, creando en HQ tantos túneles EoIP's como enlaces remotos quieras hacer, usando un único bridge multicast en HQ (el famoso bridge IPTV donde irían todos los túneles, más la interfaz local del desco). Como los túneles EoIP ya no apuntan a las IP's públicas, ni llevan ipsec, no te van a causar problemas en los logs cuando no conecten, simplemente se les quitará el flag de running y listo.

En los remotos, idéntico. Bridge con el multicast activo y en él el EoIP correspondiente a ese extremo, más la interfaz local que quieras usar (ethernet) por donde sacar dicho tráfico.

Es básicamente unir ambos equipos usando la configuracicón site to site de IKEv2 + montar un EoIP usano las IP's locales de pool VPN. Un extremo es siempre el mismo, la IP de la interfaz de loopback del bridge para la VPN, y las remotas son las IP's que vas asignando en el mode-config, de ese mismo pool. No tiene más. Es decir, tunel-in-tunel.

Saludos!
 
Es correcto. Cada extremo con su propio certificado.

Pásanos un export de la configuración del HQ y de un par de branches y lo miramos.

Saludos!
Buenas @pocoyo

Adjunto export de la configuración tanto del router HQ como de un par de branch's.

Decirte que mientras cacharreaba esta mañana con el router branch con el problema de certificados, he vuelto a quitarlos todos en el branch, he reiniciado el router, he vuelto a instalar el CA y el cert-cliente....y "voilá"...ha conectado!! Misterios de la informática.

El problema que ahora observo es que desde ninguno de los branch's obtengo IP de del bridge-IPTV del HQ (192.168.2.X) por lo que no visualizo nada de contenido si conecto un deco a alguno de los branch's

¿Ves algo raro en la configuración de DHCP?

Gracias!!
 

Adjuntos

  • config_branch_1.txt
    5.1 KB · Visitas: 5
  • config_branch_2.txt
    9.1 KB · Visitas: 4
  • config_hq.txt
    16.4 KB · Visitas: 4
Arriba