Für die Freigabe bestimmter Dienste, wie z. B. einen Webserver hinter einer Firewall, wird eine Weiterleitung der Ports von der öffentlichen IP an die interne IP des Servers benötigt. In diesem Fall vermutlich die Ports 80 und 443. Diese typische Aufgabe des Port Forwardings übernimmt normalerweise ein Router bzw. eine Firewall. Mithilfe des Kommandozeilen-Tools netsh lässt sich eine entsprechende Regel aber sogar unter Windows anlegen. Somit lässt sich ein beliebiger Port unter der IP-Adresse des Windows-Rechners an einen belieibigen Port eines anderen Gerätes weiterleiten.
Hierzu legt man eine Portproxy-Regel in einer administrativen CMD-Konsole an:
1 |
netsh interface portproxy add v4tov4 listenport=9091 listenaddress=192.168.0.1 connectport=80 connectaddress=192.168.0.10 |
In diesem Beispiel würde auf dem Computer, der über eine Netzwerkschnittstelle mit der IP 192.168.0.1 verfügt, jeglicher Traffic der an den Port 9091 geht stur an das Gerät mit der IP 192.168.0.10 an den Port 80 geschickt werden. Somit würde also die Eingabe der Adresse https://192.168.0.1:9091 in einem Browser die gleiche Seite anzeigen, die unter der Adresse https://192.168.0.10 angezeigt wird. Lässt man den Parameter listenaddress einfach weg, wird der Port unter allen auf dem Rechner verfügbaren IP-Adressen weitergeleitet.
Unter Windows XP funktioniert dies übrigens nur, wenn das IPv6-Protokoll installiert ist. Die Regel lässt sich zwar auch ohne IPv6 anlegen, funktioniert dann aber nicht.
IPv6 lässt sich mit folgendem Befehl installieren:
1 |
netsh int ipv6 install |
Nach der Installation ist kein Neustart nötig. Lediglich falls man IPv6 mit dem Bfehel uninstall wieder deinstalliert muss man danach den Computer neu starten.
Die angelegten Regeln bleiben dauerhaft bestehen und verschwinden nicht nach einem Neustart.
Diese lassen sich aber mit einem delete-Befehl wieder entfernen:
1 |
netsh interface portproxy delete v4tov4 listenport=9091 listenaddress=192.168.0.1 |
Wo kann man dies sinnvoll einsetzen? Besonders praktisch ist dies hinter einem VPN, wenn der VPN-Tunnel nicht durch den Router sondern auf einem Windows-PC aufgebaut wird und man aber eine direkte Verbindung zu weiteren Geräten im Netzwerk benötigt. Dies kann z. B. der Fall sein, wenn man über Standorte verfügt die über OpenVPN angebunden sind. So kann man über den Rechner beispielsweise auch auf den Router vor Ort zugreifen, ohne dass man sich auf den Rechner per Fernwartungs-Tool aufschalten muss.