Der Server versucht, mit der lokalen IP-Adresse des Clients aus einem anderen Netzwerk zu kommunizieren

406
user3837690

Ich bin ein Analphabeten im Netzwerk, aber ich versuche, einen Server in meinem Heimnetzwerk mit einigen Clients im Heimnetzwerk meines Freundes über das Internet zu kommunizieren. Weder mein Freund noch ich haben eine statische öffentliche IP-Adresse, und wir wollen keine statischen IP-Adressen für unsere Kunden und Server kaufen.

Diagramm unseres Setups unten: ServerClientWAN

Ich habe die Portweiterleitung auf meinem Router so eingerichtet, dass die Kommunikation über einen bestimmten Port zu meiner öffentlichen IP-Adresse an die lokale IP meines Servers weitergeleitet wird. Mit diesem Setup kann mein Server die Clients sehen und eingehende Nachrichten vom Client empfangen, er versucht jedoch aus irgendeinem Grund, Nachrichten an Clients über ihre lokalen IP-Adressen aus dem Heimnetzwerk meines Freundes zu senden. Die Server und Clients verwenden ein proprietäres TCP / IP-Protokoll. Mein Server sieht die IP-Adressen des Clients als 192.168.0.X, wie in der folgenden Abbildung dargestellt. Irgendwelche Ideen, was wir falsch machen könnten? Ich hätte gedacht, dass die Kommunikation von Kunden von der öffentlichen IP meines Freundes stammen würde? Es kann vorkommen, dass unsere Protokollnachrichten mit der lokalen IP-Adresse eingehen und der Server diese Nachrichten analysiert, um auf den Endpunkten an der lokalen IP-Adresse des Clients zu antworten. In diesem Fall,

Einschränkungen sind, dass der Server und die Clients "gesperrte" Geräte sind. Daher möchten wir Änderungen auf Betriebssystem- / App-Ebene vermeiden. Vielleicht können wir eine Art VPN oder VLAN einrichten (ist das eine Sache über das Internet)? Anders ausgedrückt ist es uns lieber, eine Netzwerklösung für dieses Problem zu finden. Wir können dem Netzwerk andere Geräte als Server und Client hinzufügen, um dieses Problem zu lösen, aber wir möchten keine neue Anwendung "programmieren", die unsere Protokollnachrichten weiterleitet.

0

1 Antwort auf die Frage

0
Linef4ult

Ohne das fragliche Protokoll ist es unmöglich, im Detail zu sagen, aber Sie scheinen absichtlich vage zu sein, deshalb werde ich allgemein antworten.

Laut Ihrer Beschreibung kann der Server / das Protokoll nicht mit NAT umgehen, das heißt, anstatt mit jedem Client an einem neuen Port eine Sitzung auszuhandeln, so dass er weiß, von wem er entwickelt wurde, um einfach auf eine Quell-IP zu antworten, die in den eingehenden Paketen aufgeführt ist. Dies ist nur für LAN in Ordnung.

Um dieses Problem zu umgehen, müssen Sie ein überbrücktes Ethernet-VPN, OpenVPN oder andere erstellen, das jedoch um ein Vielfaches schwieriger einzurichten ist als ein herkömmliches IP-Level-VPN. Da Sie die Clients nicht ändern können, muss der Router ein VPN-Client sein, sodass er möglicherweise ersetzt werden muss. Sie können das VPN auf jedem Computer in Ihrem Netzwerk hosten, auf dem X86-Software ausgeführt werden kann.

Stellt sich heraus, dass der Server an den Client unter der IP-Adresse antwortet, die der Client als Teil seiner Konfigurationsnachricht sendet. Die IP-Adresse des Clients ist zufällig die lokale IP-Adresse. Sie haben also Recht, wir müssen ein LAN-LAN-VPN einrichten. Vielen Dank! user3837690 vor 8 Jahren 0