Qué es VLESS: un protocolo que delega el cifrado en TLS o REALITY

Anton Belov

9 min de lecturaRedes y protocolos

VLESS por dentro

Cada conexión VLESS empieza con un encabezado corto que lleva tu identificador y la dirección de destino. El protocolo en sí no cifra ni camufla nada. Ese trabajo le corresponde a la capa inferior, TLS o REALITY. Por eso casi nunca se habla de VLESS sin uno de los dos. Este artículo trata del encabezado, de los cambios respecto a VMess, de los transportes y de REALITY. También enumera lo que contiene una clave VLESS y explica cómo usa Ben's VPN el protocolo.

El encabezado VLESS incluye un UUID, un comando y una dirección

VLESS es un protocolo para conexiones entre un cliente y un servidor proxy. Cada conexión se abre con un encabezado de solicitud, y tus datos van justo después. El encabezado de solicitud consta de los campos siguientes.

  • Versión del protocolo.
  • UUID, tu identificador en el servidor, por ejemplo 8b71f62c-7736-4334-ab2f-032d2115d2fd. También sirve de contraseña, porque el servidor solo acepta los UUID de su lista.
  • Complementos, ajustes adicionales como el modo flow, que se describe más abajo.
  • Comando, que pide un flujo TCP, paquetes UDP o varios flujos en una sola conexión (Mux).
  • Puerto y dirección de destino. La dirección puede ser IPv4, IPv6 o un nombre de dominio.

Después del encabezado, VLESS no añade nada a los datos. El servidor responde con un encabezado aún más corto, que solo lleva la versión y los complementos. El encabezado de solicitud no tiene marca de tiempo ni campo de cifrado, y VLESS tampoco cifra el propio encabezado. Esta es la diferencia principal entre VLESS y VMess.

La primera versión de VLESS salió con V2Ray a mediados de 2020. Desde finales de ese año, VLESS se desarrolla sobre todo en Xray-core, una bifurcación de V2Ray. Otros núcleos, como sing-box, también lo admiten. En sentido estricto, VLESS es un protocolo de proxy. Tienes una VPN en el teléfono o en la computadora cuando una aplicación envía por VLESS todo el tráfico de ese dispositivo. Nuestro artículo sobre la diferencia entre VPN y proxy compara los dos en detalle.

VLESS prescinde del cifrado y de la comprobación del reloj de VMess

VMess, el protocolo anterior de V2Ray, cifra los datos con su propio algoritmo, ChaCha20-Poly1305 o AES-128-GCM. Para autenticar una conexión, comprueba tanto el UUID como la hora actual. Según la documentación de Xray, los relojes del cliente y del servidor no deben desviarse más de 2 minutos de la hora correcta. De estas 2 comprobaciones, VLESS solo conservó la del UUID. En una configuración estándar, VLESS no cifra nada. El campo decryption del servidor y el campo encryption del cliente tienen ambos el valor none. El reloj no afecta a una conexión VLESS.

La tabla muestra la diferencia en 3 situaciones. En las 2 primeras, los dos protocolos van dentro de TLS.

SituaciónVMessVLESS
El reloj de tu teléfono va 5 minutos adelantadoEl servidor rechaza la conexiónEl servidor acepta la conexión
Abres un sitio HTTPS por el túnel3 capas de cifrado (sitio, VMess y TLS externo)2 capas de cifrado (sitio y TLS externo)
La conexión no tiene TLS externoVMess sigue cifrando los datos con su propio algoritmoCualquier observador en la ruta ve el UUID y las direcciones de destino

Dentro de TLS, el cifrado de VMess solo añade carga al procesador y consumo de batería. En VLESS no existe ese gasto. Con el modo flow activado, el TLS externo deja de volver a cifrar los datos tras el intercambio inicial (handshake) con el sitio. En 2025, Xray añadió a VLESS un cifrado integrado opcional, VLESS Encryption. Está pensado para configuraciones sin TLS externo. También sirve cuando TLS termina antes del servidor, por ejemplo en una CDN. Una configuración con REALITY no necesita VLESS Encryption.

El transporte define el aspecto del tráfico VLESS

VLESS viaja dentro de un transporte, y un observador en la red ve ese transporte. Xray tiene varios transportes para VLESS, y estos son los 4 principales.

  • RAW, llamado tcp en las configuraciones antiguas. Es una conexión TCP simple. Con TLS o REALITY por encima, parece tráfico HTTPS normal.
  • XHTTP, antes SplitHTTP. Reparte el flujo entre solicitudes y respuestas HTTP normales sobre HTTP/1.1, HTTP/2 o HTTP/3. XHTTP también funciona a través de una CDN. Para un observador, se parece a una aplicación web que no deja de enviar solicitudes a su servidor.
  • gRPC. El tráfico circula como llamadas a procedimiento remoto sobre HTTP/2, como hacen muchas aplicaciones al intercambiar datos con una API.
  • WebSocket. Una conexión de larga duración, como las que usan los chats web y los juegos de navegador. También funciona a través de una CDN.

REALITY funciona con RAW, XHTTP y gRPC, pero no con WebSocket.

Un servidor REALITY no necesita dominio ni certificado

El TLS normal exige que el servidor tenga un nombre de dominio y un certificado válido para él. REALITY, que apareció en Xray-core 1.8.0 a comienzos de 2023, no necesita ninguna de las dos cosas. Durante el handshake, el servidor usa la identidad de un sitio real de terceros, el sitio objetivo. Los pasos siguientes muestran cómo trata el servidor 2 tipos de conexiones.

  1. Tu cliente inicia un handshake TLS igual que un navegador popular. Su primer mensaje, el ClientHello, lleva el nombre del sitio objetivo. El ClientHello también incluye una marca que solo puede comprobar quien tiene la clave privada del servidor. Parte de la marca es un identificador breve, el shortId.
  2. El servidor comprueba la marca. Si la marca es válida, el propio servidor completa el handshake, y después llegan los datos VLESS.
  3. Un escáner o cualquier otro visitante envía un ClientHello normal, sin marca. El servidor no le responde directamente. En su lugar, reenvía la conexión al sitio objetivo, que responde con su certificado y su página reales.

El sitio objetivo tiene que admitir TLS 1.3 y HTTP/2. REALITY se basa en un par de claves X25519. La clave privada se queda en el servidor, y el cliente recibe la pública.

Una clave VLESS contiene todos los ajustes de conexión

La clave VLESS que te da un servicio o el administrador de un servidor es una sola cadena de texto larga. Incluye todo lo que un cliente necesita para conectarse.

  • El puerto y la dirección del servidor.
  • Tu UUID, que sirve de contraseña.
  • El transporte y la capa de seguridad, TLS o REALITY.
  • El nombre del sitio que el cliente envía en el handshake (SNI).
  • Para REALITY, la clave pública del servidor y el shortId.
  • La huella (fingerprint) del navegador que el cliente imita en su ClientHello.
  • El modo flow, normalmente xtls-rprx-vision. Si dentro del túnel va otra conexión TLS, oculta los tamaños de paquete típicos de ese handshake. Después del handshake, no vuelve a cifrar lo que el sitio ya cifró.
  • Un nombre, para que reconozcas la clave en una lista.

También puedes instalar tú mismo un servidor así en un VPS alquilado. En ese caso, la configuración y las actualizaciones del núcleo son responsabilidad tuya. Si la dirección del servidor queda bloqueada, también tienes que trasladarlo a otra. Para saber más sobre alquilar un servidor frente a contratar una VPN, consulta nuestra comparación entre VPS y VPN.

Tu proveedor de internet sigue viendo la dirección del servidor

VLESS con REALITY oculta lo que viaja por la conexión, pero no qué servidor está al otro lado. Tu proveedor de internet sí ve la conexión con ese servidor. El proveedor observa la dirección del servidor, cuándo está activa la conexión y cuántos bytes van en cada sentido. Si esa dirección se bloquea, ningún ajuste del protocolo puede restablecer la conexión. Entonces necesitas un servidor con otra dirección.

Algunas redes solo permiten el tráfico hacia una lista de direcciones aprobadas. Un servidor que no está en esa lista queda inaccesible, por muy bien camuflado que esté el protocolo. En redes así, el tráfico tiene que ir por otra ruta.

La aplicación de Ben's VPN elige el protocolo y no necesita claves

La aplicación de Ben's VPN tiene 4 formas de conectarse (VLESS + REALITY, XHTTP, Hysteria2 y Shadowsocks). Elige entre ellas automáticamente, y en los ajustes no puedes fijar ninguna. Las 4 aparecen comparadas en nuestra guía de los protocolos VPN.

La aplicación no acepta claves VLESS, ni de otro servicio ni de tu propio servidor. Tampoco las necesita, así que nunca tienes que escribir un UUID ni una clave. En un teléfono, una tableta o una computadora, instala la aplicación y toca el botón Conectar. Después, paga una suscripción en la ventana Compra Ben's VPN. Si ya tienes una suscripción, inicia sesión desde esa misma ventana. Las descargas para todas las plataformas están en nuestra página de aplicaciones.

Si la conexión es mala, la aplicación puede mostrar el aviso Conexión deficiente con el botón Solucionar. El botón ofrece 2 opciones: cambiar de ubicación o buscar un servidor que funcione. La búsqueda también está disponible con el botón Buscar servidor funcional en Cuenta → Configuraciones. Vuelve a comprobar el servidor y le asigna direcciones IP nuevas. En último caso, activa el multihop. La búsqueda no tarda más de 2 minutos.

Preguntas y respuestas

¿Necesito un dominio propio para montar un servidor VLESS?

Con REALITY, no necesitas un dominio. El servidor usa la identidad de un sitio objetivo de terceros, así que no necesita un certificado propio. Necesitas un dominio y un certificado si VLESS va dentro de una conexión TLS normal o detrás de una CDN.

¿Por qué poner un servidor VLESS en el puerto 443?

El 443 es el puerto estándar de HTTPS. Una conexión TLS o REALITY en este puerto parece navegación web normal. En un puerto poco habitual, la misma conexión se distinguiría de la mayor parte del tráfico. El protocolo VLESS en sí funciona en cualquier puerto.

¿Qué diferencia hay entre VLESS e Hysteria2?

VLESS suele ir por TCP, dentro de una conexión TLS o REALITY. Hysteria2 se basa en QUIC, así que funciona sobre UDP. Desde fuera, el tráfico de Hysteria2 parece HTTP/3. Por eso, a los 2 protocolos les afectan límites de red distintos. Una red que bloquea o ralentiza UDP afecta a Hysteria2, pero no a VLESS sobre TCP. Ben's VPN tiene los dos, y la aplicación elige entre ellos.

¿REALITY oculta la dirección IP del servidor?

No. REALITY camufla el handshake, pero no la dirección del servidor. Un observador en la red puede ver a qué servidor se conecta tu dispositivo. Cuando esa dirección queda bloqueada, necesitas un servidor con una dirección nueva.

¿Puedo añadir mi propia clave VLESS a Ben's VPN?

No. Las claves VLESS de otros servicios o de tu propio servidor no funcionan en la aplicación. La aplicación se conecta a los servidores de Ben's VPN y elige el protocolo automáticamente.

Escrito por

Anton Belov

Escribe sobre redes y protocolos VPN.

Empieza con 3 días y decide después

El periodo de prueba cuesta $0.50 y abre los 187 países y todas las aplicaciones. Después, el plan se renueva por $5 al mes. Puedes cancelar la renovación en cualquier momento desde la página de tu cuenta.

Mac App Store App Store Google Play