Kaip atidaryti prievadą Windows ugniasienėje

Prievadą (portą) Windows ugniasienėje (užkardoje) galima atidaryti trimis būdais: per grafinį „Inbound Rules“ vediklį, komanda netsh advfirewall arba šiuolaikine PowerShell komanda New-NetFirewallRule. Serveriams patogesnis PowerShell — taisyklė sukuriama viena eilute. Toliau visi trys variantai.

1 būdas. Grafinė sąsaja

  1. Paspauskite Win + R, įveskite wf.msc, spauskite Enter — atsidarys „Windows Defender Firewall with Advanced Security“.
  2. Kairėje pasirinkite Inbound Rules → dešinėje New Rule.
  3. Taisyklės tipas — Port → Next.
  4. Pasirinkite TCP (arba UDP), nurodykite prievadą, pavyzdžiui 443 → Next.
  5. Allow the connection → Next.
  6. Pažymėkite profilius (Domain, Private, Public) → Next.
  7. Įrašykite taisyklės pavadinimą, pavyzdžiui „Open 443 HTTPS“ → Finish.

2 būdas. PowerShell (rekomenduojama)

Atidarykite PowerShell administratoriaus teisėmis.

Atidaryti TCP prievadą

New-NetFirewallRule -DisplayName "Open 443 HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow

Atidaryti UDP prievadą

New-NetFirewallRule -DisplayName "Open 53 DNS" -Direction Inbound -Protocol UDP -LocalPort 53 -Action Allow

Atidaryti diapazoną ir kelis prievadus

New-NetFirewallRule -DisplayName "Open App Ports" -Direction Inbound -Protocol TCP -LocalPort 8000-8010 -Action Allow

Leisti prievadą tik iš konkretaus IP

New-NetFirewallRule -DisplayName "SQL from office" -Direction Inbound -Protocol TCP -LocalPort 1433 -RemoteAddress 203.0.113.5 -Action Allow

3 būdas. netsh (klasikinė komanda)

Veikia visose Windows Server versijose, taip pat ir senose:

netsh advfirewall firewall add rule name="Open 443 HTTPS" dir=in action=allow protocol=TCP localport=443

Taisyklių valdymas PowerShell aplinkoje

Peržiūrėti sukurtą taisyklę:

Get-NetFirewallRule -DisplayName "Open 443 HTTPS"

Pašalinti taisyklę:

Remove-NetFirewallRule -DisplayName "Open 443 HTTPS"

New-NetFirewallRule parametrai

Parametras Paskirtis
-DisplayName taisyklės pavadinimas
-Direction Inbound (gaunamieji) / Outbound
-Protocol TCP arba UDP
-LocalPort prievadas arba diapazonas
-RemoteAddress ribojimas pagal šaltinį
-Action Allow / Block

Visų taisyklių ir profilių peržiūra

Kad pamatytumėte tik įjungtas leidžiančias gaunamųjų ryšių taisykles:

Get-NetFirewallRule -Direction Inbound -Action Allow -Enabled True |
    Select-Object DisplayName, Profile

Patikrinti bendrą ugniasienės būseną pagal profilius:

Get-NetFirewallProfile | Format-Table Name, Enabled

Viešame serveryje paprastai aktyvus Public profilis — naujos taisyklės turi galioti būtent jam.

Laikinas taisyklės išjungimas

Kartais taisyklės nereikia šalinti, o tik laikinai išjungti — pavyzdžiui, diagnostikos metu:

Disable-NetFirewallRule -DisplayName "Open 443 HTTPS"
Enable-NetFirewallRule -DisplayName "Open 443 HTTPS"

Taip išsaugote taisyklę ir lengvai ją grąžinate nekurdami iš naujo.

Pasiekiamumo patikra

Vietoje patikrinkite, ar tarnyba klauso prievado:

Get-NetTCPConnection -LocalPort 443 -State Listen

Iš išorės patikrinkite iš kito kompiuterio:

Test-NetConnection -ComputerName 203.0.113.10 -Port 443

Dažni klausimai

Taisyklė sukurta, bet prievadas iš išorės nepasiekiamas — kodėl? Arba tarnyba neklauso prievado, arba blokuoja išorinė tiekėjo ugniasienė (saugumo grupė VPS skyde). Patikrinkite Get-NetTCPConnection ir tinklo taisykles valdymo skyde.

netsh ar New-NetFirewallRule — ką pasirinkti? Šiuolaikinėse Windows Server versijose naudokite PowerShell (New-NetFirewallRule) — jis lankstesnis. netsh palikite suderinamumui su senomis sistemomis.

Kas yra Domain/Private/Public profiliai? Tai taisyklių rinkiniai skirtingiems tinklo tipams. Viešame serveryje aktyvus Public profilis — įsitikinkite, kad taisyklė galioja jam.

Kaip atidaryti prieigą konkrečiai programai, o ne prievadui? Sukurkite taisyklę pagal programą: New-NetFirewallRule -Program "C:\app\srv.exe" -Direction Inbound -Action Allow.

Ar reikia perkrauti ugniasienę po pakeitimų? Ne, taisyklės pritaikomos iš karto po sukūrimo.

Reikia Windows serverio su visiška ugniasienės nustatymų prieiga? Paleiskite VPS su Windows skiltyje VPS nuoma arba užsakykite Serverių administravimą.

Roman Sokolov