Clash Meta, la versión derivada del proxy de red Clash, puede funcionar en equipos Linux estándar como side router o router secundario sin necesidad de un router con OpenWrt. Para ello utiliza el modo TUN, una interfaz de red virtual que redirige el tráfico, y recurre al protocolo ICMPv6 Router Advertisement (RA) para gestionar la red IPv6 de forma no intrusiva. Este artículo explica en detalle el mecanismo, los problemas que resuelve y la implementación técnica.
En redes IPv4, la asignación de direcciones depende del protocolo DHCP, que solo admite un servidor por subred. Instalar un segundo servidor DHCP provoca conflictos del tipo "el que responde más rápido gana", lo que puede desordenar la puerta de enlace, el DNS y el pool de direcciones. Por eso, tomar el control de dispositivos en IPv4 sin tocar el router principal resulta problemático.
En IPv6 la situación es diferente. La asignación de direcciones, el anuncio de rutas y la configuración de DNS se realizan mediante el mensaje ICMPv6 Router Advertisement (tipo 134), enviado en multicast a la dirección ff02::1 (todos los nodos). Este mensaje permite controlar la prioridad de la ruta por defecto (high, medium o low), su tiempo de vida, el servidor DNS mediante la opción RDNSS (25) y su tiempo de vida. Ajustando estos parámetros es posible priorizar el side router sobre el principal sin modificar su configuración.
El truco consiste en configurar el side router con preferencia alta y un tiempo de vida corto (por ejemplo, 180 segundos), mientras el router principal mantiene preferencia media y un tiempo de vida largo (1800 segundos). Así, los clientes eligen el side router y, si este falla, vuelven al principal. Como Windows 10+ y Android priorizan el DNS de IPv6 sobre el de IPv4, basta con controlar IPv6 para redirigir eficazmente el tráfico de esos dispositivos.
En el plano técnico, el artículo detalla los requisitos del núcleo Linux (habilitar reenvío IPv6 y establecer accept_ra=2), la construcción manual de los paquetes RA y RDNSS como matrices de bytes, y el bucle que los envía cada 30 segundos y responde a los mensajes Router Solicitation (RS, tipo 133). Al cerrar, Clash Meta envía tres RA con tiempo de vida cero para que los clientes regresen al router principal sin pérdida de servicio. La conclusión es que, aprovechando las capacidades del protocolo IPv6 y sin tocar la configuración del router principal, se puede conseguir que un equipo Linux funcione como side router transparente para dispositivos compatibles.
