← Volver al Blog

Port Forwarding en Mac: Router, Firewall y Cómo Verificar que Funciona

El port forwarding en Mac requiere dos pasos separados: configurar tu router y configurar macOS. Aquí te explicamos cómo hacer ambos bien y confirmar que el puerto es accesible.

El port forwarding en Mac implica dos capas separadas que muchas personas tratan como una sola. Tu router necesita enviar el tráfico entrante a la IP local de tu Mac. macOS necesita permitir ese tráfico a través de su firewall. Si una de las dos falla, el puerto no responderá desde fuera de tu red.

Las Dos Capas

Cuando llega una solicitud de conexión a tu IP pública en el puerto 8080, primero llega al router. El router no sabe a qué dispositivo de tu red local debe enviarla. Tienes que indicárselo explícitamente con una regla de port forwarding.

Una vez que esa regla existe y el paquete llega a tu Mac, macOS decide si pasárselo a la app. El firewall de macOS bloquea la mayoría de las conexiones entrantes por defecto. Una app con interfaz gráfica que ya esté escuchando en ese puerto normalmente genera un aviso de permiso automático, pero para servidores de línea de comandos puede que necesites agregar una excepción manual.

Paso 1: Configurar el Router

Cada router tiene una interfaz de administración diferente, pero el concepto es el mismo: mapear un puerto externo a una IP local y un puerto específicos.

Primero, encuentra la IP local de tu Mac. Abre Terminal y ejecuta:

ipconfig getifaddr en0

Reemplaza en0 con tu interfaz activa (en0 para Wi-Fi, en1 para Ethernet en la mayoría de los Mac). Esto devuelve algo como 192.168.1.42. Anótalo.

Entra al panel de administración de tu router (normalmente en 192.168.1.1 o 192.168.0.1). Busca la sección de Port Forwarding o NAT y agrega una regla:

  • Puerto externo: el puerto que quieres accesible desde internet (por ejemplo, 8080)
  • IP interna: la dirección local de tu Mac (por ejemplo, 192.168.1.42)
  • Puerto interno: el puerto en el que escucha tu app (generalmente el mismo)
  • Protocolo: TCP, UDP o ambos

Guarda la regla. La IP local de tu Mac puede cambiar a menos que configures una concesión DHCP estática en tu router. Si la IP cambia, la regla de port forwarding deja de funcionar sin ningún aviso.

Paso 2: Verificar el Firewall de macOS

Abre Configuración del Sistema > Red > Firewall. Si el firewall está desactivado, las conexiones entrantes llegan a tu app sin restricciones. Esto es habitual en entornos de desarrollo local detrás de un router doméstico.

Si el firewall está activo, haz clic en Opciones. Puedes agregar aplicaciones específicas y permitirles recibir conexiones entrantes. Para apps con interfaz gráfica, esto suele ser suficiente.

Para servidores de línea de comandos (Node.js, http.server de Python, binarios de Go, etc.), macOS puede que no muestre el aviso automáticamente. En ese caso, el firewall bloquea las conexiones entrantes aunque la regla del router sea correcta. Agrega el binario manualmente en la lista de Opciones, o desactiva el firewall en la máquina de desarrollo si está detrás de NAT y no está expuesta directamente.

Paso 3: Redirección Local de Puertos con pf (Avanzado)

Si quieres redirigir un puerto privilegiado (80 o 443) a un puerto de número alto donde corre tu servidor de desarrollo sin privilegios de root, el packet filter integrado en macOS lo gestiona así:

echo "rdr pass inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080" | sudo pfctl -ef -

Esto redirige todo el tráfico TCP que llega al puerto 80 hacia el puerto 8080. La regla se activa de inmediato pero no persiste tras reiniciar. Para que sea permanente, agrega la regla a /etc/pf.conf y configura pf para que cargue al inicio del sistema.

Verificar que el Puerto Está Abierto

Antes de culpar al router o al firewall, confirma que tu app realmente está escuchando en el puerto esperado. Ejecuta:

lsof -i :8080

Si no aparece nada, la app no ha empezado a escuchar. Ninguna configuración de port forwarding resolverá eso. Portie muestra todos los puertos activos en una vista en tiempo real, lo que facilita confirmar que la app está corriendo antes de buscar problemas de acceso externo.

Para verificar desde fuera de tu red, necesitas un verificador de puertos externo. El escáner remoto de Portie hace exactamente eso: llega a tu IP pública desde un servidor externo e informa si el puerto responde.

Las causas más comunes de fallos en el port forwarding, en orden: la app no está escuchando aún, la regla del router tiene la IP local incorrecta porque cambió por DHCP, y el firewall de macOS está bloqueando la conexión entrante. Revísalas en ese orden y encontrarás el problema rápidamente.

Prueba Portie gratis

Ve cada puerto abierto en tu Mac, qué app lo usa y cierra procesos desde la lista.

Descargar gratis