Hoe stel ik poortforwarding in Windows in?

Het instellen van port forwarding op Windows lijkt misschien eenvoudig, maar het is best vreemd hoeveel kleine eigenaardigheden er zijn. Misschien wilt u een service beschikbaar maken voor internet of gewoon lokaal verkeer tussen poorten omleiden, en de ingebouwde tools van Windows zijn dan een prima optie. De opdracht `netsh interface portproxy` wordt vaak gebruikt omdat deze werkt op vrijwel alle Windows-versies, van XP tot de nieuwste Windows 11. Dat is erg handig, vooral als u nog niet klaar bent om u te verdiepen in uitgebreide serverconfiguraties of applicaties van derden.

Een van de grootste problemen is ervoor zorgen dat aan alle voorwaarden is voldaan, zoals het inschakelen van de IP Helper- service en IPv6-ondersteuning. Zonder deze voorwaarden kan portproxy simpelweg niet werken. Houd er ook rekening mee dat deze regels na een herstart behouden blijven, zodat u ze kunt instellen en er verder geen omkijken naar hebt…of in ieder geval zeker weet dat uw configuratie na een herstart blijft werken.

Hoe schakel ik poortforwarding in op Windows met Netsh Portproxy?

Hoe maak je een basisregel voor port forwarding aan?

  • Open een opdrachtprompt met beheerdersrechten. U hebt verhoogde bevoegdheden nodig, anders wordt de opdracht niet uitgevoerd.
  • Controleer of de poort die u wilt gebruiken niet al door een andere app in gebruik is. Voer het volgende commando uit: ` netstat -na | find "3340".`.Als de poort niet in de lijst staat, is alles in orde. U kunt dit ook controleren met het PowerShell-commando `.` Test-NetConnection -ComputerName localhost -Port 3340.
  • Zorg ervoor dat de IP Helper -service actief is. Zoek in het startmenu naar ‘Services’, zoek naar ‘IP Helper’ en start deze indien nodig. Of voer in PowerShell het volgende commando uit: Get-Service iphlpsvc.
  • Bepaal je huidige IP-adres als je een lokale omleiding uitvoert — open PowerShell en voer het volgende commando uit: ipconfig. Gebruik dat IP-adres in het volgende commando.
  • Maak nu de port forwarding-regel aan met:
netsh interface portproxy add v4tov4 listenport=3340 listenaddress=10.1.1.110 connectport=3389 connectaddress=10.1.1.110

Vervang 10.1.1.110 door uw daadwerkelijke IP-adres. Deze opdracht leidt inkomend verkeer op poort 3340 om naar poort 3389 op hetzelfde lokale IP-adres. Simpel genoeg, maar onthoud dat de luisterpoort geen conflicten mag veroorzaken met andere services.

Hoe controleer ik of de regel actief is?

  • Uitvoeren: netstat -ano | findstr :3340— als je ziet dat de poort luistert, prima! Zo niet, zorg er dan voor dat iphlpsvc actief is en dat IPv6-ondersteuning is ingeschakeld op je netwerkadapter (controleer dit in de adapterinstellingen).

Wat kunt u verwachten na de installatie?

Deze regel blijft actief, zelfs na een herstart, omdat hij in het register wordt opgeslagen. Maar als de regels verdwijnen, kan het zijn dat er vreemde opschoonscripts op uw server draaien of dat u de regels niet correct hebt ingesteld. In één configuratie werden na een herstart enkele regels in Server 2012 R2 gewist, dus heb ik een batchscript gemaakt om deze opdracht bij het opstarten uit te voeren met Taakplanner. Niet bepaald elegant, maar het werkt.

Firewallregels configureren voor poortdoorsturing in Windows

De luisterpoort toegankelijk maken

  • Om inkomende verbindingen op poort 3340 toe te staan, hebt u een firewallregel nodig. U kunt dit via de commandoregel doen:
netsh advfirewall firewall add rule name="forwarded_RDPport_3340" protocol=TCP dir=in localip=10.1.1.110 localport=3340 action=allow

Of, als je liever PowerShell gebruikt:

New-NetFirewallRule -DisplayName "forwarder_RDP_3340" -Direction Inbound -Protocol TCP -LocalPort 3340 -Action Allow

Zorg ervoor dat de poort openstaat, anders kunnen externe clients uw doorgestuurde service niet bereiken. Vergeet niet dat als u deze regel later wilt verwijderen, u het volgende commando moet uitvoeren:

netsh advfirewall firewall del rule name="forwarded_RDPport_3340"

of

Remove-NetFirewallRule -Name "forwarder_RDP_3340"

Portproxy-regels beheren en problemen oplossen

Hoe de huidige regels weer te geven

  • Voer het commando uit netsh interface portproxy show all— je ziet dan alle geconfigureerde regels. Als je een onbewerkte dump wilt, probeer dan: netsh interface portproxy dump.
  • Soms verdwijnen regels na een herstart, vooral op sommige servers. Om dat te voorkomen, is het handig om je netsh-opdrachten toe te voegen aan een opstartscript of geplande taak.

Hoe regels te wijzigen of te verwijderen

  • Om een ​​bestaande regel bij te werken, gebruikt u: netsh interface portproxy set v4tov4 listenport=3340 listenaddress=10.1.1.110 connectport=3390 connectaddress=10.1.1.110
  • Om een ​​regel te verwijderen, voert u het volgende commando uit: netsh interface portproxy delete v4tov4 listenport=3340 listenaddress=10.1.1.110
  • Om alle regels in één keer te wissen, doe je het volgende: netsh interface portproxy reset. Houd er wel rekening mee dat hiermee alles wordt gewist.

Aanvullende opmerkingen: doorsturen naar externe IP-adressen of andere netwerken

Als u het verkeer naar een andere machine wilt omleiden, hoeft u alleen maar het verbindingsadres te wijzigen in het IP-adres van de externe machine:

netsh interface portproxy add v4tov4 listenport=3389 listenaddress=0.0.0.0 connectport=3389 connectaddress=192.168.100.101

Hierdoor fungeert uw machine als een doorgeefluik. Houd er echter rekening mee dat portproxy geen UDP ondersteunt en geen onderscheid kan maken tussen bron-IP-adressen. Al het inkomende verkeer lijkt dus afkomstig te zijn van uw host. Voor geavanceerdere of bronbewuste doorsturing moet u kijken naar firewalls of NAT-regels in Hyper-V.

Voor Hyper-V-configuraties kunt u ook NAT- en port forwarding-regels instellen met PowerShell-opdrachten, maar dat is een heel ander verhaal. Het houdt in dat u uw switch aanmaakt, statische IP-adressen instelt en vervolgens de benodigde commando’s gebruikt Add-NetNatStaticMapping.

Welke aanpak je ook kiest, onthoud dit: het instellen van port forwarding is niet super ingewikkeld, maar het vereist wel aandacht voor kleine details, zoals poortconflicten, servicestatussen en firewallregels. Als dat niet helpt, lost het controleren van je netwerkinterfaces en ervoor zorgen dat alle benodigde services actief zijn het probleem meestal op.

Hopelijk bespaart dit je een paar uur aan uitproberen en krijg je je port forwarding zonder al te veel gedoe aan de praat.

Samenvatting

  • Controleer of de poort niet al in gebruik is voordat u nieuwe regels aanmaakt.
  • Zorg ervoor dat de IP Helper-service actief is.
  • Gebruik dit netsh interface portproxy addom doorsturen in te stellen.
  • Open de benodigde poorten in de Windows Firewall.
  • Stel regels op netsh interface portproxy show allen beheer ze naar behoefte.

Samenvatting

Het configureren van port forwarding met de ingebouwde tools van Windows is niet perfect, maar het is wel erg handig en werkt op alle edities. Houd de services, poorten en firewallregels goed in de gaten, en je zou het verkeer naar de juiste bestemming moeten kunnen omleiden. Als het nog steeds niet werkt, controleer dan je IP-adressen en herstart eventueel je computer om te zien of de regels behouden blijven. Soms helpen een beetje geduld en wat geknoei via de commandoregel om dit soort netwerkproblemen op te lossen. En als dit één configuratie soepel laat werken, is dat al winst, toch?