Je wilt een gameserver hosten vanaf je eigen computer, je hebt port forwarding ingesteld in je router, maar niemand kan verbinden. Port forwarding is een van die dingen die in theorie simpel zijn, maar in de praktijk op tientallen manieren kunnen falen. Dit artikel helpt je systematisch het probleem op te sporen en op te lossen.
Wat is port forwarding?
Je thuisnetwerk zit achter een router die NAT (Network Address Translation) gebruikt. Alle apparaten delen een enkel publiek IP-adres. Wanneer iemand van buiten verbinding wil maken met je gameserver, weet de router niet naar welk intern apparaat het verkeer moet. Port forwarding vertelt de router: "stuur al het verkeer op poort X door naar intern apparaat Y op poort Z." Zonder deze regel komt het verkeer niet verder dan je router.
Veelvoorkomende problemen
- Verkeerd lokaal IP-adres: je hebt het verkeer doorgestuurd naar 192.168.1.10, maar je computer heeft inmiddels 192.168.1.15 gekregen via DHCP. Stel een vast (statisch) lokaal IP in voor je server-computer, zodat het adres niet verandert na een herstart.
- Poort komt niet overeen: je hebt poort 25565 geopend in de router, maar je gameserver draait op poort 25566. Controleer in de serverconfiguratie op welke poort de server luistert en zorg dat de forwarding-regel dezelfde poort gebruikt.
- Dubbele NAT of CGNAT: als je een extra router hebt (bijvoorbeeld van je ISP en een eigen router), zit je achter twee NAT-lagen. Port forwarding op de binnenste router werkt dan niet, omdat de buitenste router het verkeer al blokkeert. Bij CGNAT (Carrier-Grade NAT) deelt je ISP een publiek IP met meerdere klanten, waardoor port forwarding onmogelijk is.
- Firewall blokkeert nog steeds: je hebt port forwarding ingesteld, maar de Windows Firewall of een andere softwarefirewall op je computer blokkeert de poort alsnog. De router stuurt het verkeer door, maar je computer weigert het.
- ISP blokkeert poorten: sommige ISP's blokkeren bepaalde poorten (vooral poort 80, 443 en soms gamepoorten) op consumentenabonnementen. Je port forwarding is dan correct ingesteld, maar het verkeer komt niet door bij de ISP.
- Router slaat regels niet op: sommige routers (vooral die van ISP's) hebben firmware-bugs waardoor port forwarding regels verdwijnen na een herstart. Controleer na een routerherstart of de regels er nog staan.
- UPnP-conflicten: Universal Plug and Play laat software automatisch poorten openen. Soms botst een automatische UPnP-regel met je handmatige regel, of opent een ander programma dezelfde poort. Schakel UPnP uit als je handmatige regels hebt ingesteld.
Stapsgewijze troubleshooting
1. Controleer je lokale IP
Open een terminal en typ ipconfig (Windows) of ip a (Linux). Noteer je IPv4-adres (bijvoorbeeld 192.168.1.10). Dit moet exact overeenkomen met het adres in je port forwarding regel. Stel een statisch IP in via je routerinstellingen of je netwerkconfiguratie.
2. Check de vereiste poorten van je game
Elke game gebruikt andere poorten en protocollen. Minecraft Java: TCP 25565. Minecraft Bedrock: UDP 19132. FiveM: TCP 30120 en UDP 30120. ARK: UDP 7777 en UDP 27015. Controleer of je zowel het juiste poortnummer als het juiste protocol (TCP, UDP of beide) hebt ingesteld.
3. Test of de poort open is
Gebruik een online port checker (zoals canyouseeme.org) terwijl je gameserver draait. De server moet actief luisteren op de poort, anders toont de checker hem als gesloten, ook als de forwarding correct is. Start dus eerst de server, dan pas de check.
4. Controleer op CGNAT
Vergelijk je publieke IP (zoek "what is my ip" op Google) met het WAN-IP in je router. Als ze verschillen, zit je achter CGNAT en is port forwarding niet mogelijk. Neem contact op met je ISP om een eigen publiek IP aan te vragen, of gebruik een gehostede server.
5. Schakel conflicterende firewalls uit
Test tijdelijk met je softwarefirewall uitgeschakeld. Als de verbinding dan wel werkt, voeg een regel toe die het verkeer op de juiste poort toestaat. Vergeet niet de firewall weer in te schakelen na het testen.
6. Probeer DMZ als laatste test
Stel je servercomputer tijdelijk in als DMZ-host in je router. Dit stuurt al het inkomende verkeer naar dat apparaat. Als het dan werkt, weet je dat het probleem in je port forwarding regels zit. Schakel DMZ daarna weer uit en corrigeer je regels, want DMZ opent alle poorten en is onveilig als permanente oplossing.
Geen zin in port forwarding gedoe? Bij een gehostede gameserver regelt de host het netwerk voor je. Je server is direct bereikbaar zonder dat je je router hoeft aan te raken. HostValues servers hebben vaste IP-adressen en open poorten, klaar om te spelen.
Wat is CGNAT en kan ik er omheen?
CGNAT (Carrier-Grade NAT) betekent dat je ISP meerdere klanten achter een gedeeld publiek IP plaatst. Je kunt dan geen poorten openen, omdat je geen controle hebt over de buitenste NAT. Oplossingen zijn: je ISP vragen om een eigen publiek IP (soms gratis, soms een paar euro per maand), een VPN-tunnel gebruiken met port forwarding, of overstappen naar een gehostede server.
Hoe test ik of mijn poort echt open is?
Start je gameserver zodat hij actief luistert op de poort. Ga dan naar een online port checker (canyouseeme.org of portchecker.co) en voer je poortnummer in. De tool probeert verbinding te maken met jouw publieke IP op die poort. "Open" betekent dat alles werkt; "closed" of "timed out" betekent dat het verkeer ergens wordt geblokkeerd.
Moet ik TCP of UDP openzetten?
Dat hangt af van de game. Minecraft Java gebruikt TCP. Minecraft Bedrock en veel andere games (ARK, Rust, Valheim) gebruiken UDP. FiveM gebruikt beide. Als je twijfelt, open dan zowel TCP als UDP voor die poort. Check altijd de documentatie van je specifieke game of serversoftware voor de exacte vereisten.