Liberar portas no Windows Server é essencial para permitir que aplicações e serviços se comuniquem através da rede. Este tutorial mostra como fazer isso via interface gráfica e PowerShell.
Avisos Importantes
- Execute como Administrador todos os comandos
- Anote as portas liberadas para controle de segurança
- Libere apenas portas necessárias para minimizar riscos
- Teste a conectividade após a configuração
Método 1: Passo a Passo Manual (Interface Gráfica)
Passo 1: Acessar o Firewall do Windows
- Pressione
Windows + Re digitewf.msc - Pressione Enter para abrir o “Firewall do Windows com Segurança Avançada”
- Ou vá para: Painel de Controle > Sistema e Segurança > Firewall do Windows Defender > Configurações Avançadas
Passo 2: Criar Nova Regra de Entrada
- No painel esquerdo, clique em “Regras de Entrada”
- No painel direito, clique em “Nova Regra…”
- Selecione “Porta” e clique em “Avançar”
Passo 3: Configurar o Protocolo e Porta
- Selecione o protocolo:
- TCP para HTTP, HTTPS, FTP, SSH, etc.
- UDP para DNS, DHCP, etc.
- Selecione “Portas locais específicas”
- Digite o número da porta (ex: 80, 443, 8080)
- Para múltiplas portas:
80,443,8080 - Para intervalo:
8000-8100
- Para múltiplas portas:
- Clique em “Avançar”
Passo 4: Definir Ação
- Selecione “Permitir a conexão”
- Clique em “Avançar”
Passo 5: Escolher Perfis
- Marque os perfis onde a regra será aplicada:
- Domínio: Quando conectado a um domínio
- Privado: Redes privadas (casa/escritório)
- Público: Redes públicas (Wi-Fi público)
- Clique em “Avançar”
Passo 6: Nomear a Regra
- Digite um nome descritivo (ex: “Apache Web Server – Porta 80”)
- Adicione uma descrição opcional
- Clique em “Concluir”
Para Regras de Saída (Opcional)
Repita os mesmos passos, mas no Passo 2 clique em “Regras de Saída” em vez de “Regras de Entrada”.
Método 2: Scripts PowerShell Prontos
Script Completo para Liberar Porta
# Script para liberar porta no Windows Server
# Execute como Administrador
# Configurações (altere conforme necessário)
$Porta = 8080
$Protocolo = "TCP" # TCP ou UDP
$Nome = "Aplicacao Web - Porta $Porta"
$Descricao = "Regra criada automaticamente para liberar porta $Porta"
Write-Host "=== Liberando Porta $Porta ($Protocolo) ===" -ForegroundColor Green
# Criar regra de entrada
Write-Host "Criando regra de entrada..." -ForegroundColor Yellow
New-NetFirewallRule -DisplayName "$Nome - Entrada" -Direction Inbound -Protocol $Protocolo -LocalPort $Porta -Action Allow -Description $Descricao
# Criar regra de saída (opcional)
Write-Host "Criando regra de saída..." -ForegroundColor Yellow
New-NetFirewallRule -DisplayName "$Nome - Saída" -Direction Outbound -Protocol $Protocolo -LocalPort $Porta -Action Allow -Description $Descricao
Write-Host "=== Porta $Porta Liberada com Sucesso ===" -ForegroundColor Green
Write-Host "Regras criadas: $Nome" -ForegroundColor Cyan
# Verificar se a porta está liberada
Write-Host "Verificando regras criadas..." -ForegroundColor Yellow
Get-NetFirewallRule -DisplayName "*$Nome*" | Select-Object DisplayName, Direction, Action, EnabledScripts Específicos por Situação
1. Liberar Porta Web (80, 443)
# Liberar portas web padrão
$PortasWeb = @(80, 443)
foreach ($Porta in $PortasWeb) {
$Nome = "Web Server - Porta $Porta"
New-NetFirewallRule -DisplayName "$Nome - Entrada" -Direction Inbound -Protocol TCP -LocalPort $Porta -Action Allow
New-NetFirewallRule -DisplayName "$Nome - Saída" -Direction Outbound -Protocol TCP -LocalPort $Porta -Action Allow
Write-Host "Porta $Porta liberada" -ForegroundColor Green
}2. Liberar Múltiplas Portas
# Liberar múltiplas portas de uma vez
$Portas = @(8080, 8443, 9000, 9090)
$Protocolo = "TCP"
$NomeBase = "Aplicacao Personalizada"
foreach ($Porta in $Portas) {
New-NetFirewallRule -DisplayName "$NomeBase - Porta $Porta" -Direction Inbound -Protocol $Protocolo -LocalPort $Porta -Action Allow
Write-Host "Porta $Porta liberada" -ForegroundColor Green
}3. Liberar Intervalo de Portas
# Liberar intervalo de portas
$PortaInicio = 8000
$PortaFim = 8100
$Nome = "Range de Portas $PortaInicio-$PortaFim"
New-NetFirewallRule -DisplayName $Nome -Direction Inbound -Protocol TCP -LocalPort "$PortaInicio-$PortaFim" -Action Allow
Write-Host "Intervalo de portas $PortaInicio-$PortaFim liberado" -ForegroundColor Green4. Verificar Portas Liberadas
# Listar todas as regras de firewall ativas
Get-NetFirewallRule -Action Allow -Enabled True | Where-Object {$_.DisplayName -notlike "*Core*"} | Select-Object DisplayName, Direction, Action | Sort-Object DisplayName5. Remover Regra Específica
# Remover regra por nome
$NomeRegra = "Aplicacao Web - Porta 8080"
Remove-NetFirewallRule -DisplayName "*$NomeRegra*"
Write-Host "Regras '$NomeRegra' removidas" -ForegroundColor Red