Las palabras VLESS, Reality, XTLS y XHTTP aparecen en casi todas las guías de configuración de VPN, pero rara vez se explica qué hay detrás de ellas y por qué el mismo esquema a unos les funciona durante años y a otros deja de funcionarles al cabo de una semana. En este artículo veremos paso a paso cómo ve el proveedor tu conexión, qué rasgos delatan una VPN y cómo los protocolos modernos eliminan esos rasgos. Después de leerlo quedará claro en qué se diferencian nuestras guías y cuál elegir.
Cómo detecta y bloquea un proveedor una VPN
Para entender cómo están hechos los protocolos modernos, hay que empezar por aquello contra lo que fueron creados. El proveedor no puede leer el contenido de una conexión cifrada, pero ve bastantes cosas a su alrededor. Conoce la dirección IP con la que se comunica tu dispositivo, el puerto, el protocolo de transporte, el volumen y el ritmo de la transferencia de datos, y también los primeros bytes de cada conexión, que a menudo se transmiten en texto claro. En esta información se apoyan los filtros de tráfico, como los sistemas de filtrado TSPU que se usan en Rusia.
La forma más burda de bloqueo es prohibir direcciones IP concretas o subredes enteras. Es sencilla, pero afecta a todos los que están alojados al lado, por eso se aplica de forma selectiva, por ejemplo a las direcciones de servicios VPN conocidos o a las subredes de hostings populares. Una forma más sutil es analizar el inicio de la conexión. Casi todos los protocolos abren la sesión con un mensaje característico, y por él se puede identificar el sistema con la misma seguridad con la que se reconoce a una persona por su letra. Por último, existen indicios indirectos, como un volumen de tráfico inusual hacia una misma dirección, un ritmo de intercambio impropio de un sitio web normal o la falta de correspondencia entre el nombre del sitio y la dirección del servidor. Por separado demuestran poco, pero en conjunto permiten al sistema tomar una decisión con gran seguridad.
De aquí se deriva el principio fundamental sobre el que se construye todo lo demás. Para que no bloqueen una conexión, no basta con cifrarla. Hace falta que sea indistinguible de las conexiones que no se pueden bloquear, porque de ellas depende el funcionamiento del internet normal.
Por qué las VPN clásicas se han vuelto fáciles de detectar
OpenVPN y WireGuard se diseñaron para proteger los datos en redes no fiables, no para ocultar el propio hecho de la conexión. Su cifrado es fiable, pero el handshake, es decir, el intercambio de mensajes de servicio al establecer la conexión, tiene una estructura fija y bien documentada. Al sistema de filtrado le basta con aprender una sola vez a reconocer ese inicio para encontrar este tipo de conexiones en cualquier servidor y en cualquier puerto. Precisamente por eso muchos proveedores han aprendido a bloquear el WireGuard normal.
La primera respuesta fueron protocolos que cambian el aspecto exterior de soluciones conocidas. AmneziaWG, por ejemplo, conserva la base fiable de WireGuard, pero añade basura aleatoria al handshake y cambia las cabeceras de servicio, de modo que la letra conocida desaparece. Este enfoque se explica en el artículo sobre Amnezia VPN. Otra respuesta fue Shadowsocks, sobre el que funciona Outline. Cifra la conexión desde el primer byte, y su contenido parece un flujo de datos aleatorio. Sin embargo, con el tiempo se vio que la ausencia total de estructura también es un indicio, ya que el tráfico normal de internet casi siempre empieza con una cabecera reconocible. Así surgió la idea en la que se basan VLESS y Reality. En lugar de ocultar la estructura, hay que tomarla prestada del tipo de tráfico más extendido e intocable, la apertura normal de un sitio web por HTTPS.
Xray y el protocolo VLESS
La mayoría de los esquemas modernos para eludir bloqueos funcionan sobre el núcleo Xray. Es un programa que se ejecuta tanto en el servidor como dentro de la aplicación del dispositivo y que entre ambos transmite el tráfico de la forma elegida. Los paneles Marzban, 3X-UI y Remnawave no transmiten nada por sí mismos, solo gestionan de forma cómoda la configuración de Xray y reparten enlaces a los usuarios.
VLESS es el protocolo con el que el cliente y el servidor de Xray se entienden entre sí. Es extremadamente sencillo. El cliente comunica el identificador del usuario (UUID) y la dirección a la que hay que enviar los datos, y el servidor comprueba el identificador y empieza a reenviarlos. VLESS no tiene camuflaje propio, y se trata de una decisión deliberada. La protección y el aspecto exterior de la conexión los aporta una capa externa, normalmente TLS, y el propio VLESS no le añade ni bytes de más ni rasgos reconocibles. En las últimas versiones de Xray, VLESS también ha recibido cifrado propio, pero junto con TLS o Reality se deja desactivado, y en el panel corresponde al valor none.
Así, cuando se habla de «VLESS Reality» o de «VLESS + TLS + XHTTP», se hace referencia a tres niveles independientes. VLESS se encarga de quién eres y adónde van los datos. El transporte determina cómo exactamente se empaquetan los bytes durante la transmisión. La capa de seguridad determina qué aspecto tiene la conexión para un observador externo.
Transporte y protección de la conexión
El transporte más sencillo se llama RAW, y en versiones antiguas se llamaba TCP. Los datos viajan por una única conexión TCP de larga duración, como al cargar una página normal. Es la opción más rápida, y es precisamente la que se usa junto con Reality. El transporte XHTTP es más complejo. Divide el tráfico en muchas peticiones HTTP normales, y visto desde fuera se parece a un sitio web que carga datos a través de una API. Además, estas peticiones pueden en principio pasar por una CDN, por ejemplo Cloudflare. En ese caso el proveedor ve una conexión a la dirección de la CDN, a través de la cual funcionan millones de sitios, y la dirección de tu servidor queda oculta. En nuestro artículo sobre VLESS + TLS + XHTTP, XHTTP funciona sin CDN, directamente con tu dominio y un certificado real.
La capa de seguridad puede ser de dos tipos principales. El primero es TLS normal con tu propio dominio y un certificado real de Let's Encrypt. La conexión parece una visita a tu sitio web, y es un camuflaje honesto, pero requiere un dominio, y el servidor debe responder como un sitio web real. La segunda opción es Reality, al que está dedicado el siguiente apartado.
Cómo funciona Reality
Reality resuelve el camuflaje sin dominio ni certificado propios. Toda conexión TLS empieza con el saludo del cliente (ClientHello), en el que el nombre del sitio figura en texto claro en el campo SNI. El cliente de Reality pone ahí el nombre de un sitio ajeno que existe de verdad y que se denomina destino. El proveedor ve el inicio normal de una conexión a ese sitio.
La dificultad está en que cualquier sistema de filtrado puede comprobar el servidor por sí mismo, conectándose a él y viendo qué certificado presenta. Si el servidor Reality respondiera con su propio certificado, el engaño se descubriría al instante. Por eso el servidor actúa de otra manera. En el saludo de un cliente auténtico va oculta una marca calculada con la clave pública del servidor y un identificador corto (Short ID). El servidor, que tiene la clave privada correspondiente, reconoce esa marca y continúa la conexión como VPN. Cualquier otra conexión, ya sea una comprobación del proveedor o un escáner cualquiera, el servidor la reenvía de forma transparente al sitio de destino real. Quien comprueba recibe el certificado auténtico de ese sitio y ve sus páginas reales, ya que de hecho está hablando con ese sitio, solo que a través de tu servidor.
Este esquema tiene un punto débil, y no está en la criptografía. El proveedor ve a la vez el nombre del sitio y la dirección IP a la que se dirigió la conexión. Si en el SNI figura un sitio grande como microsoft.com y la dirección pertenece a un hosting pequeño, la combinación resulta poco natural. Por eso como destino se eligen sitios pequeños que también están alojados en proveedores de hosting, y la opción más fiable es hacerse pasar por tu propio sitio en el mismo servidor. Este esquema se llama self-steal, y en él el nombre, la dirección y el certificado concuerdan por completo entre sí.
El flujo XTLS Vision y la huella del navegador
Incluso una conexión perfectamente camuflada puede delatar la naturaleza de los datos que transmite. Casi todo el tráfico de internet ya está cifrado con TLS, por lo que dentro del túnel VPN suelen ir conexiones HTTPS. El resultado es «TLS dentro de TLS», y los tamaños de los primeros paquetes de una conexión así forman una secuencia reconocible, ya que el handshake del TLS interno tiene tamaños típicos. El flujo XTLS Vision (xtls-rprx-vision) iguala esos paquetes con relleno y, una vez completado el handshake interno, deja de cifrar por segunda vez los datos que ya están cifrados. Lo primero oculta el patrón característico, y lo segundo reduce la carga del procesador y acelera la transmisión. Para Reality sobre RAW, conviene activar siempre el flujo Vision.
El último elemento es la huella TLS. Cada navegador inicia la conexión a su manera, con un conjunto característico de cifrados y extensiones, y por ese conjunto se puede saber qué programa ha creado la conexión. Las aplicaciones basadas en Xray saben imitar los navegadores más comunes, y el modelo deseado se define con el parámetro fingerprint, o uTLS. La elección del modelo también influye en lo llamativa que resulta la conexión. Por qué para servidores en Rusia recomendamos firefox y no chrome se explica en el artículo sobre Marzban.
Qué esquema elegir
Todos estos mecanismos se pueden combinar de distintas maneras, y nuestras guías se diferencian precisamente en cuánto trabajo estás dispuesto a hacer por tu cuenta y qué resistencia quieres conseguir.
| Tarea | Qué opción encaja |
|---|---|
| Una VPN para ti y tu familia en 5 minutos, sin configurar nada | Marzban con nuestro script, VLESS Reality con elección automática del sitio |
| Un panel cómodo con usuarios, límites y suscripciones | 3X-UI |
| Varios servidores bajo un mismo panel | Remnawave |
| Máximo camuflaje, tienes tu propio dominio | Self-steal para Reality |
| Tu propio dominio y una conexión que se parece al funcionamiento de un sitio web normal | VLESS + TLS + XHTTP |
| Todo en una sola aplicación, sin línea de comandos | Amnezia VPN |
| Una VPN sencilla con un único enlace-clave | Outline, pero se bloquea con más frecuencia |
Si aun así la conexión ha dejado de funcionar, el artículo «La VPN de tu propio servidor no conecta» te ayuda a encontrar la causa. En él se explica paso a paso cómo distinguir el bloqueo del servidor de un error en la configuración.
Nuestros recursos
Canal de Telegram: https://t.me/f3cloud_news
Web del hosting: https://f3cloud.com