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:
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:
Abfragen auf ipv4: Verbinden mit ipv4:
Adresse Anschluss Adresse Anschluss
--------------- ---------- --------------- ----------
192.168.88.252 8170 192.168.0.170 80
192.168.88.252 8171 192.168.0.171 80
192.168.88.252 8172 192.168.0.172 80
192.168.88.252 8173 192.168.0.173 80
192.168.88.252 8174 192.168.0.174 80
192.168.88.252 8175 192.168.0.175 80
192.168.88.252 8176 192.168.0.176 80
192.168.88.252 8177 192.168.0.177 80
192.168.88.252 8178 192.168.0.178 80
192.168.88.252 8179 192.168.0.179 80
Display More
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.