Cloudflare WARP en un VPS Linux con warp-cli y wgcf

3 min
Hosting VPS/VDS

Cloudflare WARP da a tu servidor una dirección de salida de Cloudflare, útil para llegar a recursos solo IPv6 o cambiar la IP de salida aparente. En una máquina remota, la trampa clásica es que el modo WARP por defecto secuestra la tabla de rutas y corta tu sesión SSH. Esta guía muestra dos métodos seguros en un VPS Linux Infrawire: el cliente oficial en modo proxy, y wgcf con WireGuard y enrutamiento parcial.

📋 Requisitos previos

  • Un VPS con Ubuntu 24.04 o Debian 12 y acceso SSH como root (desde tu área de cliente encuentras la IP y la contraseña root del VPS).
  • La IP pública de tu VPS anotada aparte (VPS_IP).
  • Una forma de abrir la consola del VPS por si un cambio de red te deja fuera.
  • Los paquetes curl, gpg y lsb-release instalados.

📦 Instalar el cliente oficial

Añade el repositorio de Cloudflare e instala el paquete:

Bash
apt update && apt install -y curl gpg lsb-release curl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg | gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/cloudflare-client.list apt update && apt install -y cloudflare-warp systemctl enable --now warp-svc

🛡️ Modo proxy: mantener el SSH vivo

En modo proxy, WARP no toca la tabla de rutas. Solo abre un puerto SOCKS5 local que usas cuando lo necesitas. Elige el modo antes de conectar, nunca al revés.

Bash
warp-cli --accept-tos registration new warp-cli mode proxy warp-cli proxy port 40000 warp-cli connect warp-cli status

El proxy escucha solo en 127.0.0.1:40000. Para enviar un comando a través de él:

Bash
curl -x socks5h://127.0.0.1:40000 https://www.cloudflare.com/cdn-cgi/trace

El esquema socks5h es importante: hace que la resolución DNS también pase por el proxy. Para detenerlo, ejecuta warp-cli disconnect.

🔀 Alternativa: wgcf y WireGuard

Si prefieres una interfaz WireGuard del kernel, wgcf crea una cuenta WARP y genera una configuración estándar. Descarga la versión de wgcf que corresponda a tu arquitectura desde la página de releases de GitHub del proyecto y luego:

Bash
apt install -y wireguard-tools chmod +x wgcf_linux_amd64 && mv wgcf_linux_amd64 /usr/local/bin/wgcf cd /root && wgcf register && wgcf generate cp wgcf-profile.conf /etc/wireguard/wgcf.conf

No lo inicies todavía: el perfil generado enruta todo por el túnel y cortaría el SSH.

✂️ Enrutamiento parcial y solo IPv6

Edita /etc/wireguard/wgcf.conf. Para enviar solo el tráfico IPv6 por WARP y dejar intacto el IPv4 (y tu sesión SSH), restringe AllowedIPs, elimina la línea DNS y baja la MTU:

INI
1[Interface] 2MTU = 1280 3PostUp = ip rule add from VPS_IP lookup main 4PostDown = ip rule del from VPS_IP lookup main 5 6[Peer] 7AllowedIPs = ::/0 8Endpoint = engage.cloudflareclient.com:2408

Conserva las líneas de claves y Address que produjo wgcf. El par de ip rule asegura que las respuestas desde VPS_IP usen siempre la tabla principal, lo que protege las conexiones entrantes. Si solo te conectas por IPv4, más adelante puedes sustituir ::/0 por 0.0.0.0/0, ::/0 para tunelizar todo. Activa la interfaz:

Bash
systemctl enable --now wg-quick@wgcf

✅ Verificación

Comprueba que WARP está activo por el camino correcto:

Bash
curl -s https://www.cloudflare.com/cdn-cgi/trace | grep warp curl -6 -s https://www.cloudflare.com/cdn-cgi/trace | grep -E 'ip=|warp=' wg show wgcf

warp=on en la petición IPv6, junto con un handshake reciente en wg show, indica que el túnel funciona. La petición IPv4 normal debe seguir mostrando warp=off.

🛠️ Solución de problemas

Acceso SSH perdido justo tras conectar. WARP estaba en modo túnel completo. Abre la consola del VPS y ejecuta warp-cli disconnect (o systemctl stop wg-quick@wgcf), y pasa a warp-cli mode proxy antes de volver a conectar. Si accedes al servidor por IPv6, no uses ::/0 en AllowedIPs.

El DNS deja de resolver. wg-quick reescribe el resolvedor cuando existe una línea DNS. Elimina esa línea del perfil o usa el proxy socks5h para que la resolución se haga en el lado de Cloudflare.

Las páginas grandes se cuelgan o TLS se atasca. Casi siempre es un problema de MTU. Mantén MTU = 1280 en el perfil de WireGuard y prueba con ping -M do -s 1200 1.1.1.1.


🎉 Tu VPS ya puede usar Cloudflare WARP cuando lo necesites sin cortar nunca tu sesión SSH.

Mantente al día con las últimas ofertas, descuentos y promociones especiales.

Ver promociones

Utilizamos cookies

Utilizamos cookies analíticas para mejorar su experiencia en nuestro sitio. No vendemos datos a terceros. Más información en nuestra política de privacidad.