Poorten en firewall

Poorten openen in Windows Server met PowerShell

Inkomend en uitgaand TCP en UDP openzetten in de Windows-firewall met twee regels code, controleren of het goed staat en begrijpen waarom het soms toch niet werkt.

4 min leestijdBijgewerkt op 19 oktober 2026

Zet je een gameserver op een Windows VPS en kan niemand verbinden, dan is de boosdoener bijna altijd dezelfde: de Windows-firewall blokkeert de poort. Hier lees je hoe je die met commando's opent. Dat gaat sneller dan via de menu's en, belangrijker nog, je kunt het foutloos kopiëren en plakken.

Op een VPS hoef je geen router in te stellen. Vergeet de “port forwarding” uit de tutorials: dat is voor servers thuis. Je VPS heeft een eigen publiek IP-adres, dus het enige wat tussen je spelers en je server staat, is de Windows-firewall.

De weg van een speler naar je server: zijn pc, internet, het AntiDDoS-filter, de firewall van de VPS en je server die op zijn poort luistert
Heeft ook maar één van deze stappen de poort niet open, met het juiste protocol, dan komt de speler er niet in.

Open PowerShell als administrator

Maak via Extern bureaublad verbinding met je VPS (hier leggen we uit hoe), klik met de rechtermuisknop op de Startknop en kies Terminal (Admin) of Windows PowerShell (Admin). Staat er geen “Admin” bij, dan mislukken de commando's met een fout over ontbrekende rechten.

Een poort openen: TCP en UDP, inkomend en uitgaand

Dit voorbeeld opent poort 30120; vervang het nummer en de naam door die van jou. Plak het hele blok in één keer:

$poort = 30120
$naam = "Gameserver"

New-NetFirewallRule -DisplayName "$naam TCP $poort (inkomend)" -Direction Inbound  -Protocol TCP -LocalPort $poort -Action Allow -Profile Any
New-NetFirewallRule -DisplayName "$naam UDP $poort (inkomend)" -Direction Inbound  -Protocol UDP -LocalPort $poort -Action Allow -Profile Any
New-NetFirewallRule -DisplayName "$naam TCP $poort (uitgaand)" -Direction Outbound -Protocol TCP -LocalPort $poort -Action Allow -Profile Any
New-NetFirewallRule -DisplayName "$naam UDP $poort (uitgaand)" -Direction Outbound -Protocol UDP -LocalPort $poort -Action Allow -Profile Any

Wat elk onderdeel doet, voor als je het wilt aanpassen:

  • -Direction Inbound is wat van buitenaf binnenkomt (wat je echt nodig hebt) en Outbound wat naar buiten gaat.
  • -Protocol TCP of UDP. Die zijn niet uitwisselbaar. Gebruikt je game UDP en open je alleen TCP, dan komt niemand erin: dat is veruit de meest gemaakte fout.
  • -LocalPort is de poort waarop je server luistert.
  • -Profile Any past de regel toe op alle drie de netwerkprofielen (domein, privé en openbaar). Op een VPS valt de verbinding meestal onder “Public” (openbaar), dus dat is belangrijk.

Zijn de uitgaande regels nodig? Op Windows Server is uitgaand verkeer standaard toegestaan, dus normaal gesproken niet. Ze staan erbij omdat ze geen kwaad kunnen en omdat ze precies zijn wat er ontbrak als iemand de firewall eerder heeft aangescherpt.

Voor een reeks poorten

New-NetFirewallRule -DisplayName "Game UDP 7777-7778 (inkomend)" -Direction Inbound -Protocol UDP -LocalPort 7777-7778 -Action Allow -Profile Any

Een lijst gescheiden door komma's werkt ook: -LocalPort 27015,27020.

Controleren of de regels goed staan

Get-NetFirewallRule -DisplayName "*30120*" | ForEach-Object {
    $f = $_ | Get-NetFirewallPortFilter
    [pscustomobject]@{
        Regel    = $_.DisplayName
        Actief   = $_.Enabled
        Richting = $_.Direction
        Actie    = $_.Action
        Protocol = $f.Protocol
        Poort    = $f.LocalPort
    }
} | Format-Table -AutoSize

Alle vier de regels moeten verschijnen, met Enabled op True en Action op Allow.

Controleren of je server luistert

Een poort openen heeft geen zin als er niets achter luistert. Met de gameserver gestart:

Get-NetTCPConnection -LocalPort 30120 -State Listen
Get-NetUDPEndpoint  -LocalPort 30120

Geven ze niets terug, dan ligt het probleem niet aan de firewall: je server is niet gestart, is gecrasht of is ingesteld op een andere poort. Kijk in de console van de game voordat je verder aan de regels gaat sleutelen.

Een regel verwijderen

Remove-NetFirewallRule -DisplayName "Gameserver TCP 30120 (inkomend)"

Doe je het liever met de muis?

Druk op Win + R, typ wf.msc en druk op Enter. Kies in het linkerdeelvenster Inbound Rules (regels voor binnenkomende verbindingen) → New Rule… (nieuwe regel) in de rechterkolom → Port (poort) → kies TCP of UDP en typ het nummer bij Specific local ports (specifieke lokale poorten) → Allow the connection (de verbinding toestaan) → laat alle drie de profielen aangevinkt → geef de regel een naam en rond af. Herhaal dit voor het andere protocol: een regel geldt altijd voor TCP of UDP, nooit voor allebei.

Het werkt nog steeds niet

Loop het in deze volgorde na; zo sluit je het snelst dingen uit:

  1. Luistert de server? Gebruik de twee commando's hierboven. Dit is veruit de meest voorkomende fout.
  2. Heb je het juiste protocol geopend? De helft van de games draait op UDP. Open TCP én UDP, dan weet je het zeker.
  3. Test je het vanaf de server zelf? Van binnenuit werkt het altijd. Test vanaf een andere verbinding of vraag iemand om te verbinden.
  4. AntiDDoS-filtering. Op de pagina van je dienst, tabblad Beveiliging, staan de netwerkfilters. Heb je zelf filters aangemaakt, controleer dan of de poort en het protocol van je game erin staan.

Schakel nooit de hele firewall uit om “even te testen”. Een VPS met een publiek IP-adres wordt al een paar minuten na het opstarten automatisch gescand. Open de poorten die je nodig hebt en laat de rest dicht.

Gerelateerde artikelen

Terug naar het helpcentrum

Kun je niet vinden wat je zoekt?

Open een ticket in je klantenpaneel en je krijgt binnen 5 minuten antwoord.