WebRTC es una feature del navegador que deja que las videollamadas y las apps peer-to-peer funcionen directamente entre usuarios sin un servidor central. Para eso, le pide a tu dispositivo sus direcciones IP — incluyendo la IP pública real que se supone que tu VPN esconde. Si un sitio malicioso o curioso usa la API de JavaScript de WebRTC, puede leer esa IP. Un VPN no frena esto por sí solo porque la fuga pasa dentro del navegador, no en la red.
Qué es WebRTC
WebRTC (Web Real-Time Communication) es una API de navegador estandarizada alrededor de 2011. Da potencia a:
- Videollamadas en navegadores (Google Meet, Discord, Jitsi, Whereby, llamadas de WhatsApp en navegador).
- Transferencias de archivos peer-to-peer (Snapdrop, ShareDrop).
- Juegos y herramientas de colaboración en navegador que necesitan conexiones directas entre peers.
- Features de voz en plataformas como Discord, huddles de Slack, etc.
La razón por la que WebRTC importa es que permite comunicación navegador-a-navegador sin un servidor relay intermedio. Eso le ahorra dinero al proveedor de la aplicación y reduce la latencia.
Por qué WebRTC fuga IPs
Para que dos navegadores se conecten directamente, necesitan conocer sus direcciones IP mutuas. WebRTC usa un protocolo llamado STUN (Session Traversal Utilities for NAT) para descubrir todas las IPs que tiene tu dispositivo — IPs de red local, IPs públicas, e IPs IPv6.
El descubrimiento pasa dentro del navegador, vía APIs a nivel SO. El navegador le pregunta al sistema operativo "¿qué interfaces de red tiene este dispositivo, y cuáles son sus IPs?" El SO responde con la verdad — incluyendo tu IP pública real, aunque el tráfico esté ahora ruteado por un VPN.
Luego, una API de JavaScript en cualquier página web puede leer
esas IPs. Un sitio simplemente crea una conexión de peer (usando
RTCPeerConnection), mira los candidatos generados, y
extrae cada IP que tu navegador conoce.
Resultado: el sitio conoce tu IP pública real, aunque todo tu tráfico HTTP normal vaya por el VPN. Desde la perspectiva del sitio, la "IP de WebRTC" puede ser muy distinta de la "IP de HTTP".
Cómo detectar una fuga WebRTC
- Conéctate a tu VPN.
- Visita browserleaks.com/webrtc.
- Mira la sección "Public IP Address". Si muestra tu IP real (que puedes verificar en /es/tools/what-is-my-ip/ con el VPN desconectado), la fuga es real. Si muestra la IP del servidor VPN o nada — estás protegido.
La sección "Local IP" normalmente mostrará algo como
192.168.x.x o 10.x.x.x — estas son IPs
de red privada y no son una fuga relevante. Le dicen a los
observadores que estás en una red de casa con NAT, pero no te
identifican públicamente.
Arreglos por navegador
Chrome / Edge / Brave
La implementación WebRTC de Chrome no se puede deshabilitar por los ajustes estándar. Tus opciones:
- WebRTC Network Limiter — extensión oficial de Google que evita que WebRTC se enganche a interfaces fuera del túnel. Recomendada si quieres que WebRTC siga funcionando pero solo por el VPN.
- uBlock Origin — su toggle "Prevent WebRTC from leaking local IP addresses" (en ajustes avanzados) hace el trabajo para la mayoría de fugas.
- Brave — tiene un ajuste integrado en Privacidad y Seguridad → Fingerprinting → WebRTC IP Handling. Ponlo en "Disable Non-Proxied UDP" para protección máxima.
Firefox
Firefox te deja deshabilitar WebRTC a nivel motor:
- Abre
about:configen la barra de URL. - Acepta el aviso.
- Busca
media.peerconnection.enabled. - Ponlo en
false.
Esto mata WebRTC por completo — las llamadas y conexiones de peer ya no funcionarán. Si necesitas WebRTC para algunos sitios, instala una extensión como Disable WebRTC que lo active a demanda.
Safari
La implementación WebRTC de Safari fuga menos por defecto — las versiones recientes no exponen tu IP pública real a las páginas web sin permiso explícito del usuario (típicamente por un aviso de "permitir acceso a micrófono/cámara"). Si no concedes esos permisos, la superficie de fuga es estrecha.
Para protección extra: menú Desarrollo → Funciones experimentales → deshabilita las features de WebRTC. Ojo que esto afecta a muchos sitios de videollamada.
Navegadores móviles
Safari en iOS y Chrome en iOS siguen el modelo más estricto de Safari (Apple controla el motor de renderizado). Menos superficie de fuga por defecto.
Chrome en Android se comporta como el Chrome de escritorio pero nuestro servicio VPN de Android captura todo el tráfico UDP incluido STUN, así que aunque WebRTC intente fugar, los paquetes van tunelizados.
¿Cuál es el riesgo de verdad?
Para la mayoría de la gente: de bajo a moderado. Una fuga WebRTC expone tu IP pública real a cualquier sitio que visites. Eso le dice al sitio:
- Tu ISP real y ciudad aproximada (vía geolocalización de IP).
- Que estás usando un VPN (porque la IP de HTTP y la de WebRTC difieren).
- Habilita la re-identificación para ads dirigidos si el sitio puede correlacionar la IP fugada con visitas previas.
Para casos de uso sensibles (periodistas, disidentes, investigadores manejando datos privados, cualquiera que dependa del anonimato a nivel IP por seguridad), el riesgo es alto — toda la razón de usar un VPN queda socavada por la fuga.
Para uso de privacidad rutinario, es mayormente una molestia. Los sitios pueden identificarte pese al VPN, pero la actividad de fondo (contenido de página, comportamiento de cuenta, etc.) sigue cifrada.