Start typing to search across invoices, services, domains, tickets, and more...
Если сайт, база данных, игровой сервер или ваше приложение на Windows VPS недоступны извне, чаще всего причина в том, что порт закрыт в брандмауэре Windows. В этой инструкции для Windows Server 2016/2019/2022 показано, как открыть и закрыть порт в брандмауэре Windows через графический интерфейс и PowerShell (New-NetFirewallRule / Remove-NetFirewallRule), ограничить доступ по IP, разрешить ping, проверить прослушивание порта и протестировать его снаружи.
Подключитесь по RDP, нажмите Win+R и выполните команду ниже — откроется «Монитор брандмауэра Защитника Windows в режиме повышенной безопасности». Выберите «Правила для входящих подключений» → «Создать правило» → «Для порта» → TCP или UDP и укажите порты (например, 8080 или 80,443) → «Разрешить подключение» → отметьте все профили → задайте понятное имя.
wf.mscВ PowerShell от имени администратора порт открывается одной командой — удобно для скриптов и массового развёртывания. Параметр -LocalPort принимает один порт, список через запятую или диапазон, -Protocol — TCP или UDP.
# Allow inbound TCP 8080 (all profiles)
New-NetFirewallRule -DisplayName "Allow TCP 8080" -Direction Inbound -Protocol TCP -LocalPort 8080 -Action Allow -Profile Any
# Several ports / a range, and UDP
New-NetFirewallRule -DisplayName "Allow Web 80,443" -Direction Inbound -Protocol TCP -LocalPort 80,443 -Action Allow
New-NetFirewallRule -DisplayName "Allow UDP 27015-27020" -Direction Inbound -Protocol UDP -LocalPort 27015-27020 -Action AllowПорты баз данных (1433, 3306) и служб управления не стоит открывать всему интернету. Укажите доверенные IP или подсети в -RemoteAddress — остальные подключения будут отброшены политикой по умолчанию. Список источников потом меняется через Set-NetFirewallRule без пересоздания правила.
# Only allow SQL Server 1433 from your office IP and one subnet
New-NetFirewallRule -DisplayName "MSSQL from office" -Direction Inbound -Protocol TCP -LocalPort 1433 -RemoteAddress 203.0.113.10,198.51.100.0/24 -Action Allow
# Change the source list of an existing rule later
Set-NetFirewallRule -DisplayName "MSSQL from office" -RemoteAddress 203.0.113.10,203.0.113.20Закрыть порт можно тремя способами: временно отключить правило, удалить его через Remove-NetFirewallRule или создать явное правило блокировки. Правило блокировки в брандмауэре Windows всегда важнее разрешающего, поэтому это самый надёжный вариант.
# List the rules you created
Get-NetFirewallRule -Direction Inbound | Where-Object DisplayName -like "Allow*" | Format-Table DisplayName,Enabled,Action
# Temporarily disable, or delete permanently
Disable-NetFirewallRule -DisplayName "Allow TCP 8080"
Remove-NetFirewallRule -DisplayName "Allow TCP 8080"
# Explicitly block a port (Block rules win over Allow rules)
New-NetFirewallRule -DisplayName "Block TCP 445" -Direction Inbound -Protocol TCP -LocalPort 445 -Action BlockПо умолчанию Windows Server не отвечает на ping. На работу сайтов это не влияет, но системы мониторинга могут считать сервер недоступным. Правила ниже разрешают только эхо-запросы, остальные типы ICMP остаются закрытыми.
# Allow ping (ICMPv4 Echo Request) and ICMPv6 echo
New-NetFirewallRule -DisplayName "Allow ICMPv4 Ping" -Direction Inbound -Protocol ICMPv4 -IcmpType 8 -Action Allow
New-NetFirewallRule -DisplayName "Allow ICMPv6 Ping" -Direction Inbound -Protocol ICMPv6 -IcmpType 128 -Action Allow
# Same with the classic netsh syntax
netsh advfirewall firewall add rule name="Allow ICMPv4 Ping" dir=in action=allow protocol=icmpv4:8,anyОткрытый в брандмауэре порт бесполезен, если на нём никто не слушает. Проверьте адрес прослушивания и PID через netstat или Get-NetTCPConnection. Если адрес 127.0.0.1, приложение принимает только локальные подключения — измените в его настройках адрес на 0.0.0.0 или внешний IP сервера.
netstat -ano | findstr :8080
Get-NetTCPConnection -State Listen -LocalPort 8080 | Select-Object LocalAddress,LocalPort,OwningProcess
Get-Process -Id (Get-NetTCPConnection -State Listen -LocalPort 8080).OwningProcessТестируйте только с другого компьютера: проверка на самом сервере идёт в обход брандмауэра. Результат TcpTestSucceeded : True или «succeeded» от nc означает, что порт доступен.
# From another Windows machine
Test-NetConnection 203.0.113.50 -Port 8080
# From a Linux / macOS machine
nc -zv 203.0.113.50 8080
ping 203.0.113.50Проверьте, что программа слушает порт (шаг 6) и не привязана к 127.0.0.1, нет ли правила блокировки на тот же порт, правильный ли протокол (TCP или UDP) и не фильтрует ли порт ваша локальная сеть. Дополнительные проверки — в инструкции «Нет сети в Windows».
Не рекомендуем: SMB, RPC и другие системные службы окажутся открыты для сканеров. Оставьте брандмауэр включённым и открывайте только нужные порты.
Да. Сначала разрешите новый порт, затем перезапустите службу удалённых рабочих столов. Подробнее — в инструкции «Смена порта RDP в Windows».
Если проблема не решена, создайте тикет — техподдержка IMIDC работает 24/7. Укажите IP сервера, версию ОС, выполненные команды и приложите скриншот ошибки, чтобы мы быстрее нашли причину.