Kā atvērt portu Windows ugunsmūrī
Portu Windows ugunsmūrī var atvērt trīs veidos: ar grafisko vedni «Inbound Rules», ar komandu netsh advfirewall vai ar mūsdienīgo PowerShell komandu New-NetFirewallRule. Serveriem ērtāks ir PowerShell — noteikums tiek izveidots vienā rindā. Zemāk visi trīs varianti.
1. veids. Grafiskā saskarne
- Nospiediet
Win + R, ierakstietwf.msc, nospiediet Enter — atvērsies «Windows Defender Firewall with Advanced Security». - Kreisajā pusē izvēlieties Ienākošo savienojumu kārtulas (Inbound Rules) → labajā pusē Jauna kārtula (New Rule).
- Kārtulas tips — Ports (Port) → Tālāk.
- Izvēlieties TCP (vai UDP), norādiet portu, piemēram
443→ Tālāk. - Atļaut savienojumu (Allow the connection) → Tālāk.
- Atzīmējiet profilus (Domain, Private, Public) → Tālāk.
- Piešķiriet kārtulai nosaukumu, piemēram «Open 443 HTTPS» → Pabeigt.
2. veids. PowerShell (ieteicamais)
Atveriet PowerShell ar administratora tiesībām.
Atvērt TCP portu
New-NetFirewallRule -DisplayName "Open 443 HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
Atvērt UDP portu
New-NetFirewallRule -DisplayName "Open 53 DNS" -Direction Inbound -Protocol UDP -LocalPort 53 -Action Allow
Atvērt diapazonu un vairākus portus
New-NetFirewallRule -DisplayName "Open App Ports" -Direction Inbound -Protocol TCP -LocalPort 8000-8010 -Action Allow
Atļaut portu tikai no konkrētas IP adreses
New-NetFirewallRule -DisplayName "SQL from office" -Direction Inbound -Protocol TCP -LocalPort 1433 -RemoteAddress 203.0.113.5 -Action Allow
3. veids. netsh (klasiskā komanda)
Darbojas visās Windows Server versijās, arī vecajās:
netsh advfirewall firewall add rule name="Open 443 HTTPS" dir=in action=allow protocol=TCP localport=443
Kārtulu pārvaldība PowerShell vidē
Apskatīt izveidoto kārtulu:
Get-NetFirewallRule -DisplayName "Open 443 HTTPS"
Dzēst kārtulu:
Remove-NetFirewallRule -DisplayName "Open 443 HTTPS"
New-NetFirewallRule parametri
| Parametrs | Nozīme |
|---|---|
-DisplayName |
kārtulas nosaukums |
-Direction |
Inbound (ienākošie) / Outbound |
-Protocol |
TCP vai UDP |
-LocalPort |
ports vai diapazons |
-RemoteAddress |
ierobežojums pēc avota |
-Action |
Allow / Block |
Visu kārtulu un profilu apskate
Lai redzētu tikai ieslēgtās atļaujošās kārtulas ienākošajiem savienojumiem:
Get-NetFirewallRule -Direction Inbound -Action Allow -Enabled True |
Select-Object DisplayName, Profile
Pārbaudīt ugunsmūra vispārējo stāvokli pa profiliem:
Get-NetFirewallProfile | Format-Table Name, Enabled
Publiskā serverī parasti ir aktīvs profils Public — jaunajām kārtulām jādarbojas tieši tajā.
Kārtulas īslaicīga atslēgšana
Reizēm kārtula nav jādzēš, bet uz laiku jāizslēdz — piemēram, diagnostikas laikā:
Disable-NetFirewallRule -DisplayName "Open 443 HTTPS"
Enable-NetFirewallRule -DisplayName "Open 443 HTTPS"
Tā jūs saglabājat kārtulu un viegli atgriežat to bez atkārtotas izveides.
Pieejamības pārbaude
Lokāli pārbaudiet, ka serviss klausās uz porta:
Get-NetTCPConnection -LocalPort 443 -State Listen
No ārpuses pārbaudiet no cita resursdatora:
Test-NetConnection -ComputerName 203.0.113.10 -Port 443
Biežākie jautājumi
Kārtula izveidota, bet ports no ārpuses nav pieejams — kāpēc?
Vai nu serviss neklausās uz porta, vai bloķē pakalpojumu sniedzēja ārējais ugunsmūris (security group VPS panelī). Pārbaudiet Get-NetTCPConnection un tīkla noteikumus vadības panelī.
netsh vai New-NetFirewallRule — ko izvēlēties?
Mūsdienu Windows Server versijās izmantojiet PowerShell (New-NetFirewallRule) — tas ir elastīgāks. netsh atstājiet saderībai ar vecām sistēmām.
Kas ir profili Domain, Private un Public? Tie ir noteikumu kopumi dažādiem tīkla tipiem. Publiskā serverī ir aktīvs profils Public — pārliecinieties, ka kārtula attiecas uz to.
Kā atvērt portu konkrētai programmai, nevis portam?
Izveidojiet kārtulu pēc programmas: New-NetFirewallRule -Program "C:\app\srv.exe" -Direction Inbound -Action Allow.
Vai pēc izmaiņām ugunsmūris jāpārstartē? Nē, kārtulas sāk darboties uzreiz pēc izveides.
Nepieciešams Windows serveris ar pilnu piekļuvi ugunsmūra iestatījumiem? Izvietojiet VPS ar Windows sadaļā VPS noma vai pasūtiet serveru administrēšanu.