VPNSmith
tunneling-obfuscationINFO

v2rayN con el núcleo sing-box (2026): qué cambia y la trampa del DNS

Pasar v2rayN del núcleo Xray a sing-box: qué protocolos lo necesitan de verdad (TUIC, AnyTLS, Naive - no Hysteria2), cómo cambian de significado los campos DNS, por qué el Bootstrap DNS debe ser una IP y dónde están los archivos.

Por Eric Gerard · Fundador · VPNSmith - Especialista en VPN self-host y VPS GDPR8 min de lecturaImage: Pexels

Divulgación de afiliación - este artículo contiene un enlace de afiliado de Contabo. Si contratas un VPS a través de él, ganamos una comisión sin coste adicional para ti. Todo lo que sigue procede del código fuente de v2rayN, de su wiki oficial y de las páginas de publicación de los proyectos, comprobado el 2026-08-09. Los números de versión y los nombres de los campos de configuración cambian a menudo; contrástalos con la documentación actual antes de confiar en ellos.

Respuesta corta: cambia v2rayN al núcleo sing-box solo si necesitas TUIC, AnyTLS o Naive: esos son los tres protocolos que el núcleo Xray no gestiona. Hysteria2 no es uno de ellos, y Vision y REALITY funcionan perfectamente con sing-box. El cambio es un único ajuste, pero modifica en silencio el significado de los campos DNS, que es de donde vienen casi todas las configuraciones rotas. Si todavía estás eligiendo entre los dos motores en lugar de cambiar, empieza por nuestra comparativa sing-box frente a Xray.

Qué núcleos puede manejar realmente v2rayN

La wiki enumera once núcleos compatibles repartidos en cuatro familias: la familia V2Ray (Xray, v2fly), la familia Clash (mihomo), la familia sing_box y otros independientes como hysteria2, naiveproxy, tuic, juicity, brook, overtls y shadowquic.

Esa lista se malinterpreta con facilidad. En el código, solo dos núcleos actúan como núcleo principal para el que v2rayN genera una configuración: Xray y sing_box. La página de DNS de la wiki dice exactamente lo mismo. Los demás se usan mediante un archivo de configuración personalizado: tú aportas la configuración y v2rayN ejecuta el binario.

Los paquetes de Windows ya incluyen los binarios de Xray, sing-box y mihomo dentro del zip. Los demás núcleos los descargas tú y los colocas en bin.

Cómo hacer el cambio

Ajustes → Tipo de core (Core Type Settings).

El orden de resolución importa más que el propio ajuste. Al arrancar, v2rayN lee primero el tipo de núcleo registrado en el perfil de servidor actual; solo si está vacío recurre al tipo de núcleo global. En la práctica, eso significa que puedes dejar toda tu lista en Xray y pasar un único nodo TUIC a sing-box, sin tocar nada más.

Dos tomas de pared RJ45 de color crema montadas sobre un panel oscuro, con cuatro cables Ethernet blancos conectados a través de capuchones azules y morados; un LED rojo brilla en la toma superior y el suelo del fondo es de un gris pálido.
Dos tomas de pared RJ45 de color crema montadas sobre un panel oscuro, con cuatro cables Ethernet blancos conectados a través de capuchones azules y morados; un LED rojo brilla en la toma superior y el suelo del fondo es de un gris pálido.

Lo que exige sing-box de verdad: tres protocolos

Esto no hace falta discutirlo, porque lo calcula v2rayN. El código define los protocolos que admite cada núcleo y luego deriva el conjunto exclusivo de sing-box como la diferencia entre los dos:

NúcleoProtocolos compatibles
XrayVMess, VLESS, Shadowsocks, Trojan, Hysteria2, WireGuard, SOCKS, HTTP
sing-boxVMess, VLESS, Shadowsocks, Trojan, Hysteria2, TUIC, AnyTLS, Naive, WireGuard, SOCKS, HTTP

Así que la respuesta es TUIC, AnyTLS y Naive. Nada más.

Hay dos creencias que te encontrarás en los hilos de los foros y que conviene corregir, porque ambas están desmentidas por el código fuente:

  • «Hysteria2 necesita sing-box.» No es así: Hysteria2 está en las dos listas, así que el núcleo Xray lo gestiona. Sí existen incidencias en el rastreador que reportan problemas prácticos con Hysteria2 bajo Xray, pero un fallo reportado no es una capacidad ausente.
  • «sing-box no puede con Vision ni REALITY en v2rayN.» Sí puede. El generador de salidas sing-box emite el flujo Vision para VLESS y escribe el bloque REALITY (clave pública, short ID) más la huella uTLS. La variante xtls-rprx-vision-udp443 se normaliza al simple xtls-rprx-vision.

hay una limitación de encadenamiento documentada, pero recae sobre el otro núcleo: con cadenas de proxies, los nodos que usan Xray no pueden usar TUIC ni AnyTLS como proxy de entrada ni de salida.

La trampa del DNS: la parte que realmente rompe las configuraciones

Si algo funcionaba en Xray y dejó de funcionar en cuanto hiciste el cambio, esta es casi con seguridad la razón. Los dos campos DNS no tienen el mismo cometido en cada núcleo.

CampoCon XrayCon sing-box
DNS directopor defecto, solo resuelve los destinos a IPs para evaluar las reglas de enrutamiento - no son tus consultas salientes realeshace el trabajo de verdad: coincidencias de enrutamiento, el dominio propio de tu nodo y los destinos directos
DNS remotolo mismo, solo coincidencias de enrutamientocoincidencias de enrutamiento y resolución de los destinos que pasan por el proxy

Con Xray, estos campos son un detalle de enrutamiento. Con sing-box, son tu resolutor. Copiar tal cual una configuración DNS que funcionaba en Xray es exactamente la forma de acabar con un nodo que ni siquiera resuelve su propio nombre de host.

El Bootstrap DNS debe ser una dirección IP

La regla está enunciada con claridad en la documentación: si el DNS directo o el DNS remoto se escriben como un dominio, hay que configurar un Bootstrap DNS, como dirección IP. Es el resolutor que resuelve a tu resolutor. Si pones https://dns.google/dns-query como DNS remoto sin bootstrap, no queda nada con lo que buscar dns.google.

La opción relacionada «añadir hosts DNS comunes» fija en duro las correspondencias de dns.google y cloudflare-dns.com, de modo que un fallo del bootstrap no se lo lleva todo por delante.

Opciones que existen solo en un núcleo

No pierdas una tarde buscando una casilla que no puede estar ahí:

  • Solo sing-box, y solo en modo TUN: FakeIP y el bloqueo de las consultas SVCB/HTTPS. Esta segunda opción desactiva además ECH y HTTP/3; la documentación señala que ECH puede interferir con el enrutamiento dividido por dominio.
  • Solo Xray: las consultas DNS en paralelo y la caché optimista.

En cuanto a la estrategia de resolución, UseIPv4 y UseIPv4v6 se corresponden con el prefer_ipv4 de sing-box, y UseIPv6/UseIPv6v4 con prefer_ipv6; también están disponibles ipv4_only e ipv6_only. Los hosts DNS se escriben uno por línea con el formato dominio IP1 IP2. Salvo que tengas un motivo concreto, el propio consejo de la wiki es importar la configuración DNS por defecto y no tocarla.

Dos cambios de comportamiento menores

  • routeOnly se fuerza a activo. Con el núcleo sing-box está habilitado y no se puede desactivar.
  • Mux necesita un protocolo. Con sing-box no basta con activar la multiplexación; además hay que elegir el protocolo de multiplexación: h2mux, smux o yamux.

Dónde están los archivos

Todo es relativo a la carpeta de la aplicación:

QuéDónde
Binarios de los núcleosbin\<coreType> - es decir, bin\sing_box
Configuración generada para el núcleobinConfigs (config.json)
Ajustes de la interfazguiConfigs (guiNConfig.json)
RegistrosguiLogs

Las compilaciones en zip son portables: todo se queda dentro de la carpeta en la que lo hayas extraído, así que puedes mantener varias copias independientes en paralelo. Si defines la variable de entorno V2RAYN_LOCAL_APPLICATION_DATA_V2 con el valor 1, la carpeta base pasa a ser %LOCALAPPDATA%\v2rayN.

Un escritorio delante de una ventana luminosa de varios paneles: un monitor grande que muestra un fondo de pantalla con una montaña oscura y un cielo nocturno junto a un formulario de inicio de sesión, un portátil abierto debajo, una taza gris moteada, un pequeño tarro con flores rosas y unas gafas.
Un escritorio delante de una ventana luminosa de varios paneles: un monitor grande que muestra un fondo de pantalla con una montaña oscura y un cielo nocturno junto a un formulario de inicio de sesión, un portátil abierto debajo, una taza gris moteada, un pequeño tarro con flores rosas y unas gafas.

Actualiza antes de diagnosticar nada

La versión actual en el momento de escribir estas líneas es v2rayN 7.24.4, publicada el 30 de julio de 2026, y sus notas de publicación la señalan como una actualización de seguridad urgente: el descargador integrado de las versiones anteriores podía explotarse para un ataque de intermediario que servía archivos maliciosos. El proyecto pide a todos los usuarios que actualicen de inmediato. Si estás en una compilación antigua, hazlo antes de ponerte a depurar un problema de proxy.

Los archivos para Windows se distribuyen como seis zips - compilaciones WPF (v2rayN-windows-64.zip) y Avalonia (v2rayN-windows-64-desktop.zip), en x64, x86 y arm64 -, junto con un archivo de clave pública para verificar las firmas. Se requiere Windows 10 o posterior.

Por el otro lado, la versión estable actual de sing-box es la v1.13.16, publicada el 3 de agosto de 2026. Una laguna que conviene reconocer: ni la wiki ni las notas de publicación de la 7.24.4 publican una matriz de compatibilidad entre las versiones de v2rayN y las de sing-box, y la compilación exacta de sing-box incluida en el zip no está documentada: habría que inspeccionar el binario para saberlo.

¿Deberías cambiar?

Solo con un motivo. Si tus nodos son VLESS o VMess con REALITY, el núcleo Xray es el camino mejor documentado y no hay nada que ganar. Cambia cuando tengas un nodo TUIC, AnyTLS o Naive que ejecutar, o cuando quieras FakeIP en modo TUN; y cuando lo hagas, rehaz tus ajustes de DNS desde cero en lugar de dar por hecho que los de Xray se trasladan tal cual.

Montar tu propio endpoint en lugar de usar un nodo público es una decisión aparte; si vas en esa dirección, nuestra guía anti-DPI y de evasión de la censura explica qué sobrevive de verdad a la inspección profunda de paquetes.

★ Datacenter Núremberg GDPR · ✓ IPv4 dedicada incluida · 200+ Mbps garantizados

Un VPS que controlas para túnel y ofuscación → ContaboAcceso root · abre cualquier puerto · tu propia stack

Preguntas frecuentes

¿Cómo cambio v2rayN al núcleo sing-box?
Abre los Ajustes y usa «Tipo de core (Core Type Settings)». v2rayN resuelve el núcleo en dos pasos: primero lee el tipo de núcleo definido en el perfil de servidor actual y, solo si está vacío, recurre al tipo de núcleo definido globalmente. Así, un único servidor puede funcionar con sing-box mientras el resto de tu lista sigue con Xray. Ten en cuenta que en el código solo dos núcleos generan una configuración como núcleo principal, Xray y sing_box; los demás núcleos compatibles se manejan mediante un archivo de configuración personalizado.
¿Qué protocolos requieren realmente el núcleo sing-box en v2rayN?
Tres: TUIC, AnyTLS y Naive. Esto no es una cuestión de opinión: v2rayN calcula la lista por sí mismo, como el conjunto de protocolos que admite sing-box menos los que admite Xray. Todo lo demás de la lista común (VMess, VLESS, Shadowsocks, Trojan, WireGuard, SOCKS, HTTP) funciona con cualquiera de los dos núcleos.
¿Hysteria2 necesita el núcleo sing-box?
No. Hysteria2 aparece tanto en la lista de protocolos compatibles de Xray como en la de sing-box dentro de v2rayN, así que el núcleo Xray también lo gestiona. Es un error muy extendido. Por otro lado, algunos usuarios han reportado problemas prácticos con Hysteria2 en Xray en el rastreador de incidencias del proyecto, pero un fallo reportado no es lo mismo que una función ausente, y no es motivo para afirmar que Xray no puede con Hysteria2.
¿Funcionan XTLS Vision y REALITY con el núcleo sing-box?
Sí, ambos. El generador de salidas sing-box de v2rayN emite el flujo Vision para VLESS y genera el bloque REALITY (clave pública y short ID) en el lado del cliente, junto con la huella uTLS. Un detalle que conviene conocer: la variante «xtls-rprx-vision-udp443» se normaliza al simple «xtls-rprx-vision».
¿Por qué dejó de funcionar mi DNS tras cambiar a sing-box?
Porque los campos DNS no significan lo mismo con cada uno de los dos núcleos. Con Xray, los campos «DNS directo» y «DNS remoto» se usan por defecto solo para resolver los destinos a IPs al evaluar las reglas de enrutamiento: no son tus consultas DNS salientes reales. Con sing-box, esos mismos campos hacen la resolución de verdad: el DNS directo se encarga de las coincidencias de enrutamiento, del dominio propio de tu nodo y de los destinos directos, mientras que el DNS remoto se encarga de los destinos que pasan por el proxy. Por eso una configuración que parecía correcta en Xray puede romperse en cuanto haces el cambio.
¿Qué es el Bootstrap DNS y cuándo lo necesito?
Es el resolutor que se usa para buscar el nombre de dominio de tu propio servidor DNS. La regla oficial es explícita: si introduces el DNS directo o el DNS remoto como un dominio (por ejemplo, una URL DNS-over-HTTPS), debes configurar un Bootstrap DNS, y hay que indicarlo como dirección IP. De lo contrario, no hay nada capaz de resolver al propio resolutor. También existe una opción para añadir hosts DNS comunes, que fija en duro las correspondencias de dns.google y cloudflare-dns.com para que un fallo del Bootstrap sea superable.
¿Qué opciones DNS son exclusivas de un solo núcleo?
FakeIP y el bloqueo de las consultas SVCB/HTTPS funcionan solo con el núcleo sing-box, y únicamente en modo TUN. Las consultas DNS en paralelo y la caché optimista funcionan solo con el núcleo Xray. Bloquear SVCB/HTTPS desactiva además ECH y HTTP/3; la documentación oficial señala que ECH puede interferir con el enrutamiento dividido por dominio.
¿Dónde guarda v2rayN el binario de sing-box y su configuración generada?
De forma relativa a la carpeta de la aplicación: los binarios de los núcleos están en bin\<coreType>, es decir bin\sing_box en este caso, y la configuración generada para el núcleo acaba en binConfigs. Los ajustes de la interfaz están en guiConfigs (guiNConfig.json) y los registros en guiLogs. Las compilaciones en zip son portables: todo se queda en la carpeta donde lo hayas extraído, de modo que pueden convivir varias copias independientes. Poner la variable de entorno V2RAYN_LOCAL_APPLICATION_DATA_V2 a 1 mueve la carpeta base a %LOCALAPPDATA%\v2rayN.