Si tu operador te da CGNAT, tu router no tiene IP pública propia en IPv4 y no hay ningún puerto que abrir: ninguna guía de reenvío de puertos te va a servir. La vía más sencilla es Tailscale, que la documentación de Jellyfin recoge para este caso como alternativa eficaz cuando abrir puertos no es viable. Con CGNAT valen otras dos, un túnel de Cloudflare o un VPS, y una tiene letra pequeña escrita.
¿Tienes CGNAT? Compruébalo antes de tocar nada
CGNAT quiere decir que tu operador reparte una misma IP pública entre muchos clientes. No tienes dirección propia en internet, y por eso no hay ningún sitio al que tus dispositivos puedan llamar desde fuera.
La comprobación de dos minutos
- Entra al panel de tu router. La dirección y la clave suelen venir impresas en la pegatina del aparato; si no las encuentras, prueba con
http://192.168.1.1ohttp://192.168.0.1. Dentro, busca «IP de internet», «WAN» o «IP externa». - Desde un dispositivo conectado a esa misma red, busca en Google «cuál es mi ip»: el buscador te la enseña arriba del todo, sin entrar en ninguna página.
- Compara las dos. Si coinciden, tienes IP pública: tu caso es más fácil y lo tienes en la sección «Si SÍ tienes IP pública», más abajo. Y si con IP pública sigues sin entrar, el fallo es otro: tienes el diagnóstico paso a paso cuando Jellyfin no entra desde fuera.
Si no coinciden, hay un intermediario en medio: el CGNAT del operador es el caso que tratamos aquí, y un segundo router en cadena da el mismo síntoma. Un atajo lo confirma: si la IP de la WAN está entre 100.64.0.0 y 100.127.255.255, es concluyente, porque el RFC 6598 reservó ese bloque para los operadores con el fin de facilitar el despliegue de CGN.
Un matiz importante: el CGNAT es un problema de IPv4, que es el direccionamiento del que habla ese RFC. Con IPv6 nativo tu servidor puede tener dirección propia por esa otra vía, y Jellyfin lo contempla: «if your Jellyfin server has a globally routable IPv6 address, devices can resolve it […]». Esa rama queda fuera de este artículo: depende del cortafuegos de tu router y de que la red desde la que miras hable también IPv6.
Y antes de montar nada, hay una pregunta que cuesta una llamada: si tu operador puede darte una IPv4 pública. Depende de tu contrato y de tu zona, y puede tener coste, pero es la única vía que te devuelve el reenvío de puertos de toda la vida. Si te la dan, tu sección es la del DNS dinámico.
Lo que no vas a encontrar aquí es una lista de operadores que aplican CGNAT: depende del contrato y de la zona, y una lista así caducaría. Tu router no.
«Necesito una IP pública para conectarme desde fuera de mi casa al Jellyfin»
Es una búsqueda real, tecleada así, de las que aparecen en las estadísticas de esta web. Pedro la desarrolló en dos comentarios seguidos de junio de 2023: había abierto el 8096, había fijado «su IP» para que no cambiara, y desde fuera seguía sin entrar.
Son direcciones distintas. La que ves en tu ordenador, del tipo 192.168.1.40, es privada: fijarla está bien, pero no te hace alcanzable desde internet. La pública es la que tu operador pone en la WAN del router, y es la única por la que se llega hasta ti.
Si esa es compartida, fijar la privada no cambia nada. Por eso hay quien escribe dos veces, con un mes de diferencia, que ha hecho los pasos y las modificaciones del router «sin éxito».
Si SÍ tienes IP pública, tu problema es otro: repasa la guía de acceso desde fuera de casa. Lo que sigue ordena las cinco vías de la tabla: las tres que valen con CGNAT y las dos que solo valen sin él.
Qué opción te toca: la tabla de decisión
Jellyfin documenta cuatro vías, en este orden: puerto directo (marcado como not recommended), proxy inverso, VPN hacia tu red, y un VPS haciendo de proxy inverso. La tabla las cruza con la pregunta que de verdad ordena la decisión: qué tiene que hacer la persona a la que vas a dar acceso.
| Opción | ¿Sirve con CGNAT? | Qué instala el invitado | Qué expones a internet | Coste | Dificultad |
|---|---|---|---|---|---|
| Tailscale | Sí | El cliente de Tailscale y una cuenta propia | Nada | 0 $ en el plan Personal | Baja |
| WireGuard en tu casa | No por sí solo | El cliente de WireGuard y tu fichero de configuración | Un puerto UDP, si pudieras abrirlo | Gratis | Alta |
| Cloudflare Tunnel | Sí | Nada: entra por el navegador | Un nombre público servido por Cloudflare | Sin pago directo, con la letra pequeña de más abajo | Media |
| VPS con VPN hasta tu casa | Sí | Nada: entra por el navegador | El VPS y lo que publiques en él | El alquiler del VPS, todos los meses | Alta |
| DNS dinámico y puerto abierto | No | Nada | El puerto de Jellyfin, desnudo | Gratis | Baja |
Dos de las cinco filas ni siquiera arrancan si tienes CGNAT. Y la columna del invitado es la que ordena la decisión en cuanto vas a compartir: si la gente que va a entrar no quiere instalarse nada, media tabla se cae sola.
¿Y si Jellyfin te corre en un NAS? Cambia dónde se instala cada cosa, no la decisión: el cliente de Tailscale va en el propio NAS (en Synology hay paquete oficial en el Package Center), y el DNS dinámico del fabricante no arregla el CGNAT.
Tailscale: la más fácil, y la que recomendamos
Tailscale monta una red privada entre tus dispositivos. Cada uno abre una conexión de salida y se encuentran ahí en medio, y por eso ninguno necesita aceptar conexiones entrantes: el CGNAT deja de importar. Jellyfin lo documenta oficialmente describiendo tu escenario exacto, «such as when the network is behind a carrier-grade NAT (CGNAT), or if your ISP blocks incoming traffic on certain ports», y el plan Personal cuesta 0 $, «Free forever», con hasta seis usuarios.
Ojo con una coincidencia que despista: las direcciones que Tailscale reparte a tus equipos salen de ese mismo bloque 100.64.0.0/10. Son las de tu red privada, no la de la WAN de tu router: la comprobación del principio se hace sobre esa WAN.
Qué hace falta en cada dispositivo
Aquí está la contrapartida, y la reconoce la documentación de Jellyfin: cada cliente necesita el software de Tailscale instalado, y dependes de la cuenta de un tercero. Tailscale publica guía de instalación para Linux, macOS, Windows, Chromebook, Apple TV, iOS, Android y Amazon Fire. Con un móvil, un portátil y una tablet lo resuelves en una tarde.
El montaje, en tres pasos:
- Instala Tailscale también en el equipo donde corre Jellyfin, no solo en los clientes, y entra con la misma cuenta en todos.
- En la máquina del servidor,
tailscale ip -4te devuelve su dirección dentro de esa red privada, del tipo100.121.112.23. - En la aplicación de Jellyfin añades el servidor a mano con esa dirección y el puerto. El paso a paso oficial lo escribe así:
100.12.34.56:8096.
¿Funciona Tailscale en una Smart TV Samsung o LG?
Jellyfin sí: tiene aplicación oficial en la tienda de Samsung (Tizen) y en la LG Content Store. Tailscale no: esos dos sistemas no están en su lista de instalación, y la tele puede acabar ejecutando Jellyfin y quedándose fuera de tu red privada.
Su documentación contempla los aparatos donde no se puede instalar software y responde que «you can run a device called a subnet router and relay traffic between your Tailscale network and these devices»: un equipo de esa red que sí lleva Tailscale y hace de puente. Funciona, pero ya no es una tarde: es montar otro aparato en casa de quien te está viendo.
¿Puede entrar alguien sin instalarse Tailscale?
No, y es la limitación que más planes rompe. Enrique lo escribió aquí tal cual en diciembre de 2025: «No entiendo por qué en mi movil si y con otros moviles u otros dispositivos en otras casas no puedo». Con una red privada eso no es un fallo: es el diseño.
Compartir se puede, «sharing is available for all plans», pero pon el listón donde está antes de prometer nada. El invitado necesita cuenta propia y, además, «a recipient needs to be an Owner, Admin, or IT admin of a tailnet to accept a shared machine invitation»: tiene que ser dueño o administrador de su propia red para aceptar. Para tu suegra son una instalación y un registro antes del primer minuto de película.
Cuándo la conexión deja de ser directa
Cuando Tailscale no logra unir los dos extremos, el tráfico pasa por un relé suyo, un servidor DERP. Su documentación lo sitúa como último recurso, «when other connection types aren’t possible due to hard NAT, firewalls, or another reason» (fíjate en que no nombra el CGNAT).
El coste lo reconoce en la página de sus peer relays: «while DERP servers are effective at relaying traffic, they can introduce additional latency, especially for high-throughput applications». Un vídeo es exactamente eso: si va fino un día y a trompicones otro sin que hayas tocado nada, mira por ahí antes que en Jellyfin.
Y por simetría, ya que vamos a leer la letra pequeña de Cloudflare: la política de uso aceptable de Tailscale, actualizada el 30 de junio de 2025, no contiene ninguna cláusula sobre ancho de banda, vídeo ni volumen de tráfico. Lo revisado es esa política; sus Términos de Servicio quedan fuera.
WireGuard propio: sin depender de nadie, pero no resuelve el CGNAT por sí solo
Si el problema es depender de la cuenta de un tercero, la tentación es montar tú la VPN. WireGuard es libre, es rápido y Jellyfin cuenta la VPN entre sus cuatro vías. El detalle está en quién llama a quién.
Lo explica su documentación: la configuración del cliente lleva «an initial endpoint of its single peer (the server), so that it knows where to send encrypted data», mientras que el servidor no guarda ninguna dirección de sus clientes, porque los descubre según le llegan datos autenticados. Alguien tiene que tener una dirección estable a la que llamar primero, y con CGNAT tu casa no la tiene: un servidor WireGuard en tu salón espera una llamada que no puede entrar.
Si no tienes CGNAT, WireGuard es de lo mejor que hay: expone un puerto UDP en vez del panel de Jellyfin, y quien no tenga la clave ni siquiera recibe respuesta. Si sí lo tienes, el extremo que escucha tiene que estar fuera de tu casa: eso es el VPS con VPN del que hablamos dos secciones más abajo.
Cloudflare Tunnel: lo que dicen sus términos sobre servir vídeo
Un túnel de Cloudflare instala un programa en tu servidor que abre la conexión hacia fuera y mantiene el canal vivo. Su documentación lo describe como una forma de conectar tus recursos «without a publicly routable IP address», y precisa que «cloudflared initiates an outbound connection through your firewall from the origin». Sin puerto abierto, sin IP pública, y tu invitado entra por el navegador sin instalar nada.
Ahora la letra pequeña. Primero, para que no pierdas el tiempo: la «sección 2.8» que circula por los foros está derogada desde mayo de 2023. Cloudflare lo contó en su blog: «we moved the content-based restriction concept to a new CDN-specific section in our Service-Specific Terms». Citarla hoy es citar un texto muerto.
La cláusula viva está en los Service-Specific Terms, actualizados el 2 de junio de 2026, apartado Content Delivery Network (Free, Pro, or Business):
«Unless you are an Enterprise customer, Cloudflare offers specific Paid Services (e.g., the Developer Platform, Images, and Stream) that you must use in order to serve video and other large files via the CDN. Cloudflare reserves the right to disable or limit your access to or use of the CDN […] if you use or are suspected of using the CDN without such Paid Services to serve video or a disproportionate percentage of pictures, audio files, or other large files.»
Es decir: salvo que seas cliente Enterprise, para servir vídeo por su CDN tienes que usar servicios de pago suyos, y Cloudflare se reserva el derecho de limitarte el acceso si sospecha que lo haces sin ellos. El blog de 2023 cierra el caso de una biblioteca doméstica: «Video and large files hosted outside of Cloudflare will still be restricted on our CDN». Tu Jellyfin está en tu casa, no alojado en Stream ni en R2.
Y ahora la parte que nos deja sin conclusión redonda: la palabra Tunnel no aparece ni una sola vez en ese documento, comprobado sobre el texto completo del 2 de junio de 2026. Cloudflare no ha escrito si el tráfico de un túnel publicado en un hostname proxificado cuenta como uso del CDN: no hay excepción que te ampare, ni prohibición que lo nombre.
El veredicto no es «está prohibido» ni «está permitido». Es este: la restricción existe, se aplica al CDN y deja la decisión en manos de Cloudflare. Quien te venda el túnel como «la forma gratis de servir tu biblioteca» te está omitiendo una cláusula que puedes leer en dos minutos.
Y depender de un intermediario gratuito tiene su propio riesgo: Fernando montó su Jellyfin en Docker con un túnel de terceros y un día dejó de funcionar, según contó en los comentarios en julio de 2023.
Un VPS con VPN hasta tu casa: el montaje de un lector
Esta no sale de un manual. La contó Óscar Vergara en los comentarios de esta web, en junio de 2024: «tengo un vps muy económico y le instale un cliente vpn que me permite enlazar con mi servidor local donde tengo todo mi contenido. mi internet es muy rápida pero es una CG-NAT y la única forma fue usando vpn y nginx proxy manager». Es, palabra por palabra, la cuarta vía que documenta Jellyfin.
- Alquilas un servidor pequeño en internet. Ese sí tiene IP pública fija, que es lo que a ti te falta.
- Levantas una VPN entre el VPS y tu casa. La llamada la inicia tu servidor, de modo que el CGNAT no estorba.
- Pones un proxy inverso en el VPS que recibe las visitas de tu dominio y las manda por el túnel a tu Jellyfin. Ahí se resuelve el certificado HTTPS.
Tus invitados solo ven un dominio normal con candado: no instalan nada ni se registran en ningún sitio. A cambio, es la opción más laboriosa y la única con factura recurrente. El precio depende del proveedor y del momento, y aquí no vas a encontrar una cifra: envejecería mal, y esta web no recomienda proveedores.
Por qué el cuello sigue siendo tu subida
Paco llegó hasta aquí y se topó con lo siguiente, en diciembre de 2024: «Me conecto perfectamente a mi red desde internet, pero los vídeos se paran al reproducir». No es un fallo de configuración. El VPS cambia por dónde entra la conexión, no multiplica tu ancho de banda: el vídeo sale igualmente de tu casa, y lo que manda es tu velocidad de subida.
La única cifra de ancho de banda que damos aquí es la de Jellyfin, porque es la única con fuente: «if you have less than 100 Mbps of total upload bandwidth, a bandwidth limit of 70% of your upload speed for Jellyfin is recommended», en su guía de hardware, que además dice dónde se pone: «This option can be found in the Jellyfin Server Dashboard».
Ese límite vive en Panel de control > Reproducción > Streaming, en «Internet streaming bitrate limit (Mbps)», y es un tope por flujo para todos los dispositivos de fuera de tu red: «an optional per-stream bitrate limit for all out of network devices».
En la ficha de cada usuario puedes sobrescribirlo, y la propia ayuda de la interfaz remite al valor global: «Override the default global value set in server settings, see Dashboard > Playback > Streaming». Cuenta con que es por flujo: dos reproducciones a la vez lo duplican.
Y un apunte para bibliotecas grandes, que también nos preguntaron: da igual que supere los 24 TB. Por el túnel solo pasa lo que se está reproduciendo: lo que hay que dimensionar es el bitrate de un archivo, no el tamaño del disco.
Si SÍ tienes IP pública: DNS dinámico gratis
Natalia describió el síntoma con precisión en septiembre de 2024: «Me ha estado funcionando el servidor perfectamente durante meses, pero de un día para otro no puedo acceder desde fuera de la red wifi». Cuando todo está bien y un buen día deja de funcionar, empieza por mirar si tu IP pública ha cambiado: salvo que tengas IP fija contratada, puede cambiar sin avisarte.
Un servicio de DNS dinámico te da un nombre fijo que se actualiza solo cada vez que esa IP cambia.
Dos gratuitos, con lo que publican ellos mismos y nada más: DuckDNS se anuncia como «free dynamic DNS hosted on AWS» y no pide tarjeta; No-IP mantiene plan gratuito con «1 Hostname» y «no credit card required, ever». Consulta sus condiciones antes de casarte con uno.
Y corregimos aquí un consejo que esta web dio durante años: DynDNS ya no tiene plan gratuito. En su página de cuentas solo hay «Buy Dynamic DNS» y una prueba de 7 días, o sea que un tutorial que te mande a abrir cuenta allí te lleva a un muro de pago.
No confundas el remedio con el problema. Un DNS dinámico no arregla el CGNAT, porque un nombre que apunta a una IP compartida sigue sin llevar a tu casa. Por sí solo tampoco da acceso: sigues necesitando abrir el puerto, que es lo que cuenta la guía de acceso desde fuera de casa.
Por qué abrir el 8096 al mundo es la peor opción (y los tres ajustes que reducen el daño)
Empecemos por la vía más directa, que es la primera que lista Jellyfin y la única que marca con un aviso: «opening a port directly to the Internet is therefore insecure and not recommended».
Los puertos por defecto son 8096/TCP para HTTP, 8920/TCP para HTTPS y 7359/UDP para el descubrimiento de clientes en la red local. Los dos primeros se pueden cambiar, y así es como se cambia el puerto de Jellyfin; el tercero no.
El matiz que lo explica todo está en la ficha del 8920: «used when https is enabled. By default this port will not be used». Por defecto tu Jellyfin habla HTTP a secas, porque el HTTPS necesita un certificado que no viene puesto. Si abres el 8096 al mundo, las contraseñas de tus usuarios viajan sin cifrar.
La recomendación oficial no es activar el HTTPS de Jellyfin, sino ponerlo delante. Un proxy inverso es un programa que recibe las visitas, resuelve el cifrado y se las pasa a Jellyfin por dentro: «it is strongly recommended to handle HTTPS termination separately on a reverse proxy». Y sobre los certificados hechos por uno mismo, «self-signed certificates pose security and compatibility issues and are strongly discouraged».
Otro detalle que ahorra búsquedas a ciegas: el autodescubrimiento «only works locally and should not be exposed externally». Si desde fuera tu aplicación «no encuentra el servidor», está diseñado así, y hay que escribir la dirección a mano.
Y tres ajustes del propio Jellyfin que limitan el daño sin tocar el router:
- Permiso remoto por persona. En Usuarios > editar usuario está «Allow remote connections to this server»: puedes dejar fuera a las cuentas que solo usas en casa.
- Límite de velocidad. Global, en Panel de control > Reproducción > Streaming, con anulación en la ficha de cada usuario. Ojo: es un tope por flujo, así que dos reproducciones simultáneas lo duplican.
- Quick Connect. Permite entrar con un código temporal de 6 caracteres en vez de usuario y contraseña, y el código no vale por sí solo: tiene que autorizarlo un dispositivo donde ya hayas iniciado sesión («a temporary Quick Connect code is generated and used to authorize login from an already authenticated client»). Viene activado de fábrica y se apaga en Ajustes > Panel de control > General, desmarcando «Enable Quick Connect on this server».
Qué elegiríamos nosotros
Si eres tú solo y tus dispositivos son móvil, portátil o tablet, Tailscale y a otra cosa: una tarde, cero euros y el CGNAT deja de existir para ti.
Si vas a compartir con familia que ve en la tele, el VPS con VPN: el montaje más laborioso y el único que se paga todos los meses, pero también el único en el que el otro lado no instala nada.
Si tienes IP pública y solo querías un nombre en vez de una ristra de números, DuckDNS o No-IP.
Lo que no recomendamos es abrir el 8096 al mundo y confiar en la suerte. El túnel de Cloudflare no lo descartamos, pero tampoco lo vendemos como gratis y sin condiciones: ya has leído la cláusula.
Equivocarse aquí tiene un coste que no es técnico. Jesús nos dejó escrito en enero de 2024 su descontento con el acceso remoto y una amenaza de irse: «quiero que Jellyfin sea mejor que Emby, y no volveré usar más Jellyfin para saber la Entrada de Acceso para los usuarios fuera de casa». Por eso la tabla está arriba y no al final: esas tardes se ahorran comprobando media hora antes si hay CGNAT por medio.
Escrito y comprobado contra Jellyfin 10.11.11, publicada en junio de 2026 y estable a día de hoy. La siguiente versión mayor se llamará 12.0 y todavía va por candidatas: los nombres de los ajustes pueden moverse cuando salga.