Montas un servidor de juegos, una cámara o un NAS en casa y desde fuera no hay manera de conectar. Casi siempre el culpable es el NAT del router, que bloquea por defecto las conexiones que vienen de Internet. En esta guía verás por qué pasa, cómo abrir un puerto paso a paso, cómo saber si tu operador te tiene detrás de CG-NAT y qué alternativas más seguras existen.
En resumen
- Tus equipos tienen IPs privadas; el router las traduce a una única IP pública mediante NAT.
- Abrir un puerto es decirle al router a qué equipo interno debe enviar lo que llegue a ese puerto.
- Si tu operador usa CG-NAT, abrir puertos en tu router no sirve: necesitas IP pública o una VPN.
Por qué tu equipo tiene una IP privada
Las direcciones IPv4 son unos 4.300 millones, muchas menos que dispositivos conectados. La solución fue reservar rangos privados que se repiten en millones de casas y no se enrutan por Internet:
| Rango privado | Notación CIDR | Dónde lo verás |
|---|---|---|
| 10.0.0.0 – 10.255.255.255 | 10.0.0.0/8 | Empresas, algunos routers |
| 172.16.0.0 – 172.31.255.255 | 172.16.0.0/12 | Redes corporativas, Docker |
| 192.168.0.0 – 192.168.255.255 | 192.168.0.0/16 | Casi todos los routers domésticos |
| 100.64.0.0 – 100.127.255.255 | 100.64.0.0/10 | CG-NAT del operador |
Tu portátil puede ser 192.168.1.34 y el de tu vecino también. Hacia fuera, los dos salen con la IP pública de su respectivo router.
Para ver tu IP privada:
ipconfig
# macOS
ipconfig getifaddr en0
# Linux
ip -4 addr show
Cómo funciona el NAT
NAT (Network Address Translation) es la traducción que hace el router entre IP privada e IP pública. Lo que se usa en casa es, en realidad, NAT con puertos:
- Tu portátil
192.168.1.34abre una conexión desde su puerto 51000 hacia una web. - El router sustituye el origen por su IP pública y un puerto libre, por ejemplo 40112, y lo apunta en su tabla NAT.
- La web responde a la IP pública, puerto 40112.
- El router consulta la tabla, ve que corresponde a
192.168.1.34:51000y le entrega la respuesta.

La clave está en el paso 4: solo funciona si la conexión empezó dentro. Cuando alguien de fuera intenta conectar sin entrada previa en la tabla, el router no sabe a qué equipo mandarlo y lo descarta. Eso protege, pero impide alojar servicios.
TCP y UDP: elige bien el protocolo
Cada regla de reenvío se aplica a un protocolo. Equivocarse aquí es uno de los fallos más comunes.
| TCP | UDP | |
|---|---|---|
| Conexión | Establece sesión antes de enviar | Envía sin sesión |
| Fiabilidad | Reenvía lo perdido, ordena | Sin garantías |
| Usos típicos | Web (80, 443), SSH (22), RDP (3389) | Juegos, voz, VPN WireGuard (51820), DNS (53) |
| Facilidad para comprobar | Fácil | Difícil: no hay respuesta estándar |
Si la documentación del programa dice «TCP/UDP», crea la regla para los dos (la mayoría de routers tienen la opción «Ambos»).
Paso 1: dale al equipo una IP fija
Una regla de reenvío apunta a una IP interna concreta. Si el router le da otra IP al equipo tras reiniciar, la regla deja de funcionar. Hay dos formas de evitarlo:
- Reserva DHCP (recomendada): en el router asocias la dirección MAC del equipo a una IP. El equipo sigue en automático y siempre recibe la misma.
- IP estática en el propio equipo: elige una IP fuera del rango que reparte el DHCP del router para no provocar conflictos.
La reserva DHCP suele estar en LAN › DHCP › Asignaciones estáticas o un nombre parecido.
Paso 2: abrir el puerto (reenvío de puertos)
Los menús cambian según el fabricante, pero los datos que pide son siempre los mismos:
- Entra al router desde el navegador, normalmente en
192.168.1.1o192.168.0.1(la puerta de enlace que muestraipconfig). - Busca Reenvío de puertos, Port Forwarding, NAT o Servidores virtuales.
- Crea una regla nueva con:
- Puerto externo: el que se usará desde Internet.
- IP interna: la IP fija del paso 1.
- Puerto interno: normalmente el mismo que el externo.
- Protocolo: TCP, UDP o ambos.
- Guarda y, si lo pide, reinicia el router.
- Comprueba que el firewall del equipo permite ese puerto. En Windows, el Firewall de Windows Defender bloquea entradas nuevas por defecto.

Un ejemplo de regla para un servidor que escucha en el puerto 25565:
Nombre: servidor-juego
Puerto externo: 25565
IP interna: 192.168.1.50
Puerto interno: 25565
Protocolo: TCP
Puedes usar un puerto externo distinto del interno (por ejemplo, externo 2222 hacia interno 22) para reducir el ruido de bots que prueban puertos conocidos. No es una medida de seguridad real, pero aligera los logs.
CG-NAT: cuando abrir puertos no sirve
Algunos operadores, sobre todo en fibra económica, móvil y conexiones 4G/5G para casa, no dan una IP pública a cada router. Usan CG-NAT (Carrier-Grade NAT): tu router recibe una IP privada del operador y es el operador quien hace un segundo NAT hacia Internet. Ese NAT no lo controlas, así que ninguna regla de tu router llegará a recibir tráfico de fuera.
Cómo detectarlo
- Entra al router y busca la IP WAN o IP de Internet en la página de estado.
- Mira tu IP pública desde un equipo de la red:
curl https://ifconfig.me
- Compara:
- Coinciden: tienes IP pública. Puedes abrir puertos.
- La WAN empieza por 100.64 a 100.127: CG-NAT casi seguro.
- La WAN es 10.x, 172.16-31.x o 192.168.x: o CG-NAT, o doble NAT porque hay otro router delante (por ejemplo, el del operador con tu router propio detrás).
En el caso de doble NAT casero, la solución es poner el router del operador en modo puente o abrir el puerto en los dos. En CG-NAT, la opción es pedir al operador que te saque del CG-NAT o te asigne IP pública; algunos lo hacen gratis y otros como servicio de pago. Merece la pena preguntar.
Otra vía es IPv6: si tu operador lo ofrece, cada equipo tiene dirección pública propia y no hay NAT. Solo necesitas permitir el puerto en el firewall IPv6 del router, aunque el cliente que conecta también tiene que tener IPv6.
UPnP: cómodo pero arriesgado
UPnP permite que un programa pida al router que le abra un puerto automáticamente. Consolas y algunos juegos lo usan para evitar el temido «NAT estricto».
El problema es que cualquier programa de la red puede pedirlo, sin contraseña ni confirmación. Un malware en un ordenador o una cámara barata con firmware vulnerable puede exponerse a Internet sin que lo sepas. Además, ha habido routers que aceptaban peticiones UPnP desde el lado de Internet por fallos de implementación.
Recomendación práctica:
- Desactiva UPnP si no lo necesitas.
- Si lo necesitas para una consola, revisa de vez en cuando la tabla UPnP del router para ver qué puertos hay abiertos y quién los pidió.
Cómo comprobar si un puerto está abierto
Primero confirma que el servicio escucha en el propio equipo:
netstat -ano | findstr :25565
ss -tlnp | grep 25565
Después pruébalo desde fuera de tu red. Desde dentro muchas veces falla aunque esté bien configurado, porque no todos los routers soportan el NAT loopback (conectar a tu propia IP pública desde dentro). Usa los datos móviles del teléfono o un equipo en otra conexión:
nc -zv TU_IP_PUBLICA 25565
En PowerShell:
Test-NetConnection TU_IP_PUBLICA -Port 25565
Para UDP no hay una comprobación fiable genérica: lo más práctico es usar el propio cliente del servicio.
Alternativas más seguras: VPN
Cada puerto abierto es una puerta que bots de todo el mundo prueban a diario. Si el servicio es solo para ti o unas pocas personas, es mejor no exponerlo:
- VPN propia: montas un servidor VPN en casa (WireGuard u OpenVPN) y abres un único puerto, el de la VPN. Al conectarte, estás «dentro» de tu red y accedes a todo sin más puertos abiertos.
- VPN de malla o túneles salientes: el equipo de casa abre una conexión hacia fuera con un servicio intermediario. No requiere abrir puertos y funciona incluso con CG-NAT.
Lo que nunca deberías exponer directamente: escritorio remoto (RDP en el 3389), paneles de administración del router o del NAS, y bases de datos.
Errores habituales
- Regla apuntando a una IP que ha cambiado: falta la reserva DHCP.
- Protocolo equivocado: regla TCP para un servicio que usa UDP.
- Firewall del equipo bloqueando: el router reenvía bien, pero Windows o Linux rechazan la conexión.
- Probar desde dentro de casa: sin NAT loopback la prueba falla aunque todo esté bien.
- Servicio escuchando solo en 127.0.0.1: el programa acepta solo conexiones locales. Debe escuchar en
0.0.0.0o en la IP de la red. - No darse cuenta del CG-NAT o doble NAT: compara siempre IP WAN e IP pública antes de seguir buscando el fallo.



