Como configurar la beta de IPv6 de Movistar en routers Mikrotik

|
|
Tags:  IPv6,  Routers

El 6 de marzo de 2023 empezó la beta pública de IPv6 en las conexiones de fibra óptica de Movistar y O2 en España.

IPv6 es la versión más nueva del protocolo de Internet que se estrenó en 2012. Su principal característica es que resuelve el problema de agotamiento de direcciones IPv4, pero también tiene mejoras que reducen la latencia de las conexiones y que mejoran la calidad de servicios de streaming masivo, como por ejemplo la televisión por Internet.

En este post voy a explicar los parámetros de configuración de IPv6 de la beta de Movistar y los comandos para configurar la conectividad IPv6 en un router Mikrotik.

Características del IPv6 de Movistar

  • Dual-stack: Han añadido conectividad IPv6 sin cambiar los parámetros de IPv4, por lo tanto, el router sigue teniendo una dirección IPv4 pública.
  • La conexión IPv6 se ofrece a través de PPPoE. Había la esperanza de que se quitase PPPoE porque es una capa que no aporta nada, pero de momento sigue ahí.
  • La interfaz WAN del router recibe un prefijo /64 que empieza por 2a02:9003: y la PD (Prefix delegation) ofrece prefijos de /56 que empiezan por 2a02:91xx: mediante DHCPv6.

Configurar IPv6 de Movistar en routers Mikrotik

A continuación, voy a explicar cómo añadir la conexión IPv6 de la beta de Movistar a un router Mikrotik que ya tiene configurada la conexión IPv4.

La conexión que he usado para escribir este post funciona con un ONT Edgecore conectado a un router Microtik hAP2 con RouterOS 7.8 Stable y estos nombres de interfaces:

  • Interfaz WAN: pppoe-internet
  • Interfaz LAN: Bridge

Lo primero que tienes que hacer es activar la opción ‘Accept router advertisements’ con el comando /ipv6 settings set accept-router-advertisements=yes

Luego comprueba que la interfaz PPPoE del router tiene asignada una IPv6 con el comando /ipv6 address print

En el siguiente ejemplo la posición 4 es la IPv6 de la interfaz WAN.

[admin@MikroTik] > ipv6 address print
Flags: I, D - DYNAMIC; G, L - LINK-LOCAL
Columns: ADDRESS, FROM-POOL, INTERFACE, ADVERTISE
#    ADDRESS                                     FROM-POOL            INTERFACE       ADVERTISE
0 DL fe80::ba69:f4ff:xxxx:da92/64                                     bridge          no       
1 DL fe80::ba69:f4ff:xxxx:da91/64                                     ether1          no       
2 DL fe80::ba69:f4ff:xxxx:da91/64                                     ether1-vlan6    no       
3 DL fe80::a/64                                                       pppoe-internet  no       
4 DG 2a02:9003:a2:xxxx::a/64                                          pppoe-internet  no      

Ahora comprueba que hay conectividad por IPv6 haciendo ping, por ejemplo, al servidor DNS de Cloudflare con el comando ping 2606:4700:4700::1111 c 4

[admin@MikroTik] > ping 2606:4700:4700::1111 c 4
  SEQ HOST                                     SIZE TTL TIME       STATUS                                                                                                                                                                  
    0 2606:4700:4700::1111                       56  57 10ms214us  echo reply                                                                                                                                                              
    1 2606:4700:4700::1111                       56  57 10ms27us   echo reply                                                                                                                                                              
    2 2606:4700:4700::1111                       56  57 10ms330us  echo reply                                                                                                                                                              
    3 2606:4700:4700::1111                       56  57 10ms87us   echo reply                                                                                                                                                              
    sent=4 received=4 packet-loss=0% min-rtt=10ms27us avg-rtt=10ms164us max-rtt=10ms330us 

Luego configura el prefijo delegado (PD) para ofrecer direcciones IPv6 públicas a todos los dispositivos de tu LAN. Para ello tienes que crear un DHCPv6 client que solicite un prefijo /56 en la interfaz WAN y que guarde el rango en un IP pool.

En el siguiente ejemplo el prefijo delegado se solicita desde la interfaz WAN y se guarda en el pool llamado ipv6-pppoe-internet:

/ipv6 dhcp-client add add-default-route=yes interface=pppoe-internet pool-name=ipv6-pppoe-internet pool-prefix-length=56 request=prefix use-peer-dns=yes

Por último, tienes que configurar un DHCPv6 Server para asignar IPv6 del prefijo delegado a los dispositivos de tu LAN.

El siguiente ejemplo complementa el anterior y ofrece en la interfaz LAN las direcciones del IP pool ipv6-pppoe-internet:

/ipv6 dhcp-server add address-pool=ipv6-pppoe-internet interface=bridge name=dhcp6-lan

Configurar IPv6 privadas y estáticas

Quizás tienes servidores en tu LAN que necesitan IPs estáticas (Por ejemplo: DNS, NAS, etc.) En IPv6 puedes hacer que los dispositivos tengan varias direcciones IP. Por ejemplo: las IPs dinámicas asignadas por PD, y otras de rangos internos dentro del estándar RFC 4193 Unique Local Address a las que no se puede acceder desde Internet.

Puedes usar un generador de rangos de IPv6 privadas como por ejemplo simpledns.plus/private-ipv6

Luego ejecuta el siguiente comando para guardar ese rango en un IP pool y anunciarlo en tu interfaz LAN, para que los dispositivos de tu red interna generen sus propias IPv6 estáticas privadas. Sustituye el rango fdc1:9f2e:xxxx:5da8::/64 por el del valor del campo ‘Combined/CID’ que aparece en el generador del paso anterior.

/ipv6 pool add name=ipv6-private prefix=fdc1:9f2e:xxxx:5da8::/64 prefix-length=64
/ipv6 address add address=::ba69:f4ff:fe72:da92 from-pool=ipv6-private interface=bridge

Las IPs estáticas se generan y guardan a nivel de instalación de sistema operativo de cada dispositivo de la LAN. Si tienes varios SO en el mismo ordenador cada uno tendrá una IPv6 privada estática distinta.

Configurar servidores DNS personalizados en IPv6

Con el siguiente comando puedes configurar servidores DNS personalizados para los dispositivos de tu LAN. Cambia el valor de la propiedad ‘dns’ por la lista de IPs separadas por comas y pon tu interfaz LAN en el valor de la propiedad ‘interface’.

/ipv6 nd set [ find default=yes ] dns=fdc1:9f2e:xxxx:5da8:207:32ff:fe4b:ff4b,fdc1:9f2e:xxxx:5da8:ba69:f4ff:fe72:da92 hop-limit=64 interface=bridge

Workaround para problemas con Prefix Delegation

Como el IPv6 de Movistar está en fase beta, hay muchas cosas que pueden fallar. En este momento algunos usuarios han reportado que no se les asigna un prefijo y no tienen conectividad IPv6 desde los dispositivos de su red local.

Para esos casos hay un workaround que consiste en configurar un rango de direcciones IPv6 privadas usando los pasos de la sección anterior y luego ejecutar este comando para crear una regla en el NAT del Firewall para que te permita salir a Internet con la IPv6 del router. Pon la interfaz WAN en el valor de la propiedad ‘out-interface’:

/ipv6 firewall nat add action=masquerade chain=srcnat ipsec-policy=out,none out-interface=pppoe-internet

Ten en cuenta que esta solución debe ser temporal y que no te permitirá aprovechar al máximo las ventajas de IPv6, como poder tener direcciones IP públicas en todos tus dispositivos. Además, que la capa de NAT puede aumentar la latencia.

Reporta este error a Movistar y en cuanto lo resuelvan elimina esta regla para poder usar todas las características de IPv6.

Author

Sergio Monedero

I am excited to share my knowledge and insights on programming and devops through this personal website. I am a lifelong learner with a passion for technology, and I enjoy staying up-to-date on the latest industry trends.

Keep in touch with Me: SergioCoder@LinkedIn | Branyac@Github