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 MB не позволява на файла да расте безкрайно.

6. Направете копие и разчистете

Преди голяма промяна запазете всички правила във файл:

netsh advfirewall export C:\fw-backup.wfw

Нашият експорт беше 148 KB. 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 GB, 50 GB, $28/месец) ви дава такъв с всички портове отворени, и тогава решава защитната стена на Windows. Windows-Small струва $11/месец с NAT. И четирите 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 пише дневника на порции.

Коментари

Още няма коментари. Бъди първият.

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

Коментарите се модерират преди да се появят.