Как открыть порт в брандмауэре Windows: GUI и PowerShell
Открыть порт в брандмауэре Windows можно тремя способами: через графический мастер «Правила для входящих подключений», командой netsh advfirewall или современной командой PowerShell New-NetFirewallRule. Для серверов удобнее PowerShell — правило создаётся одной строкой. Ниже все три варианта.
Способ 1. Графический интерфейс
- Нажмите
Win + R, введитеwf.msc, нажмите Enter — откроется «Брандмауэр Защитника Windows в режиме повышенной безопасности». - Слева выберите Правила для входящих подключений → справа Создать правило.
- Тип правила — Для порта → Далее.
- Выберите TCP (или UDP), укажите порт, например
443→ Далее. - Разрешить подключение → Далее.
- Отметьте профили (Домен, Частный, Публичный) → Далее.
- Задайте имя правила, например «Open 443 HTTPS» → Готово.
Способ 2. PowerShell (рекомендуется)
Откройте PowerShell от имени администратора.
Открыть TCP-порт
New-NetFirewallRule -DisplayName "Open 443 HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
Открыть UDP-порт
New-NetFirewallRule -DisplayName "Open 53 DNS" -Direction Inbound -Protocol UDP -LocalPort 53 -Action Allow
Открыть диапазон и несколько портов
New-NetFirewallRule -DisplayName "Open App Ports" -Direction Inbound -Protocol TCP -LocalPort 8000-8010 -Action Allow
Разрешить порт только с конкретного IP
New-NetFirewallRule -DisplayName "SQL from office" -Direction Inbound -Protocol TCP -LocalPort 1433 -RemoteAddress 203.0.113.5 -Action Allow
Способ 3. netsh (классическая команда)
Работает во всех версиях Windows Server, в том числе старых:
netsh advfirewall firewall add rule name="Open 443 HTTPS" dir=in action=allow protocol=TCP localport=443
Управление правилами в PowerShell
Посмотреть созданное правило:
Get-NetFirewallRule -DisplayName "Open 443 HTTPS"
Удалить правило:
Remove-NetFirewallRule -DisplayName "Open 443 HTTPS"
Параметры New-NetFirewallRule
| Параметр | Назначение |
|---|---|
-DisplayName |
имя правила |
-Direction |
Inbound (входящие) / Outbound |
-Protocol |
TCP или UDP |
-LocalPort |
порт или диапазон |
-RemoteAddress |
ограничение по источнику |
-Action |
Allow / Block |
Просмотр всех правил и профилей
Чтобы увидеть только включённые разрешающие правила для входящих подключений:
Get-NetFirewallRule -Direction Inbound -Action Allow -Enabled True |
Select-Object DisplayName, Profile
Проверить общее состояние брандмауэра по профилям:
Get-NetFirewallProfile | Format-Table Name, Enabled
На публичном сервере профиль Public обычно активен — новые правила должны действовать именно на нём.
Временное отключение правила
Иногда правило нужно не удалять, а временно выключить — например, при диагностике:
Disable-NetFirewallRule -DisplayName "Open 443 HTTPS"
Enable-NetFirewallRule -DisplayName "Open 443 HTTPS"
Так вы сохраняете правило и легко возвращаете его без повторного создания.
Проверка доступности
Локально проверьте, что служба слушает порт:
Get-NetTCPConnection -LocalPort 443 -State Listen
Снаружи проверьте с другого хоста:
Test-NetConnection -ComputerName 203.0.113.10 -Port 443
Частые вопросы
Правило создано, но порт снаружи недоступен — почему?
Либо служба не слушает порт, либо блокирует внешний фаервол провайдера (security group в панели VPS). Проверьте Get-NetTCPConnection и сетевые правила в панели управления.
netsh или New-NetFirewallRule — что выбрать?
На современных Windows Server используйте PowerShell (New-NetFirewallRule) — он гибче. netsh оставьте для совместимости со старыми системами.
Что такое профили Домен/Частный/Публичный? Это наборы правил для разных типов сети. На публичном сервере активен профиль Public — убедитесь, что правило распространяется на него.
Как открыть порт для конкретной программы, а не порта?
Создайте правило по программе: New-NetFirewallRule -Program "C:\app\srv.exe" -Direction Inbound -Action Allow.
Нужно ли перезапускать брандмауэр после изменений? Нет, правила применяются сразу после создания.
Нужен Windows-сервер с полным доступом к настройкам брандмауэра? Разверните VPS на Windows в разделе аренда VPS или закажите Администрирование серверов.
