UDP-Kommunikation VPN und Web ja - im LAN nein?
Ein Client kann innerhalb des LAN nicht mit einem Server kommunizieren, greift man per VPN übers Internet zu, funktionert es.
Die Details: Ich abe ein Zusatztool zu einem bestehenden BDE-System geschrieben. Dieses BDE-System (Betriebsdatenerfassung) besteht aus Clients und einer Serverapplikation, die über UDP miteinander kommunizieren. An dieser Tatsache (UDP) ist nicht zu rütteln - darüber brauchen wir also nicht zu diskutieren. Ich habe im Auftrage eine Zusatzapplikation geschrieben, die ebenfalls mit dem Server kommuniziert, allerdings im Gegensatz zu den Clients recht große Datenmengen abfragt und statistische Auswertungen ausführt.
Die Entwicklung habe ich von Zuhause aus gemacht, über ein VPN gründlich getestet und Alles hat problemlos funktionert. Die erste betriebliche Installation hat auf einer testweise eingerichteten VM in der Firma stattgefunden, da lief auch noch Alles einwandfrei, allerdings zeigten sich leichte Leistungsschwächen in Form erhöhter Reaktionszeiten, deshalb hat der betriebliche Admin eine neue VM eingerichtet und dieser mehr Resourcen zugeteilt. Seit sich die Software auf der neuen VM befindet, kann sie nicht mehr mit dem Server kommunizieren. Ich sehe zwar über Test- und Log-Funktionen, dass die Anforderungen beim Server ankommen und dieser auch antwortet, aber die Antworten kommen bei meiner Applikation nicht an.
Der Admin stellt sich nun stur und verlangt, dass ich "den Fehler" in meiner Applikation behebe. Er hat wohl auch halbherzig nach möglichen Ursachen im betrieblichen Netz gesucht, aber Nichts gefunden. As Verrückte an der Geschichte ist, dass wenn ich die Anwendung von zuhause aus starte, weiterhin Alles funktioniert. Ich habe die Anwendung in RealStudio geschrieben, so dass ich sogar jeweils eine Windows- und eine Mac-Version compilieren kann. Beide funktionieren, so dass man sogar behaupten kann, dass es Nichts mit dem Betriebssystem und dessen Einstellungen zu tun haben kann.
Natürlich könnte ich nun mühsam irgendwelche Workarounds basteln, aber wieso eigentlich? Gibts irgendwelche Ideen, mit denem man dem Admin auf die Sprünge helfen könnte? Ich nehme an, die Ursache hat irgendwas mit sog. "fragmentierten Paketen" bzw. Datagrammen zu tun. Aber wenn es über Firewall und Internet funktioniert, muss doch die Ursache für das lokale Versagen auffindbar sein, oder?
Die Details: Ich abe ein Zusatztool zu einem bestehenden BDE-System geschrieben. Dieses BDE-System (Betriebsdatenerfassung) besteht aus Clients und einer Serverapplikation, die über UDP miteinander kommunizieren. An dieser Tatsache (UDP) ist nicht zu rütteln - darüber brauchen wir also nicht zu diskutieren. Ich habe im Auftrage eine Zusatzapplikation geschrieben, die ebenfalls mit dem Server kommuniziert, allerdings im Gegensatz zu den Clients recht große Datenmengen abfragt und statistische Auswertungen ausführt.
Die Entwicklung habe ich von Zuhause aus gemacht, über ein VPN gründlich getestet und Alles hat problemlos funktionert. Die erste betriebliche Installation hat auf einer testweise eingerichteten VM in der Firma stattgefunden, da lief auch noch Alles einwandfrei, allerdings zeigten sich leichte Leistungsschwächen in Form erhöhter Reaktionszeiten, deshalb hat der betriebliche Admin eine neue VM eingerichtet und dieser mehr Resourcen zugeteilt. Seit sich die Software auf der neuen VM befindet, kann sie nicht mehr mit dem Server kommunizieren. Ich sehe zwar über Test- und Log-Funktionen, dass die Anforderungen beim Server ankommen und dieser auch antwortet, aber die Antworten kommen bei meiner Applikation nicht an.
Der Admin stellt sich nun stur und verlangt, dass ich "den Fehler" in meiner Applikation behebe. Er hat wohl auch halbherzig nach möglichen Ursachen im betrieblichen Netz gesucht, aber Nichts gefunden. As Verrückte an der Geschichte ist, dass wenn ich die Anwendung von zuhause aus starte, weiterhin Alles funktioniert. Ich habe die Anwendung in RealStudio geschrieben, so dass ich sogar jeweils eine Windows- und eine Mac-Version compilieren kann. Beide funktionieren, so dass man sogar behaupten kann, dass es Nichts mit dem Betriebssystem und dessen Einstellungen zu tun haben kann.
Natürlich könnte ich nun mühsam irgendwelche Workarounds basteln, aber wieso eigentlich? Gibts irgendwelche Ideen, mit denem man dem Admin auf die Sprünge helfen könnte? Ich nehme an, die Ursache hat irgendwas mit sog. "fragmentierten Paketen" bzw. Datagrammen zu tun. Aber wenn es über Firewall und Internet funktioniert, muss doch die Ursache für das lokale Versagen auffindbar sein, oder?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 176455
Url: https://administrator.de/contentid/176455
Ausgedruckt am: 23.11.2024 um 08:11 Uhr
6 Kommentare
Neuester Kommentar
Ich kenne den Aufbau des Netzwerkes nicht. Die Firewall kann für VPN richtig konfiguriert sein, aber für den lokalen Gebrauch deine UDP Packete nur in eine Richtung zulassen. Wenn sich die Server IP und die Client IP nicht im gleichen Netz befinden, dann ist es sehr wahrscheinlich, dass eine Firewall dazwischen hängt.
Am besten du klärst das einfach mit deinem Auftraggeber und beweißt ihm dabei, dass deine Applikation nicht daran Schuld ist.
Am besten du klärst das einfach mit deinem Auftraggeber und beweißt ihm dabei, dass deine Applikation nicht daran Schuld ist.
Die Frage wie das Netzwerk der VM eingerichtet ist. Wenn der Admin die VM als Bridge eingerichtet hat ists kein Problem. Vermutlich hat er aber die VM ins lokale LAN geNATet (Adress Translation) da ists dann sofort aus mit VPNs sofern du selbiges auf deinem Server terminierst.
Gleiches gilt für alle Firewall/Router die im Kommunikationspfad liegen. Ist da irgendwo NAT dazwischen hast du ein Problem sofern dein Client kein NAT Traversal kann.
Da du aber hier keinerlei Aussage zur Topologie geschweige denn zum verwendeten VPN Protokoll, von dem es ja nun einige gibt..., hier machst können wir hier lustig ziellos weiterraten.
Fazit: mit den oberflächlichen Angaben von oben zu Netzwerk, VPN Terminierung, Firewalls und der VM Installation ist eine zielführende Hilfe nicht möglich !
Gleiches gilt für alle Firewall/Router die im Kommunikationspfad liegen. Ist da irgendwo NAT dazwischen hast du ein Problem sofern dein Client kein NAT Traversal kann.
Da du aber hier keinerlei Aussage zur Topologie geschweige denn zum verwendeten VPN Protokoll, von dem es ja nun einige gibt..., hier machst können wir hier lustig ziellos weiterraten.
Fazit: mit den oberflächlichen Angaben von oben zu Netzwerk, VPN Terminierung, Firewalls und der VM Installation ist eine zielführende Hilfe nicht möglich !
Gut das du nochmal darauf hingewiesen hast, denn das war vermutlich allen nicht klar !
OK, wenn der Zugriff aus dem VPN uneingeschränkt auf den Server selber und auch alle Clients im lokalen Netz funktioniert, dann ist natürlich vollkommen klar das das VPN selber und Firewalls in diesem Pfad niemals das Problem sein können. Keine Frage....
Ist das Problem also nur isoliert auf lokale Clients und den Server bezogen liegt der Fehler logischerweise ganz woanders.
Die VM kann es auch niemals sein, denn sonst würdest du schon gar nicht vom externem VPN auf den Server in der VM kommen und da der Server selber das PPTP VPN terminiert und du von da auch auf die anderen Geräte im LAN kommst, kann man auch die VM und deren Einstellung komplett ausschliessen.
Andernfalls wäre diese Kommunikation ins lokale Netz der Druckerei aus dem VPN unmöglich !
Ob es ein Mac oder Winblows und Parallels oder VmWare oder was auch immer ist spielt keinerlei Rolle. Das wäre gleich mit der Vermutung ob man Shell oder Esso tankt beim Auto...
Das Verhalten ist schon kurios, denn wenn du Endgeräte im lokalen Netz erreichst könnte man auch die Firewall am Rechner ausschliessen.
Da kommt man vermutlich nur mit einer Sniffer SW wie Wireshark oder MS Netmonitor weiter...
OK, wenn der Zugriff aus dem VPN uneingeschränkt auf den Server selber und auch alle Clients im lokalen Netz funktioniert, dann ist natürlich vollkommen klar das das VPN selber und Firewalls in diesem Pfad niemals das Problem sein können. Keine Frage....
Ist das Problem also nur isoliert auf lokale Clients und den Server bezogen liegt der Fehler logischerweise ganz woanders.
Die VM kann es auch niemals sein, denn sonst würdest du schon gar nicht vom externem VPN auf den Server in der VM kommen und da der Server selber das PPTP VPN terminiert und du von da auch auf die anderen Geräte im LAN kommst, kann man auch die VM und deren Einstellung komplett ausschliessen.
Andernfalls wäre diese Kommunikation ins lokale Netz der Druckerei aus dem VPN unmöglich !
Ob es ein Mac oder Winblows und Parallels oder VmWare oder was auch immer ist spielt keinerlei Rolle. Das wäre gleich mit der Vermutung ob man Shell oder Esso tankt beim Auto...
Das Verhalten ist schon kurios, denn wenn du Endgeräte im lokalen Netz erreichst könnte man auch die Firewall am Rechner ausschliessen.
Da kommt man vermutlich nur mit einer Sniffer SW wie Wireshark oder MS Netmonitor weiter...