SSD Nodes Learn Hosting plans →
Guías Matt ConnorPor Matt Connor

Bloqueos de IP de LaLiga: cómo mantener tu web accesible

¿Tu web tras Cloudflare no carga en España los días de partido? Cómo distinguir un bloqueo de LaLiga de una caída y qué opciones tienes, con lo que cuesta cada una.

Por qué tu web no carga en España los días de partido

Los bloqueos de IP de LaLiga cortan el acceso a direcciones IP completas, no a webs concretas. Si tu dominio pasa por el proxy de Cloudflare, tu web comparte dirección con miles de sitios que no tienen nada que ver contigo. Basta con que uno de ellos emita fútbol sin licencia para que tu web deje de cargar para los clientes de varios operadores españoles.

Desde fuera de España, o desde otra red, todo funciona. Eso ocurre porque el bloqueo lo aplica el operador de acceso del visitante (su ISP, proveedor de servicios de internet). Tu servidor no tiene ningún fallo y tus registros no muestran nada raro, porque esas visitas nunca llegan.

Lo que sigue explica el mecanismo, cómo comprobar que se trata de un bloqueo y no de una caída, y qué opciones tienes si gestionas una web o un homelab. Ninguna opción sale gratis. Cada apartado dice qué ganas y qué pierdes.

Qué autoriza la sentencia y hasta cuándo

La base legal es la sentencia 310/2024 del Juzgado de lo Mercantil nº 6 de Barcelona, de 18 de diciembre de 2024. La pidieron LaLiga y Telefónica Audiovisual Digital (Movistar Plus+). Obliga a Movistar, Vodafone, MásOrange y Digi.

El bloqueo es dinámico. Durante los partidos, los demandantes envían a los operadores listas de direcciones IP que, según ellos, sirven retransmisiones sin licencia. La sentencia también les permite añadir las "IP sucesoras" cuando una emisión cambia de dirección. Esas nuevas direcciones entran en la lista a criterio de los demandantes, sin una resolución judicial para cada una.

La autorización cubre tres temporadas, de la 2024/25 a la 2026/27. Termina el 20 de junio de 2027, la fecha prevista del último partido de Segunda División. A fecha de octubre de 2026, sigue vigente.

La temporada 2026/27 empezó el sábado 15 de agosto de 2026, y los bloqueos volvieron ese mismo día, poco antes del primer partido. Según el seguimiento de HayAhoraFútbol, citado por Xataka, hubo unas 550 direcciones IP bloqueadas hacia la medianoche. Cloudflare fue la red más afectada, y Digi fue el operador que bloqueó más direcciones y durante más tiempo. Entre las webs legítimas que dejaron de funcionar estaba WikiDex, que no tiene ninguna relación con el fútbol. Cloudflare presentó en 2025 un recurso de amparo ante el Tribunal Constitucional contra estos bloqueos.

Por qué una IP compartida arrastra a miles de webs

Cloudflare es una CDN (red de distribución de contenidos). Cuando un registro DNS está en modo "Proxied" (la nube naranja del panel), el DNS no devuelve la IP de tu VPS. Devuelve direcciones de Cloudflare. El visitante abre la conexión con Cloudflare, y Cloudflare la reenvía a tu servidor.

Cloudflare sirve muchísimos dominios desde las mismas direcciones IP. Sabe qué web quiere cada visitante gracias al nombre que el navegador envía al abrir la conexión TLS (transport layer security, la capa que cifra HTTPS). Ese campo se llama SNI (server name indication). Con ECH (encrypted client hello), ese nombre también viaja cifrado, de modo que el operador ya no puede leerlo. LaLiga y Telefónica señalan precisamente a ECH como la razón de que el bloqueo por dominio haya dejado de funcionar.

El operador solo ve la dirección IP de destino. Si esa IP está en la lista, descarta todo el tráfico hacia ella, sea cual sea la web. En el caso de Movistar, las direcciones se envían a rutas "blackhole": los paquetes se tiran sin enviar ninguna respuesta. Por eso el navegador no muestra un error inmediato. Espera hasta agotar el tiempo y termina con ERR_CONNECTION_TIMED_OUT.

Un homelab publicado con Cloudflare Tunnel está en la misma situación. El nombre público de un túnel es un registro CNAME hacia cfargotunnel.com, y ese registro tiene que estar en modo proxy. Tus visitantes se conectan a direcciones de Cloudflare, igual que con una web normal. La ventaja de publicar un servicio con Cloudflare Tunnel sin abrir puertos es real, pero no te protege de un bloqueo por IP. Al contrario, te expone a él.

Cómo distinguir un bloqueo de LaLiga de una caída

Antes de tocar nada, junta las señales. Un bloqueo tiene un patrón claro:

  • Falla solo para clientes de ciertos operadores españoles, y funciona con datos móviles de otro operador, desde fuera de España o con una VPN.
  • Empieza y termina con el horario de los partidos, que incluye días entre semana.
  • Tu servidor está sano y sus servicios responden.
  • Tus registros de acceso no muestran peticiones de esos visitantes, porque sus paquetes nunca salen de la red del operador.

Una caída real se ve distinta. Falla para todo el mundo, o el navegador recibe un error de Cloudflare como 522 o 502, que significa que Cloudflare sí recibió la petición y no pudo hablar con tu servidor.

Los comandos siguientes los ejecutas tú, en tu propio equipo. Sustituye tu-dominio.es y la IP de ejemplo 203.0.113.10 por las tuyas.

Paso 1: a qué IP resuelve tu nombre

sudo apt install -y bind9-dnsutils curl
dig +short A tu-dominio.es
dig +short AAAA tu-dominio.es
curl -sI https://tu-dominio.es | grep -iE '^(server|cf-ray):'

Si dig devuelve la IP de tu VPS, tu nombre no pasa por ningún proxy y esta guía no explica tu problema. Si devuelve otras direcciones y curl muestra server: cloudflare y una línea cf-ray, tu tráfico pasa por Cloudflare.

Para confirmar que la dirección pertenece a Cloudflare, compárala con los rangos que Cloudflare publica:

IP=$(dig +short A tu-dominio.es | head -n1)
curl -s https://www.cloudflare.com/ips-v4 > cf-v4.txt
python3 - "$IP" <<'EOF'
import ipaddress, sys
ip = ipaddress.ip_address(sys.argv[1])
redes = [ipaddress.ip_network(l.strip()) for l in open("cf-v4.txt") if l.strip()]
print("IP de Cloudflare" if any(ip in r for r in redes) else "no es de Cloudflare")
EOF

Paso 2: si esa IP está bloqueada ahora mismo

El seguimiento más usado en España es ¿Hay ahora fútbol?. Lo mantiene un grupo de ingenieros que mide los bloqueos desde conexiones domésticas de distintos operadores. La página tiene un comprobador: escribes un dominio y te dice si puede estar afectado. También publica listas de IP por operador, en texto plano. Con la variable IP del paso anterior:

curl -s https://hayahora.futbol/estado/blocked-any.txt | grep -wF "$IP" && echo "bloqueada ahora"

Hay listas separadas para cada operador, como blocked-movistar.txt, blocked-digi.txt, blocked-vodafone.txt, blocked-orange.txt y blocked-masmovil.txt. Si no sale nada, ellos no observan esa IP bloqueada en este momento. Fuera del horario de partidos la lista suele estar vacía. Ten en cuenta su propio aviso: los datos reflejan sus mediciones y no son un listado oficial.

Paso 3: si la conexión llega

Desde una conexión del operador afectado, prueba la ruta normal, a través de Cloudflare:

curl -sS -o /dev/null -w '%{http_code}\n' --connect-timeout 10 https://tu-dominio.es/

Con el bloqueo activo, curl no imprime ningún código HTTP. Termina con un error que empieza por curl: (28), que es el código de tiempo agotado. Es el mismo síntoma que ERR_CONNECTION_TIMED_OUT en el navegador. Una web sana imprime 200 o una redirección como 301.

Ahora salta Cloudflare y habla directamente con tu VPS. La opción --resolve fija la IP sin cambiar el nombre que se envía en la conexión:

curl -sS -k -o /dev/null -w '%{http_code}\n' --connect-timeout 10 \
  --resolve tu-dominio.es:443:203.0.113.10 https://tu-dominio.es/

Si esto responde y la prueba anterior no, tu servidor funciona y lo que falla es el camino hacia la IP compartida. Usamos -k solo en esta prueba. Si tu servidor tiene un certificado de origen de Cloudflare, curl no lo acepta, porque ese certificado solo es válido para Cloudflare. Si tu cortafuegos solo admite los rangos de Cloudflare en el puerto 443, esta prueba también agotará el tiempo. En ese caso el resultado no dice nada sobre el bloqueo.

Qué opciones tienes para seguir accesible desde España

Ninguna de estas opciones es la correcta para todo el mundo. Una web que recibe ataques con frecuencia necesita la protección de una CDN. Un blog personal o un panel de homelab probablemente no. Elige según lo que te cueste estar caído unas horas cada fin de semana.

Servir el nombre en modo DNS only desde tu VPS

Pones el registro en modo "DNS only" (la nube gris). El DNS devuelve la IP de tu VPS, y los visitantes se conectan directamente a tu servidor. Esa IP solo la usas tú, así que un bloqueo dirigido a otra web no te alcanza.

Antes del cambio, tu VPS necesita un certificado válido para los visitantes. Un certificado de origen de Cloudflare no sirve, porque los navegadores no lo reconocen. Usa Let's Encrypt, siguiendo la guía de Certbot con nginx en Ubuntu 24.04:

sudo certbot --nginx -d tu-dominio.es -d www.tu-dominio.es
sudo certbot renew --dry-run

Si la validación HTTP-01 falla mientras el nombre sigue detrás de Cloudflare, la validación DNS-01 no depende de por dónde pasa el tráfico. Está explicada en certificados comodín de Let's Encrypt con DNS-01. Si tu cortafuegos solo admitía los rangos de Cloudflare en el puerto 443, ábrelo antes del cambio.

Después de cambiar el registro, comprueba el resultado:

dig +short A tu-dominio.es

Debe devolver la IP de tu VPS. Los registros con proxy usan un TTL (time to live, el tiempo que un resolvedor guarda la respuesta) automático de 300 segundos, así que algunos visitantes verán la IP antigua durante unos minutos.

Lo que pierdes: la absorción de ataques DDoS (denegación de servicio distribuida), la caché, el cortafuegos de aplicaciones de Cloudflare y una IP de origen oculta. Tu IP pasa a ser pública y lo seguirá siendo aunque vuelvas al modo proxy, porque los servicios de historial de DNS la guardan.

Poner un VPS delante del homelab en lugar de un túnel

Si tu homelab está detrás de CGNAT (NAT de nivel de operador, cuando tu router no tiene una IP pública propia), Cloudflare Tunnel es la salida más cómoda. La alternativa es un VPS con IP pública propia. Tu casa abre un túnel cifrado hacia el VPS, y nginx en el VPS reenvía las peticiones por ese túnel. El montaje completo está en publicar un homelab detrás de CGNAT con un túnel inverso a un VPS.

Lo que ganas: los visitantes se conectan a la IP de tu VPS, no a una dirección compartida, y la IP de tu casa sigue oculta. Lo que pierdes: tienes un servidor más que actualizar y proteger, la protección contra DDoS se limita a la de tu proveedor de VPS, y todo el tráfico consume el ancho de banda del VPS.

Mantener un nombre de reserva sin proxy

Dejas el nombre principal en Cloudflare y creas otro, por ejemplo directo.tu-dominio.es, en modo DNS only hacia tu VPS. Necesita su propio certificado. Los días de bloqueo, avisas a tus usuarios de que usen ese nombre.

Lo que ganas: el nombre principal conserva la protección de Cloudflare casi todo el tiempo. Lo que pierdes es más de lo que parece. El nombre de reserva publica tu IP de origen de forma permanente, así que cualquiera puede atacar tu servidor sin pasar por Cloudflare, también los días sin partido. Ya no puedes cerrar el puerto 443 a todo lo que no venga de Cloudflare. Además, tus usuarios tienen que conocer el nombre alternativo, y una sesión iniciada en un nombre no siempre sirve en el otro, porque las cookies van ligadas al nombre del sitio.

Cambiar de CDN

Cambiar Cloudflare por otra CDN no resuelve el fondo del problema. Cualquier red que sirva muchos sitios desde las mismas direcciones IP tiene el mismo riesgo, y los seguimientos ya han registrado bloqueos en direcciones de otros proveedores. Algunas CDN ofrecen direcciones IP dedicadas en planes de empresa. Si te interesa, pregunta a tu proveedor por esa opción concreta.

Cómo vigilar tu web desde una conexión española

Un monitor alojado fuera de España dirá que todo funciona mientras tus visitantes españoles no pueden entrar. El bloqueo lo aplican los operadores a sus propios clientes, así que necesitas una sonda en una conexión doméstica española, por ejemplo una Raspberry Pi en tu casa. Esa sonda solo ve los bloqueos de su propio operador.

Una forma sencilla es un monitor de tipo Push en Uptime Kuma, como se explica en la guía de monitorización con Uptime Kuma. La sonda comprueba tu web y avisa a Uptime Kuma solo si la web responde. Si el aviso no llega a tiempo, Uptime Kuma marca la web como caída.

#!/bin/sh
# /usr/local/bin/sonda-espana.sh
URL="https://tu-dominio.es/"
PUSH="https://kuma.tu-dominio.es/api/push/TU_TOKEN"
if curl -fsS -o /dev/null --connect-timeout 10 --max-time 20 "$URL"; then
  curl -fsS -o /dev/null "$PUSH?status=up&msg=OK&ping="
fi
sudo chmod 755 /usr/local/bin/sonda-espana.sh
( crontab -l 2>/dev/null; echo '*/2 * * * * /usr/local/bin/sonda-espana.sh' ) | crontab -

En Uptime Kuma, da al monitor Push un intervalo algo mayor que el de cron, por ejemplo 180 segundos. Pon el nombre de Uptime Kuma en modo DNS only. Si Uptime Kuma también está detrás de una IP bloqueada, el aviso de la sonda no llega, y la alerta no te dice si el problema está en tu web o en tu monitor.

Mantén a la vez un monitor normal desde fuera de España. Si el monitor externo dice que todo va bien y la sonda española falla en horario de partido, es casi seguro un bloqueo. Si fallan los dos, es una caída.

Qué pasa cuando caduque la autorización

La autorización actual termina el 20 de junio de 2027. LaLiga ya ha conseguido sentencias sucesivas antes, así que no des por hecho que los bloqueos desaparecerán ese día.

Además, el mecanismo no depende de esta sentencia. Cualquier bloqueo por IP, pedido por cualquier titular de derechos o en cualquier país, afecta igual a todas las webs que comparten esa dirección. Italia tiene un sistema parecido, llamado Piracy Shield. El diagnóstico de esta guía sirve en todos los casos: comprueba a qué IP resuelve tu nombre, si esa IP es compartida y si la conexión llega. Si vas a montar tu web desde cero, cómo alojar tu propia web en un VPS parte de una IP propia desde el principio.

FAQ

¿Por qué mi web carga con datos móviles pero no con la fibra de casa los días de partido?

Tu web probablemente comparte una dirección IP de Cloudflare con un sitio que LaLiga ha incluido en su lista de bloqueo. El operador de tu fibra descarta todo el tráfico hacia esa IP, sin importar qué web pidas. Tu red móvil, si es de otro operador, puede no aplicar el mismo bloqueo en ese momento. Comprueba tu dominio en hayahora.futbol.

¿Cómo sé si mi dominio comparte IP con una web bloqueada por LaLiga?

Ejecuta dig +short A tu-dominio.es. Si la respuesta no es la IP de tu servidor y curl -sI muestra server: cloudflare, tu dominio está detrás de direcciones compartidas. Busca esa IP en las listas por operador de hayahora.futbol o usa su comprobador de dominios. Una lista vacía fuera del horario de partidos es lo normal.

¿Puede mi operador desbloquear mi web si se lo pido?

Los operadores responden a sus clientes que están obligados a cumplir la sentencia, así que una reclamación no suele cambiar nada durante el partido. La solución práctica está en tu lado: servir tu web desde una IP que solo uses tú, por ejemplo con el registro en modo DNS only hacia tu VPS y un certificado de Let's Encrypt.

¿Pierdo la protección contra DDoS si pongo el registro en modo DNS only?

Sí. En modo DNS only, los visitantes se conectan directamente a tu VPS, y Cloudflare ya no filtra ese tráfico. También pierdes la caché y el cortafuegos de aplicaciones, y tu IP de origen queda publicada. Para un blog o un homelab suele ser aceptable. Para una web que recibe ataques con frecuencia, valora antes el coste de quedarte sin protección.

¿Un homelab con Cloudflare Tunnel también se ve afectado?

Sí. El nombre público de un túnel apunta a direcciones de Cloudflare, igual que una web con proxy, así que el bloqueo de una IP compartida también lo corta. Si necesitas acceso desde conexiones españolas en horario de partido, la alternativa es un VPS con IP propia delante del homelab, conectado a tu casa con un túnel inverso.

#cloudflare#ip-blocking#spain#self-hosting#cdn#dns