Divulgación de afiliados — Este artículo contiene enlaces de afiliación Contabo. Si contratas un VPS a través de nuestros enlaces, recibimos una comisión sin coste adicional para ti. Todas las configs siguientes funcionan en producción sobre nuestros propios VPS.
V2Ray (y su fork Xray-core) es hoy la herramienta de referencia para evadir DPI sofisticados — en particular el GFW chino. Donde Shadowsocks hace cifrado opaco y wstunnel hace WebSocket simple, V2Ray combina varios protocolos (VMess, VLess, Trojan, Shadowsocks) con varios transportes (TCP, WebSocket, HTTP/2, gRPC, QUIC) y varias capas de ofuscación (TLS, REALITY, XTLS Vision). Es potente. También es complejo.
Esta guía cubre la instalación V2Ray en VPS Contabo (Ubuntu 24.04), la diferencia VMess vs VLess en 2026, dos configs JSON listas para producción (VMess + WS + TLS clásico y VLess + REALITY para China), el multiplexing para compartir conexiones, y los clientes móviles v2rayNG (Android) y Shadowrocket (iOS).
VMess vs VLess vs Xray: elegir la herramienta adecuada
VMess (V2Ray, 2015): protocolo histórico. Cifrado aplicativo en el lado V2Ray + UUID + alterId para la auth. Robusto pero "marcado": su fingerprint terminó siendo detectable por los DPI avanzados desde 2021.
VLess (V2Ray, 2020): versión aligerada. Sin cifrado aplicativo (delegamos todo a TLS), sin alterId, UUID solo para la auth. Más rápido (menos cálculo), más discreto (sin "firma VMess" característica).
Xray-core (fork RPRX, 2021): fork de V2Ray mantenido más activamente, que introdujo XTLS (TLS optimizado sin doble cifrado) y luego REALITY (toma prestado el cert de un sitio objetivo). En 2026, Xray-core es técnicamente superior para China.
Recomendación 2026:
- Nuevo setup, foco China: Xray-core + VLess + REALITY.
- Nuevo setup, foco resto del mundo (Irán, Rusia, corporativo): Xray-core + VLess + WS + TLS (o VMess por compat).
- Mantenimiento de un setup existente: quedarse en V2Ray + VMess + WS + TLS, sigue funcionando muy bien fuera del GFW agresivo.
Para lo siguiente, instalamos Xray-core (que soporta VMess + VLess + Trojan + SS en el mismo binario — estrictamente más completo que V2Ray-core).
Instalación Xray-core en VPS Contabo
VPS Contabo VPS S (4 vCPU, 8 GB RAM, 4,99 €/mes, ver oferta) bajo Ubuntu 24.04. Para China, elegir datacenter Singapur o Tokio; para Irán/Turquía, Düsseldorf o Núremberg; para Rusia, idem Europa.
Paso 1 — Script de instalación oficial
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
El script instala Xray en /usr/local/bin/xray, crea un servicio systemd xray.service, y coloca la config por defecto en /usr/local/etc/xray/config.json. Verifica:
xray version
systemctl status xray
Paso 2 — Dominio y certificado TLS (para VMess/VLess + WS + TLS)
Requisito: dominio cdn.tudominio.com apuntando a la IP del VPS. Usamos Caddy como reverse proxy para la gestión automática Let's Encrypt:
apt update && apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
apt update && apt install -y caddy
Para REALITY, no se requiere dominio — REALITY toma prestado el cert de un sitio objetivo. Es una de las ventajas mayores para despliegues rápidos.
Config producción 1: VMess + WebSocket + TLS
Es la config "clásica 2020-2023" que sigue pasando muy bien en 2026 fuera del GFW agresivo. Compatible con todos los clientes V2Ray históricos.
/usr/local/etc/xray/config.json:
{
"log": { "loglevel": "warning" },
"inbounds": [
{
"port": 10000,
"listen": "127.0.0.1",
"protocol": "vmess",
"settings": {
"clients": [
{ "id": "UUID-CLIENTE-1-GENERAR", "alterId": 0, "email": "user1@vpnsmith" },
{ "id": "UUID-CLIENTE-2-GENERAR", "alterId": 0, "email": "user2@vpnsmith" }
]
},
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/cdn-static/vmess-ws",
"headers": { "Host": "cdn.tudominio.com" }
}
}
}
],
"outbounds": [
{ "protocol": "freedom", "tag": "direct" },
{ "protocol": "blackhole", "tag": "block" }
]
}
Genera un UUID por usuario con xray uuid o uuidgen. Guarda cada UUID en un gestor de secretos — es la clave de auth.
Caddyfile correspondiente (/etc/caddy/Caddyfile):
cdn.tudominio.com {
root * /var/www/html
file_server
@vmess {
path /cdn-static/vmess-ws
header Connection *Upgrade*
header Upgrade websocket
}
reverse_proxy @vmess 127.0.0.1:10000
}
Coloca un sitio HTML ficticio en /var/www/html/index.html (crucial para el camuflaje active-probing). Arranca:
systemctl restart xray caddy
journalctl -u xray -f
Config producción 2: VLess + REALITY (anti-GFW 2026)
Es la config recomendada para China continental en 2026. REALITY hace que tu servidor parezca exactamente www.microsoft.com (u otro sitio popular en lista blanca) desde el punto de vista del DPI.
Primero, genera un par de claves REALITY:
xray x25519
# Private key: ...
# Public key: ...
Elige un sitio objetivo (dest) que responda en TLS 1.3 + HTTP/2 y no esté en lista negra del país objetivo. Para China: www.microsoft.com, dl.microsoft.com, update.microsoft.com son excelentes opciones.
/usr/local/etc/xray/config.json:
{
"log": { "loglevel": "warning" },
"inbounds": [
{
"port": 443,
"protocol": "vless",
"settings": {
"clients": [
{
"id": "UUID-CLIENTE-GENERAR",
"flow": "xtls-rprx-vision",
"email": "user1@vpnsmith"
}
],
"decryption": "none"
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"show": false,
"dest": "www.microsoft.com:443",
"xver": 0,
"serverNames": ["www.microsoft.com"],
"privateKey": "TU_CLAVE_PRIVADA_X25519",
"shortIds": ["", "a1b2c3d4"]
}
}
}
],
"outbounds": [
{ "protocol": "freedom", "tag": "direct" }
]
}
Cómo funciona:
- Cuando un cliente REALITY se conecta, envía un handshake TLS 1.3 ClientHello con SNI
www.microsoft.comy un secreto compartido en una extensión. - Xray detecta el secreto compartido, toma el control, y establece el túnel VLess.
- Cuando llega un cliente "no-REALITY" (sonda del GFW, por ejemplo), Xray hace passthrough a
www.microsoft.com:443— el cliente ve la página real de Microsoft, certificado válido, comportamiento normal. - El DPI no puede distinguir tu servidor de una caché Microsoft.
Es el estado del arte anti-DPI en 2026. Difícil de poner en lista negra sin bloquear Microsoft.
Límites REALITY:
- TCP only (sin WS, sin HTTP/2). Si el firewall hace throttling TCP genérico, REALITY no ayuda.
- El cliente debe soportar REALITY: v2rayNG ≥ 1.8, Shadowrocket ≥ 2.2.20, sing-box ≥ 1.5. Clientes SS o VMess WS antiguos = incompatibles.
Multiplexing (mux) para compartir conexiones
V2Ray/Xray soporta multiplexing: varios flujos TCP de usuarios comparten una sola conexión TCP física hacia el servidor. Ventajas: reducción del número de conexiones visibles (útil contra DPI con connection counting), latencia reducida tras la primera sesión, economía de handshakes TLS.
Lado servidor, sin config necesaria — Xray detecta automáticamente.
Lado cliente (v2rayNG, Shadowrocket, sing-box), activa "Mux" con concurrencia 8 (valor recomendado). Verás tu ping mejorar 2-5 ms y tus rendimientos paralelos ser más estables.
Cuidado: en redes inestables (móvil 4G en borde de cobertura), mux puede amplificar el head-of-line blocking. Si ves ralentizaciones raras, desactiva mux para ese perfil.
Clientes: v2rayNG (Android), Shadowrocket (iOS), v2rayN (Windows), sing-box (Linux/macOS)
Android — v2rayNG (open source, F-Droid o Play Store): el cliente de referencia. Para VMess + WS + TLS, importar manualmente con:
- Address:
cdn.tudominio.com - Port:
443 - ID: tu UUID
- Encryption:
auto - Network:
ws - Path:
/cdn-static/vmess-ws - Host:
cdn.tudominio.com - TLS:
tls - SNI:
cdn.tudominio.com - Allow insecure:
false
Para VLess + REALITY:
- Address: IP del VPS
- Port:
443 - ID: tu UUID
- Flow:
xtls-rprx-vision - Network:
tcp - Security:
reality - SNI:
www.microsoft.com - Fingerprint:
chrome - Public key: tu clave pública x25519
- Short ID:
a1b2c3d4(uno de la lista servidor)
iOS — Shadowrocket (2,99 € pago único en AppStore). Soporte nativo VMess, VLess + REALITY desde 2.2.20. Importa la URI vless:// o vmess:// generada por Xray (xray generate config) o via la interfaz UI.
Windows — v2rayN (open source, GitHub). UI Windows clásica, soporta todo el ecosistema V2Ray/Xray. Gestiona bien el proxy del sistema (System Proxy mode).
Linux/macOS — sing-box (open source, más moderno que V2Ray client). Configuración JSON. Más eficiente y más ligero que V2Ray client. Nuestra elección en nuestras workstations.
Rendimiento y coste operativo
Benchmarks reales VPS Contabo S Núremberg, cliente residencial fibra Madrid 1 Gbps, mediana 10 sesiones, abril 2026.
| Setup | Latencia añadida | Throughput TCP | CPU @ 100 Mbps |
|---|---|---|---|
| VMess + WS + TLS | +12 ms | 110 Mbps | 14% |
| VLess + WS + TLS | +10 ms | 125 Mbps | 11% |
| VLess + REALITY (xtls-vision) | +8 ms | 155 Mbps | 8% |
| Trojan + WS + TLS | +12 ms | 115 Mbps | 13% |
REALITY gana en todos los ejes — menos overhead porque XTLS Vision evita el doble cifrado TLS-luego-VLess.
Coste RAM (reposo / @ 100 Mbps): 25 MB / 80 MB en la config VMess WS+TLS. En VPS S a 8 GB, alojas sin problema 20-30 usuarios simultáneos.
Securización y endurecimiento
1. Auth por UUID único por usuario. NUNCA compartir el mismo UUID entre varias personas. Si un UUID se filtra (clipboard mal gestionado, screenshot Telegram), sabes a quién revocar.
2. Rotación de UUIDs cada 3-6 meses. Genera nuevos UUIDs, comunica a los usuarios, y elimina los antiguos de la config Xray. Trivial de programar.
3. fail2ban sobre Caddy 404. Como para wstunnel, banea las IPs que escanean paths inexistentes:
# /etc/fail2ban/jail.d/caddy-404.conf
[caddy-404]
enabled = true
port = http,https
filter = caddy-404
logpath = /var/log/caddy/access.log
maxretry = 10
findtime = 60
bantime = 3600
4. SSH key-only + UFW. Estándar. Desactiva el password SSH en /etc/ssh/sshd_config (PasswordAuthentication no), abre únicamente 22, 80, 443 en UFW (ufw allow 443/tcp, etc.).
5. Retención de logs corta. En config.json, mantén loglevel: warning (no info ni debug), y configura logrotate para purgar logs antiguos. Idealmente: sin logs persistentes DNS/conexiones si la jurisdicción es sensible.
V2Ray vs alternativas — Cuándo pasar a otra cosa
| Necesidad | Elegir |
|---|---|
| Setup máximo simple, bypass corporativo únicamente | wstunnel (5 min de setup) |
| Sin VPS, solo ofuscar un WireGuard existente | Cloak |
| Multi-usuarios (20+) + bypass GFW + setup pro | Xray-core + VLess + REALITY |
| Setup mobile-first, plug & play | VPN comercial (NordVPN, etc.) |
| Investigación académica anti-censura | Tor + obfs4 o Snowflake |
Si tienes menos de 3 usuarios y nunca vas a China continental, V2Ray es excesivo — prefiere wstunnel o WireGuard + Cloak. Si buscas una solución llave en mano móvil sin VPS que gestionar, mira NordVPN con sus obfuscated servers.
Troubleshooting frecuente
Síntoma: conexión establecida pero ningún tráfico pasa. Verificar outbounds — si olvidaste freedom, todo va al agujero negro. Añadir {"protocol": "freedom", "tag": "direct"}.
Síntoma: "TLS handshake error" en el cliente. SNI incorrecto en el cliente, o cert expirado en el servidor (verificar caddy logs o acme.sh status según tu setup).
Síntoma: REALITY no funciona, el cliente ve la página real del dest. El shortIds del servidor no coincide con el que pones en el cliente. Verificar que el cliente envía a1b2c3d4 (u otro valor válido listado en el servidor).
Síntoma: rendimiento mediocre a pesar de buena conexión. Activa mux en el cliente (concurrencia 8). Verifica que el servidor no esté saturado de CPU (top luego htop). Para 50+ users, pasar a Cloud VPS 10 (8 vCPU, 30 GB RAM, 13 €/mes).
Para profundizar
- Self-host VPN en Contabo: guía WireGuard completa 2026
- Shadowsocks vs VPN 2026: comparativa técnica
- wstunnel: túnel TCP/UDP sobre WebSocket
- Cloak: ofuscación TLS para VPN self-host
Fuentes y docs oficiales:
- Xray-core GitHub oficial
- Project V (V2Ray) documentación
- Protocolo REALITY — explicación por RPRX
- v2rayNG (Android) GitHub
- GFW Report — datos live bloqueos
Artículo publicado el 2026-06-03. Configuraciones probadas en VPS Contabo VPS S Núremberg + clientes residenciales Europa + cuentas test Singapur, marzo-abril 2026. REALITY está en evolución rápida — verificar los changelogs Xray-core trimestrales antes de despliegue crítico.
Recordatorio legal: V2Ray/Xray son herramientas open source legales en la UE, EE.UU., Canadá, y la mayoría de países. El uso anti-censura en China, Irán, Rusia es ilegal localmente con sanciones variables. VPNSmith publica esta guía con fines educativos.
★ Datacenter Nuremberg GDPR · ✓ IPv4 dédiée incluse · 200+ Mbps garantis
Probar Contabo30 jours satisfait ou remboursé→