EQVPS
КабинетНачать

Как настроить брандмауэр Windows на VPS: открыть порт, пустить один IP, увидеть, что блокируется

Открываем порт в Windows Server 2022, ограничиваем его своим IP-адресом, включаем ping, записываем заблокированные подключения и сохраняем правила — всё несколькими командами PowerShell. Каждое правило мы проверили со второй машины, чтобы убедиться, что порт действительно открылся или закрылся.

Windows Server поставляется с включённым брандмауэром, и это правильная настройка по умолчанию: всё, что пытается подключиться снаружи, отклоняется, если правило не разрешает обратное. Менять это придётся, когда вы запустите что-то своё: веб-приложение на порту 8080 или сервис, к которому должен ходить только ваш офис. Эта инструкция делает всё через PowerShell в Windows Server 2022. Каждое правило мы опробовали на нашем образе и проверили со второй машины, так что вы знаете, что порт действительно открывается или закрывается.

Откройте PowerShell от имени администратора. Если ещё не сделали, сначала защитите RDP: та инструкция рассказывает, как ограничить сам удалённый рабочий стол.

1. Посмотрите, что включено

Get-NetFirewallProfile | Format-Table Name, Enabled, DefaultInboundAction, DefaultOutboundAction
Get-NetConnectionProfile | Format-Table InterfaceAlias, NetworkCategory

На нашем свежем сервере все три профиля (Domain, Private, Public) были включены, а сетевой адаптер находился в Public. DefaultInboundAction показывает NotConfigured, то есть стандартное поведение Windows: входящие блокировать, исходящие разрешать. Значит, важны правила для профиля Public.

Чтобы увидеть, что разрешено на вход:

Get-NetFirewallRule -Direction Inbound -Enabled True -Action Allow |
    Group-Object DisplayGroup | Sort-Object Count -Descending |
    Select-Object Count, Name -First 8

Мы насчитали 54 включённых входящих правила. Большинство относится к самой Windows (Core Networking, Cast to Device, mDNS), плюс три правила удалённого рабочего стола. Ping среди них не было.

2. Откройте порт

Допустим, ваше приложение слушает TCP-порт 8080:

New-NetFirewallRule -DisplayName 'Web app 8080' -Direction Inbound `
    -Protocol TCP -LocalPort 8080 -Action Allow

Правило работает с момента создания. Со второй машины порт 8080 из закрытого стал открытым, а порт 8081, на котором тоже слушала программа, остался закрытым. Правило без -Profile действует во всех профилях, включая Public.

Для диапазона или списка используйте -LocalPort 8000-8010 или -LocalPort 80,443. Для UDP поменяйте -Protocol.

3. Пускайте только нужные адреса

Большинству сервисов не нужно принимать весь интернет. Ограничьте правило адресами, которые должны подключаться:

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

Мы проверили оба варианта. С чужим адресом в -RemoteAddress наша тестовая машина больше не могла подключиться. Когда добавили её собственный адрес, смогла. Тот же параметр можно поставить на правила удалённого рабочего стола, чтобы RDP был доступен только из офиса. Если ваш домашний IP часто меняется, подумайте дважды, прежде чем делать так для RDP.

4. Включите ping

Из коробки Windows не отвечает на ping. Правило есть, но выключено:

Enable-NetFirewallRule -DisplayName 'File and Printer Sharing (Echo Request - ICMPv4-In)'

После этого наш сервер сразу начал отвечать на ping. Это нужно системам мониторинга, которые проверяют доступность через ping. Чтобы выключить снова, используйте Disable-NetFirewallRule с тем же именем.

5. Записывайте, что блокируется

Когда что-то не может подключиться и непонятно почему, пусть брандмауэр записывает, что он отбрасывает:

Set-NetFirewallProfile -Profile Public -LogBlocked True -LogMaxSizeKilobytes 4096
Get-Content C:\Windows\System32\LogFiles\Firewall\pfirewall.log -Tail 20

Каждая заблокированная попытка превращается в такую строку:

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

Читается она так: дата и время, действие, протокол, адрес источника, адрес вашего сервера, порт источника, порт назначения. Наберитесь терпения: Windows пишет журнал порциями, и в нашем тесте записи появились примерно через минуту после попыток. Лимит 4 МБ не даёт файлу расти бесконечно.

6. Сохраните правила и наведите порядок

Перед крупным изменением сохраните все правила в файл:

netsh advfirewall export C:\fw-backup.wfw

Наш экспорт занял 148 КБ. netsh advfirewall import C:\fw-backup.wfw возвращает ровно этот набор, заменяя всё, что есть сейчас. Ненужное правило удаляется по имени:

Remove-NetFirewallRule -DisplayName 'Web app 8080'

Если вы закрыли себе доступ

Если правило отрезало ваш собственный удалённый рабочий стол, откройте консоль в личном кабинете. Она работает не через RDP, так что вы сможете войти и выполнить Remove-NetFirewallRule или Set-NetFirewallRule, чтобы всё отменить.

NAT или собственный IP

На тарифах с NAT интернет попадает на ваш сервер через один персональный порт, который ведёт на удалённый рабочий стол. Остальные порты снаружи недоступны, что бы вы ни разрешили в брандмауэре Windows. Чтобы держать сайт или принимать подключения на другие порты, нужен собственный IPv4: Windows Small-IP (4 vCPU, 4 ГБ, 50 ГБ, $28/мес) даёт его со всеми открытыми портами, и тогда решает уже брандмауэр Windows. Windows-Small с NAT стоит $11/мес. Все четыре Windows-тарифа — на странице Windows VPS, оплата в USDT, USDC или ETH в сетях Base, Ethereum или Polygon.

Частые вопросы

Брандмауэр Windows на Windows-VPS включён по умолчанию?

Да. На нашем образе Windows Server 2022 включены все три профиля, сетевой адаптер находится в профиле Public, а входящие подключения блокируются, если их не разрешает правило. Исходящие подключения разрешены.

Почему Windows-сервер не отвечает на ping?

Windows по умолчанию блокирует ping: правило File and Printer Sharing (Echo Request - ICMPv4-In) существует, но выключено. Включите его одной командой PowerShell, и сервер сразу начнёт отвечать.

Я открыл порт в брандмауэре Windows, а из интернета он всё равно закрыт. Почему?

На тарифе с NAT до сервера доходит только ваш персональный порт, и он ведёт на удалённый рабочий стол. Остальные порты из интернета недоступны, что бы ни разрешал брандмауэр. Чтобы держать на Windows сайт или другой сервис, возьмите тариф с собственным IPv4.

Что делать, если я закрыл себе RDP правилом брандмауэра?

Откройте консоль в личном кабинете. Она работает без RDP, поэтому вы сможете войти и исправить или удалить правило. Прежде чем ограничивать RDP одним IP, убедитесь, что ваш адрес не меняется.

Как посмотреть, что блокирует брандмауэр?

Включите журнал отброшенных подключений для профиля Public. Тогда Windows записывает каждую заблокированную попытку в pfirewall.log. В нашем тесте записи появлялись примерно через минуту, потому что Windows пишет журнал порциями.

Комментарии

Пока нет комментариев. Будьте первым.

Оставить комментарий

Комментарии проходят модерацию перед публикацией.