Cómo abrir puertos en el Firewall de una VPS Windows: guía paso a paso

Aprende a abrir puertos en el Firewall de Windows Server con pasos claros, comandos listos para usar y verificación de funcionamiento real.

Cuando instalas una aplicación en tu VPS Windows —un servidor web, una base de datos, un panel de administración o un servidor de juegos— esta se ejecuta en un puerto específico. Por defecto, el Firewall de Windows Server bloquea las conexiones externas en puertos que no han sido explícitamente habilitados. Sin esa autorización, el servicio solo es accesible localmente, aunque esté funcionando correctamente.

Este tutorial está dirigido a quienes acaban de contratar una VPS Windows y necesitan abrir un puerto concreto para que el servicio sea accesible desde internet. No se requieren conocimientos previos de redes — veremos dos métodos: la interfaz gráfica (más visual) y PowerShell (más rápido, ideal cuando ya conoces el número de puerto).

Requisitos previos

Antes de empezar

Necesitas una VPS con Windows Server (2019, 2022 o 2025) con acceso administrativo mediante Escritorio Remoto (RDP). Ten a mano el número de puerto que quieres abrir y comprueba si el servicio usa TCP o UDP (en caso de duda, la mayoría de servicios web usan TCP).

Algunos puertos habituales que suelen requerir apertura manual:

HTTP 80 (TCP)
HTTPS 443 (TCP)
MySQL 3306 (TCP)
Minecraft 25565 (TCP)

El puerto 3389 (RDP) ya viene abierto por defecto — es el que usas para acceder al servidor. No cierres ese puerto sin haber configurado antes un acceso alternativo, o perderás el control remoto de la máquina.

Qué es un puerto y cómo funciona el firewall

Un puerto es un número del 1 al 65535 que identifica qué servicio debe recibir una conexión de red. Cuando alguien accede a http://tuservidor.com, el navegador se conecta al puerto 80 de tu IP. Si el Firewall de Windows no permite tráfico entrante en ese puerto, la conexión se descarta antes de llegar al servidor web.

El Firewall de Windows funciona mediante reglas. Cada regla define: protocolo (TCP o UDP), puerto (o rango), dirección (entrada o salida) y acción (permitir o bloquear). Para abrir un puerto, creas una regla de entrada (inbound) que permita el tráfico en ese puerto específico.

Método 1: Abrir un puerto desde la interfaz gráfica

Este es el camino recomendado si prefieres ver lo que estás haciendo. Todos los pasos se realizan dentro de la VPS, conectado por RDP.

01

Abre el menú Inicio, escribe wf.msc y pulsa Enter. Se abrirá la consola “Firewall de Windows con seguridad avanzada”.

Este es el panel completo de reglas. No lo confundas con el “Firewall de Windows Defender” simplificado del Panel de Control — en servidores, usa siempre wf.msc.

02

En el panel izquierdo, haz clic en Reglas de entrada (Inbound Rules). Verás la lista de todas las reglas existentes.

En el panel derecho, haz clic en Nueva regla… (New Rule). Se abrirá el asistente de creación de reglas.

03

En la primera pantalla del asistente, selecciona Puerto (Port) y haz clic en Siguiente.

La opción “Programa” libera todo el tráfico de un ejecutable concreto — útil en algunos casos, pero menos preciso. “Puerto” es lo que necesitamos cuando conocemos exactamente el número.

04

Elige TCP o UDP según el protocolo de tu servicio. En “Puertos locales específicos”, escribe el número del puerto — por ejemplo, 8080. Para abrir varios puertos a la vez, sepáralos por coma: 8080,8081,9000. Para un rango, usa guión: 7000-7010.

Haz clic en Siguiente.

05

Deja seleccionado Permitir la conexión (Allow the connection) y haz clic en Siguiente.

Las otras opciones son para conexiones con IPSec, un escenario que no aplica aquí.

06

En la pantalla de perfiles, marca Dominio, Privado y Público. En una VPS expuesta a internet, el perfil activo suele ser Público — pero marcar los tres garantiza que la regla funcione en cualquier escenario.

Haz clic en Siguiente.

07

Asigna un nombre descriptivo a la regla, por ejemplo: Aplicación Web - Puerto 8080. Añade una descripción opcional indicando para qué sirve. Haz clic en Finalizar.

La regla aparece inmediatamente en la lista y ya está activa. No es necesario reiniciar el servidor.

Nombra tus reglas con claridad

Dentro de seis meses no recordarás para qué sirve el puerto 8743. Incluye siempre en el nombre de la regla qué aplicación usa ese puerto — facilita la auditoría y la eliminación de reglas obsoletas.

Método 2: Abrir un puerto con PowerShell

Cuando ya sabes lo que necesitas, PowerShell lo resuelve en una línea. Abre PowerShell como administrador (clic derecho en el menú Inicio > Windows PowerShell (Administrador)).

01

Usa el comando New-NetFirewallRule para crear la regla. Ejemplo para abrir el puerto 8080 TCP:

New-NetFirewallRule -DisplayName "Aplicacion Web 8080" -Direction Inbound -Protocol TCP -LocalPort 8080 -Action Allow

El comando devuelve los detalles de la regla creada. Si ves Enabled: True en la salida, está funcionando.

02

Para abrir un puerto UDP, cambia el protocolo:

New-NetFirewallRule -DisplayName "Servidor Juego 27015" -Direction Inbound -Protocol UDP -LocalPort 27015 -Action Allow
03

Para abrir un rango de puertos:

New-NetFirewallRule -DisplayName "Rango Aplicacion" -Direction Inbound -Protocol TCP -LocalPort 7000-7010 -Action Allow

Para varios puertos no consecutivos, pasa un array:

New-NetFirewallRule -DisplayName "Puertos Web" -Direction Inbound -Protocol TCP -LocalPort 80,443,8080 -Action Allow

Verificación: ¿el puerto está realmente abierto?

Crear la regla no garantiza que el servicio esté respondiendo — solo significa que el Firewall de Windows no lo bloqueará. La verificación tiene dos partes: confirmar la regla y probar la conexión.

01

Lista la regla creada para confirmar que está activa:

Get-NetFirewallRule -DisplayName "Aplicacion Web 8080" | Format-List DisplayName,Enabled,Direction,Action

La salida debe mostrar Enabled: True, Direction: Inbound y Action: Allow.

02

Comprueba si algún servicio está realmente escuchando en el puerto dentro de la VPS:

Get-NetTCPConnection -LocalPort 8080 -State Listen

Si la salida está vacía, ningún programa está escuchando en el puerto 8080 — necesitas iniciar tu aplicación primero. Si aparece una línea con la dirección local, el servicio está listo para recibir conexiones.

03

Desde un equipo externo (tu PC local, no la VPS), prueba la conexión. En Windows, usa PowerShell:

Test-NetConnection -ComputerName IP_DE_TU_VPS -Port 8080

El resultado relevante es TcpTestSucceeded: True. Si aparece False, el puerto sigue bloqueado en algún punto — puede ser el propio Firewall de Windows, la aplicación que no está en ejecución, o un filtro de red externo.

Resolución de problemas

La regla existe pero la conexión no funciona

Verifica que la aplicación esté en ejecución y escuchando en el puerto correcto con Get-NetTCPConnection. En muchos casos el servicio escucha solo en 127.0.0.1 (localhost) y necesita configurarse para escuchar en 0.0.0.0 (todas las interfaces). Consulta la documentación de la aplicación.

Funciona internamente pero no desde fuera

Si Test-NetConnection dentro de la VPS devuelve True pero desde fuera devuelve False, el problema está en capas de red por encima de Windows. Tu VPS puede tener un firewall adicional en el panel del proveedor o un grupo de seguridad que bloquee el tráfico.

Firewall en dos capas

Muchos proveedores aplican filtros de red además del Firewall de Windows. Si abriste el puerto en Windows y aún no conectas desde fuera, comprueba si existen reglas adicionales en el panel de control del proveedor.

Cómo eliminar una regla

Si la creaste de forma incorrecta, elimínala con PowerShell:

Remove-NetFirewallRule -DisplayName "Aplicacion Web 8080"

O desde wf.msc: localiza la regla en la lista, haz clic derecho y selecciona Eliminar.

Próximos pasos

Una vez abiertas las puertas necesarias, considera estos temas:

  • Restringir la regla por IP de origen (parámetro -RemoteAddress) — útil para puertos administrativos como 3389 o bases de datos, que no necesitan estar accesibles para todo internet.
  • Configurar un certificado SSL en tu aplicación web antes de exponer el puerto 443 públicamente.
  • Documentar todas las reglas creadas en un archivo de texto dentro de la propia VPS — tu yo del futuro te lo agradecerá.
  • Habilitar el registro del Firewall para auditar los intentos de conexión bloqueados.

Si vas a poner una aplicación en producción, una VPS Hostini Windows ya viene con acceso administrativo completo y filtro de red en capa de borde — gestionas el Firewall de Windows con normalidad, con protección adicional en la infraestructura.

Preguntas frecuentes

¿Necesito reiniciar la VPS Windows después de abrir un puerto en el Firewall?

No. Las reglas del Firewall de Windows se activan de inmediato tras ser creadas, tanto desde la interfaz gráfica como desde PowerShell. Si la conexión sigue sin funcionar, el problema está en otro punto: la aplicación no iniciada, escucha en la dirección incorrecta o un filtro externo.

¿Cómo saber si un puerto usa TCP o UDP?

La mayoría de servicios usan TCP: HTTP, HTTPS, RDP, MySQL, SQL Server y prácticamente todas las aplicaciones web. UDP es habitual en servidores de juegos, VoIP, DNS y streaming. En caso de duda, consulta la documentación de la aplicación — algunas requieren que se abran ambos protocolos.

¿Puedo abrir todos los puertos a la vez para resolverlo más rápido?

Técnicamente sí, pero es una práctica muy poco recomendable. Deshabilitar el Firewall o crear una regla que lo permita todo expone todos los servicios en ejecución en la VPS, incluidos aquellos que quizás ni sabes que están activos. Abre únicamente los puertos que cada aplicación necesita.

El puerto está abierto en el Firewall de Windows pero el sitio web no carga. ¿Qué puede estar pasando?

Las causas más comunes son: la aplicación web no está en ejecución, está escuchando solo en 127.0.0.1 en lugar de 0.0.0.0, hay un filtro de red del proveedor bloqueando el tráfico, o el DNS del dominio aún no apunta a la IP correcta. Usa Test-NetConnection desde otra máquina para aislar dónde se produce el bloqueo.

¿Cuál es la diferencia entre Firewall de Windows Defender y Firewall de Windows con seguridad avanzada?

Son el mismo motor, pero con interfaces distintas. El del Panel de Control es simplificado y adecuado para equipos de escritorio. El wf.msc (Seguridad avanzada) expone todas las opciones: reglas por puerto, rango, IP de origen, perfiles y registros. En servidores, usa siempre el wf.msc.

¿Cómo abrir un puerto solo para mi IP y no para todo internet?

Usa el parámetro -RemoteAddress en PowerShell. Ejemplo: New-NetFirewallRule -DisplayName "MySQL Restringido" -Direction Inbound -Protocol TCP -LocalPort 3306 -RemoteAddress 200.x.x.x -Action Allow. Desde la interfaz gráfica, en la pestaña "Ámbito" de la regla, define las direcciones IP remotas permitidas.

Próximos pasos Cloud Ryzen con NVMe y protección DDoS siempre activa.Pon en producción en un VPS Hostini →
¿Te resultó útil este tutorial?
Hablar por WhatsApp