So richten Sie Portweiterleitung in Windows ein

Die Einrichtung von Portweiterleitung unter Windows mag einfach erscheinen, doch es gibt erstaunlich viele kleine Tücken. Vielleicht möchten Sie einen Dienst im Internet zugänglich machen oder einfach nur den lokalen Datenverkehr zwischen Ports umleiten – die in Windows integrierten Tools sind dafür eine gute Option. Der Befehl `netsh interface portproxy` ist oft die erste Wahl, da er mit nahezu allen Windows-Versionen funktioniert – von XP bis zum neuesten Windows 11. Das ist besonders praktisch, wenn Sie sich noch nicht mit komplexen Serverkonfigurationen oder Drittanbieteranwendungen auseinandersetzen möchten.

Eine der größten Herausforderungen besteht darin, sicherzustellen, dass alle Voraussetzungen erfüllt sind – beispielsweise, dass der IP-Helper -Dienst läuft und IPv6 aktiviert ist. Andernfalls reagiert Portproxy möglicherweise gar nicht. Beachten Sie außerdem, dass diese Regeln auch nach einem Neustart erhalten bleiben. Sie können sie also einmal einrichten und dann vergessen … oder zumindest sicher sein, dass Ihre Konfiguration Neustarts übersteht.

Wie aktiviere ich Portweiterleitung unter Windows mit Netsh Portproxy?

So erstellen Sie die grundlegende Portweiterleitungsregel

  • Öffnen Sie eine Eingabeaufforderung mit Administratorrechten. Sie benötigen erhöhte Berechtigungen, sonst wird der Befehl nicht ausgeführt.
  • Prüfen Sie, ob der gewünschte Port bereits von einer anderen Anwendung belegt ist. Führen Sie dazu folgenden Befehl aus: [Befehl einfügen netstat -na | find "3340"].Wenn der Port nicht aufgeführt ist, ist alles in Ordnung. Alternativ können Sie dies auch mit dem Befehl `powershell` überprüfen Test-NetConnection -ComputerName localhost -Port 3340.
  • Stellen Sie sicher, dass der IP-Hilfsdienst ausgeführt wird – suchen Sie im Startmenü nach „Dienste“, suchen Sie nach „IP-Hilfsdienst“ und starten Sie ihn gegebenenfalls. Alternativ können Sie in PowerShell folgenden Befehl ausführen: Get-Service iphlpsvc.
  • Ermitteln Sie Ihre aktuelle IP-Adresse, wenn Sie eine lokale Umleitung durchführen – öffnen Sie PowerShell und führen Sie folgenden Befehl aus: ipconfig. Verwenden Sie diese IP-Adresse im nächsten Befehl.
  • Erstellen Sie nun die Portweiterleitungsregel mit folgendem Befehl:
netsh interface portproxy add v4tov4 listenport=3340 listenaddress=10.1.1.110 connectport=3389 connectaddress=10.1.1.110

Ersetzen Sie 10.1.1.110 durch Ihre tatsächliche IP-Adresse. Dieser Befehl leitet eingehenden Datenverkehr von Port 3340 auf Port 3389 derselben lokalen IP-Adresse um. Ganz einfach, aber denken Sie daran, dass der Listenport nicht mit anderen Diensten in Konflikt stehen sollte.

So überprüfen Sie, ob die Regel aktiv ist

  • Ausführen: netstat -ano | findstr :3340– Wenn der Port als aktiv angezeigt wird, ist alles in Ordnung! Andernfalls stellen Sie sicher, dass iphlpsvc ausgeführt wird und IPv6-Unterstützung auf Ihrem Netzwerkadapter aktiviert ist (prüfen Sie dies in den Adaptereinstellungen).

Was nach der Einrichtung zu erwarten ist

Diese Regel bleibt auch nach einem Neustart aktiv und wird in der Registrierung gespeichert. Sollten die Regeln jedoch verschwinden, laufen möglicherweise ungewöhnliche Bereinigungsskripte auf Ihrem Server oder Sie haben die Regeln nicht korrekt konfiguriert. Bei einer Konfiguration wurden durch einen Neustart in Server 2012 R2 einige Regeln gelöscht. Daher habe ich ein Batch-Skript erstellt, das diesen Befehl beim Systemstart mithilfe der Aufgabenplanung ausführt. Nicht gerade elegant, aber es funktioniert.

Konfigurieren von Firewall-Regeln für den Portweiterleitungsmodus in Windows

Den Zuhörerport zugänglich machen

  • Um eingehende Verbindungen auf Port 3340 zuzulassen, benötigen Sie eine Firewall-Regel. Dies können Sie über die Befehlszeile tun:
netsh advfirewall firewall add rule name="forwarded_RDPport_3340" protocol=TCP dir=in localip=10.1.1.110 localport=3340 action=allow

Oder, falls Sie PowerShell bevorzugen:

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

Stellen Sie sicher, dass Sie den Port öffnen, sonst können entfernte Clients Ihren weitergeleiteten Dienst nicht erreichen. Und denken Sie daran: Wenn Sie diese Regel später entfernen möchten, führen Sie folgenden Befehl aus:

netsh advfirewall firewall del rule name="forwarded_RDPport_3340"

oder

Remove-NetFirewallRule -Name "forwarder_RDP_3340"

Verwaltung und Fehlerbehebung von Portproxy-Regeln

Wie man die aktuellen Regeln auflistet

  • Führen Sie den Befehl aus netsh interface portproxy show all– Sie sehen dann alle konfigurierten Regeln. Für einen Rohdatenauszug versuchen Sie Folgendes: netsh interface portproxy dump.
  • Manchmal gehen Regeln nach einem Neustart verloren, insbesondere auf manchen Servern. Um dies zu verhindern, empfiehlt es sich, die netsh-Befehle in ein Startskript oder eine geplante Aufgabe einzufügen.

Wie man Regeln ändert oder entfernt

  • Um eine bestehende Regel zu aktualisieren, verwenden Sie: netsh interface portproxy set v4tov4 listenport=3340 listenaddress=10.1.1.110 connectport=3390 connectaddress=10.1.1.110
  • Um eine Regel zu löschen, führen Sie Folgendes aus: netsh interface portproxy delete v4tov4 listenport=3340 listenaddress=10.1.1.110
  • Um alle Regeln auf einmal zu löschen, gehen Sie einfach wie folgt vor: netsh interface portproxy reset. Beachten Sie jedoch, dass dadurch alles gelöscht wird.

Zusätzliche Hinweise: Weiterleitung an entfernte IPs oder andere Netzwerke

Wenn Sie den Datenverkehr auf einen anderen Rechner umleiten möchten, ändern Sie einfach connectaddress in die Remote-IP-Adresse:

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

Dadurch fungiert Ihr Rechner quasi als Relay. Beachten Sie jedoch, dass Portproxy kein UDP unterstützt und Quell-IPs nicht unterscheiden kann – der gesamte eingehende Datenverkehr scheint also von Ihrem Host zu kommen. Für eine erweiterte oder quellbasierte Weiterleitung benötigen Sie Firewall-Geräte oder Hyper-V-NAT-Regeln.

Bei Hyper-V-Setups können Sie auch NAT- und Portweiterleitungsregeln mit PowerShell-Befehlen einrichten, aber das ist eine ganz andere Geschichte. Dazu müssen Sie Ihren Switch erstellen, statische IPs festlegen und dann verwenden Add-NetNatStaticMapping.

Egal welchen Ansatz Sie wählen, denken Sie daran: Portweiterleitung einzurichten ist nicht sonderlich kompliziert, erfordert aber etwas Aufmerksamkeit für Details wie Portkonflikte, Dienststatus und Firewall-Regeln. Sollte das nicht helfen, behebt ein Blick auf Ihre Netzwerkschnittstellen und die korrekte Ausführung aller benötigten Dienste das Problem meist.

Hoffentlich erspart Ihnen das einige Stunden des Ausprobierens und Irrtums und sorgt dafür, dass Ihre Portweiterleitung ohne großen Aufwand funktioniert.

Zusammenfassung

  • Prüfen Sie, ob der Port nicht bereits verwendet wird, bevor Sie neue Regeln erstellen.
  • Stellen Sie sicher, dass der IP-Helper-Dienst ausgeführt wird.
  • Dient netsh interface portproxy addzum Einrichten der Weiterleitung.
  • Öffnen Sie die erforderlichen Ports in der Windows-Firewall.
  • Listen Sie Regeln auf netsh interface portproxy show allund verwalten Sie diese nach Bedarf.

Zusammenfassung

Die Portweiterleitung mit den Windows-eigenen Tools zu konfigurieren ist zwar nicht perfekt, aber recht praktisch und funktioniert in allen Editionen. Behalten Sie einfach die Dienste, Ports und Firewall-Regeln im Auge, dann sollten Sie den Datenverkehr an den gewünschten Ort umleiten können. Falls es immer noch nicht funktioniert, überprüfen Sie Ihre IP-Adressen und starten Sie den Computer gegebenenfalls neu, um zu sehen, ob die Regeln beibehalten werden. Manchmal helfen ein wenig Geduld und ein wenig Herumprobieren in der Kommandozeile, solche Netzwerkprobleme zu beheben. Und wenn dadurch auch nur ein System reibungslos funktioniert, ist das doch schon ein Erfolg, oder?