TCP-Portweiterleitungen in WS2012R2 einrichten

  • Um auf spezielle Geräte in unserem Netzwerk, die einen simplen Webserver integriert haben, über das Internet zugreifen zu können, müssen TCP-Portweiterleitungen eingerichtet werden, da dieser Anbieter keinen eigenen Dienst für eine von innen vorbereitete Verbindung anbietet. Mit ein wenig Hilfe unseres Internetproviders wurde bereits eine Gruppe von Weiterleitungen in einem Mikrotik-Routerboard eingerichtet, und mit Hilfe von Wireshark auf unserem Intranet-Server (WS 2012 R2) ließ sich auch nachweisen, dass Anfragen aus dem Internet an eine Dynamic-DNS-Adresse mit Port wie gewünscht über das Routerboard geleitet werden und mit gleichem Port am Server ankommen.


    http://dynamic.dns:8171 => 192.168.88.1 (Router) => 192.168.88.252:8171 (Windows-Server, "Internet"-Interface)


    Was bisher jedoch nicht funktioniert, ist die fortgesetzte Weiterleitung der TCP/HTTP-Anfrage über den Server an das jeweilige Gerät im Intranet (192.168.0.[170..179]).


    http://dynamic.dns:8171 => 192.168.88.1 => 192.168.88.252:8171 -X- 192.168.0.1 (Windows-Server, "Intranet"-Interface) => 192.168.0.171:80


    Bisher habe ich zwei Möglichkeiten versucht. Zum einen wurde in einem Beitrag, den ich im Internet entdeckt habe, die Verwendung der NetShell empfohlen, weil dies auch ohne Neustart des Servers sofort funktionieren solle:


    Code
    1. for /L %%a in (170,1,179) do netsh interface portproxy add v4tov4 listenport=8%%a listenaddress=192.168.88.252 connectport=80 connectaddress=192.168.0.%%anetsh interface portproxy show all


    Ergebnis an der Konsole:



    Ergebnis im Webbrowser: Verbindung fehlgeschlagen


    Also diese Variante zurückgenommen ("netsh interface portproxy delete v4tov4 listenport=8%%a listenaddress=192.168.88.252" in for) und noch mal in der Server-Verwaltung manuell 10 Portweiterleitungen eingetragen:


    Routing und RAS » IPv4 » NAT » Internet » Eigenschaften » Dienste und Ports » Hinzufügen: TCP; Eingehender Port = 817#; Private Adresse = 192.168.0.17#; Ausgehender Port = 80


    Dann auch den Server neu gestartet (waren eh gerade Updates zu installieren).


    Ergebnis im Webbrowser: Verbindung fehlgeschlagen


    In beiden Fällen habe ich versucht, den Traffic beider Netzwerkschnittstellen gleichzeitig mit Hilfe von Wireshark 2.0.5 zu überwachen, und dabei festgestellt, dass bei einer Anfrage am "Intranet"-Interface gar kein Traffic aufkommt. Es wird also gar keine Weiterleitung durchgeführt, der Verbindungsversuch wird anscheinend abgewiesen. Leider kenne ich mich mit Netzwerkprotokollen nicht gut genug aus, um hier etwas interpretieren zu können, aber eine pcap-Datei könnte ich bereitstellen.


    Der IP-Hilfsdienst läuft automatisch. Firewall-Ausnahmen wurden hinzugefügt, auch eingehende Edge-Ausnahmen.


    Vielleicht hat aber schon ohne diese jemand eine Idee, was ich vielleicht vergessen oder vertauscht habe.

  • Nach längeren Diskussionen heißt es wohl nun:


    Mach das nicht mit einem Windows Server 2012. Der will das nicht können. Das würde sein Sicherheitskonzept gefährden. Hol dir lieber einen "Bypass-Router".


    Mal schauen, ob da jemand damit Erfahrung hat. Ich vermute mal, auf solchen wird ein minimales Linux-artiges System mit Webkonsole laufen?