Windows Server viene con su firewall activado, y ese es el valor por defecto correcto: todo lo que intenta conectarse desde fuera se rechaza salvo que una regla lo deje pasar. Tendrás que cambiarlo cuando ejecutes algo propio, como una aplicación web en el puerto 8080 o un servicio al que solo deba llegar tu oficina. Esta guía lo hace todo con PowerShell en Windows Server 2022. Probamos cada regla en nuestra imagen y la comprobamos desde una segunda máquina, así que sabes que de verdad abre o cierra el puerto.
Abre PowerShell como administrador. Si aún no lo has hecho, protege antes RDP: esa guía explica cómo limitar el propio Escritorio remoto.
1. Mira qué está activo
Get-NetFirewallProfile | Format-Table Name, Enabled, DefaultInboundAction, DefaultOutboundAction
Get-NetConnectionProfile | Format-Table InterfaceAlias, NetworkCategory
En nuestro servidor recién creado, los tres perfiles (Domain, Private, Public) estaban activos y el adaptador de red estaba en Public. DefaultInboundAction muestra NotConfigured, es decir, el comportamiento por defecto de Windows: bloquear lo entrante y permitir lo saliente. Así que las reglas que cuentan son las del perfil Public.
Para ver qué está permitido en la entrada:
Get-NetFirewallRule -Direction Inbound -Enabled True -Action Allow |
Group-Object DisplayGroup | Sort-Object Count -Descending |
Select-Object Count, Name -First 8
Contamos 54 reglas de entrada activas. La mayoría son del propio Windows (Core Networking, Cast to Device, mDNS), más las tres reglas del Escritorio remoto. El ping no estaba entre ellas.
2. Abre un puerto
Supongamos que tu aplicación escucha en el puerto TCP 8080:
New-NetFirewallRule -DisplayName 'Web app 8080' -Direction Inbound `
-Protocol TCP -LocalPort 8080 -Action Allow
La regla funciona en cuanto se crea. Desde nuestra segunda máquina, el puerto 8080 pasó de bloqueado a abierto, mientras que el 8081, donde también escuchaba un programa, siguió bloqueado. Una regla sin -Profile se aplica a todos los perfiles, Public incluido.
Para un rango o una lista, usa -LocalPort 8000-8010 o -LocalPort 80,443. Para UDP, cambia -Protocol.
3. Permite solo ciertas direcciones
La mayoría de los servicios no necesitan aceptar todo internet. Limita la regla a las direcciones que deben conectarse:
Set-NetFirewallRule -DisplayName 'Web app 8080' -RemoteAddress 203.0.113.10
Set-NetFirewallRule -DisplayName 'Web app 8080' -RemoteAddress 203.0.113.10, 198.51.100.0/24
Probamos los dos casos. Con una dirección ajena en -RemoteAddress, nuestra máquina de prueba ya no podía conectarse. Al añadir su propia dirección, sí. Usa el mismo parámetro en las reglas del Escritorio remoto para dejar RDP solo para tu oficina. Si tu IP de casa cambia a menudo, piénsalo dos veces antes de hacerlo con RDP.
4. Activa el ping
De fábrica, Windows no responde al ping. La regla existe, pero está apagada:
Enable-NetFirewallRule -DisplayName 'File and Printer Sharing (Echo Request - ICMPv4-In)'
Después de esto, nuestro servidor respondió al ping enseguida. Lo necesitan las herramientas de monitorización que comprueban la disponibilidad por ping. Para desactivarlo de nuevo, usa Disable-NetFirewallRule con el mismo nombre.
5. Registra lo que se bloquea
Cuando algo no consigue conectarse y no sabes por qué, haz que el firewall anote lo que descarta:
Set-NetFirewallProfile -Profile Public -LogBlocked True -LogMaxSizeKilobytes 4096
Get-Content C:\Windows\System32\LogFiles\Firewall\pfirewall.log -Tail 20
Cada intento bloqueado se convierte en una línea como esta:
2026-10-25 02:07:25 DROP TCP 198.51.100.7 203.0.113.25 43386 445 60 S 2112839481 0 64240 - - - RECEIVE 4
Se lee así: fecha y hora, acción, protocolo, dirección de origen, dirección de tu servidor, puerto de origen, puerto de destino. Ten paciencia: Windows escribe el registro por lotes, y nuestras entradas de prueba aparecieron un minuto después de los intentos. El límite de 4 MB evita que el archivo crezca sin fin.
6. Guarda y limpia
Antes de un cambio grande, guarda todas las reglas en un archivo:
netsh advfirewall export C:\fw-backup.wfw
Nuestra exportación ocupó 148 KB. netsh advfirewall import C:\fw-backup.wfw restaura exactamente ese conjunto y sustituye lo que haya. Borra por su nombre una regla que ya no necesites:
Remove-NetFirewallRule -DisplayName 'Web app 8080'
Si te quedas fuera
Si una regla corta tu propio Escritorio remoto, abre la consola en tu panel. No pasa por RDP, así que puedes entrar y ejecutar Remove-NetFirewallRule o Set-NetFirewallRule para deshacerlo.
NAT o IP propia
En los planes NAT, internet llega a tu servidor por un único puerto personal, que lleva al Escritorio remoto. Los demás puertos siguen inaccesibles desde fuera, permitas lo que permitas en el Firewall de Windows. Para servir un sitio web o aceptar conexiones en otros puertos necesitas tu propia IPv4: Windows Small-IP (4 vCPU, 4 GB, 50 GB, $28/mes) te da una con todos los puertos abiertos, y entonces decide el Firewall de Windows. Windows-Small cuesta $11/mes con NAT. Los cuatro planes de Windows están en la página de Windows VPS, y el pago es en USDT, USDC o ETH en Base, Ethereum o Polygon.
Comentarios
Aún no hay comentarios. Sé el primero.