Cómo funciona VpnHood
Una aplicación VpnHood envía el tráfico del dispositivo a través de un túnel cifrado hacia tu servidor, y este lo redirige a internet. Aquí te mostramos el recorrido paso a paso.
En el dispositivo
La aplicación captura el tráfico del dispositivo mediante el adaptador de red virtual que el sistema asigna a las apps VPN. Admite tres tipos de tráfico: TCP, UDP y ping. Cualquier otro paquete se descarta.
El túnel dividido también se gestiona en el dispositivo. El tráfico excluido (por aplicación, país, dominio o IP) va directo a internet sin pasar por tu servidor. Consulta Túnel dividido para conocer todas las opciones.
La aplicación también configura el DNS del dispositivo: usa los servidores elegidos por el usuario o los de tu servidor (por defecto, los públicos de Google). Las consultas permanecen siempre dentro del túnel, incluso con el túnel dividido activo.
El túnel
Por defecto, la aplicación se conecta al puerto TCP de tu servidor (443 salvo que lo cambies) mediante TLS, el mismo cifrado que usa HTTPS, y se comunica mediante mensajes WebSocket como las aplicaciones web. Todo el contenido del túnel está cifrado con TLS, desde el primer byte hasta el último.
Antes de enviar cualquier dato, la aplicación comprueba el certificado de tu servidor. Solo acepta un certificado firmado por una entidad emisora reconocida para el nombre incluido en la clave de acceso, o bien aquel cuya huella digital coincida de forma exacta con la de la clave. Por eso un servidor puede empezar con un certificado autofirmado y las claves siguen funcionando tras renovar un certificado de confianza.
En los ajustes de protocolo de la aplicación, el usuario puede elegir UDP o QUIC en lugar de TCP. UDP envía los paquetes del dispositivo al puerto UDP de tu servidor en datagramas cifrados con AES-GCM. QUIC transporta los mismos mensajes que TCP, pero sobre QUIC, que integra su propio cifrado TLS. Tu servidor informa a cada aplicación sobre las opciones disponibles y esta recurre a TCP si la elegida no es compatible, como ocurre detrás de un proxy inverso. Sin embargo, si una red bloquea el puerto UDP, la aplicación configurada en UDP no transmitirá tráfico hasta que el usuario vuelva a cambiar a TCP.
Cualquier solicitud a tu servidor que no provenga de una aplicación VpnHood solo recibirá un error HTTP, exactamente igual que un sitio web que requiere inicio de sesión.
TCP: en paquetes o una solicitud por conexión
Por defecto, la aplicación envía el tráfico TCP como paquetes a través del túnel y tu servidor los reenvía usando su propio adaptador de red, igual que un router. Este es el método más rápido y el que menos batería consume.
En el modo camuflaje, la aplicación finaliza cada conexión en el propio dispositivo y solicita a tu servidor que la abra por su cuenta. Tu servidor se conecta al sitio web directamente y transfiere los datos en ambos sentidos. Para la red, el tráfico ya no parece un túnel continuo, sino solicitudes web individuales de un navegador. Esto reduce ligeramente la velocidad y aumenta el uso de batería; la aplicación reutiliza la conexión de cada solicitud terminada para la siguiente.
La aplicación también funciona de este modo sin activar el modo camuflaje: cuando tu servidor no tiene un adaptador de red propio (como en Docker) o mientras el usuario divide el tráfico por dominios.
UDP y ping
El tráfico UDP viaja como paquetes a través del túnel, sin importar el protocolo que use la aplicación. Lo mismo ocurre con el ping (y solo con el ping): la aplicación gestiona las solicitudes de eco y descarta el resto de paquetes ICMP. Tu servidor reenvía ambos mediante su adaptador de red o, si no dispone de uno, a través de sus propios sockets, ejecutando el ping en nombre del dispositivo.
En el servidor
Al instalarse en Linux, VpnHood! SERVER cuenta con su propio adaptador de red y reenvía los paquetes a internet mediante NAT, igual que un router. Un contenedor Docker no dispone de este adaptador, por lo que el servidor funciona como proxy: las aplicaciones envían el tráfico TCP a razón de una solicitud por conexión, y el servidor abre cada conexión, socket UDP y ping de forma directa. Las aplicaciones adoptan este modo automáticamente.
En cualquiera de los casos, nunca desvía tráfico hacia sus propias direcciones ni hacia las redes locales en las que opera.
Necesita tener abierto su puerto TCP, además del puerto UDP asignado en su primer inicio para las aplicaciones configuradas en UDP. QUIC permanece desactivado hasta que lo habilites. Consulta Configurar las direcciones IP de tu servidor para saber cómo localizar el puerto UDP.
Un servidor administrado se comunica con VpnHood! MANAGER mediante HTTPS en access.vpnhood.com para validar cada clave cuando una aplicación se conecta y registrar su consumo. MANAGER nunca se conecta al servidor y las aplicaciones nunca interactúan con MANAGER. Además, MANAGER puede redirigir una aplicación a otro servidor del grupo. Por su parte, un servidor independiente valida las claves en sus propios archivos locales.
Qué contiene una clave de acceso
Una clave de acceso contiene todo lo necesario para que la aplicación localice tu servidor y confíe en él: su nombre de dominio y direcciones, su puerto, el nombre o huella digital de su certificado y el secreto propio de la clave. Está codificada, no cifrada: cualquiera que tenga la clave puede leer las direcciones de tu servidor y conectarse con ella. Comparte las claves únicamente con tus usuarios y consulta Cómo evitar el bloqueo de la dirección IP de tu servidor para conocer los riesgos de exponer una dirección.