Rufen Sie die öffentliche IP-Adresse des Clients (Anforderung) auf dem Server hinter NAT ab

0

Ich habe erfolglos nach einer Lösung für mein etwas seltsames Setup gesucht. Ich habe einen Standard-Home-Tplink-Modem-Router, der mit dem Internet verbunden ist (mit statischer IP vom isp eingerichtet). Innerhalb des privaten Netzwerks (beispielsweise 192.168.x.x) habe ich einen Server (192.168.0.100), auf dem eine einfache serverseitige TCP-Software ausgeführt wird, die einen bestimmten Port überwacht (beispielsweise 12345). Ich habe Portweiterleitung auf dem Tplink eingerichtet, um den TCP-Port 12345 von einer beliebigen Adresse an 192.168.0.100 weiterzuleiten. Alles funktioniert gut.

Ich möchte die öffentliche IP-Adresse des Anforderers abrufen können. Z.B. Wenn ein Client (beispielsweise die öffentliche IP-Adresse 202.67.85.112) eine Verbindung zu meinem Server herstellt und die statische öffentliche IP-Adresse meines Modems beispielsweise 50,60,66,77 ist, erhalte ich auf dem Server 50,606,66,77 als Quelladresse und nicht 202,67. 85.112.

Ich verstehe, dass es so sein soll, aber kann ich auf meinem Server die ursprüngliche IP-Adresse erhalten?

Nlandau
quelle
1
Nein, so soll es nicht sein. Sie sollten 202.67.85.112 als Quelladresse anzeigen, nicht 50.60.66.77. Ein korrekt eingerichtetes Portweiterleitungs-NAT berührt das nicht Quelle Adresse von Paketen, die von außen kommen - muss nicht. Zwei mögliche Erklärungen: Ihr Router macht etwas sehr komisch und ungewöhnlich, oder Sie interpretieren falsch, was Sie sehen.
Etienne Dechamps
Ist es möglich, dass der Tplink die IP ersetzt?
Erscheint die eingehende Adresse tatsächlich als 50.60.66.77? Denn das ist vermasselt. Etienne hat Recht, Sie sollten dieses Problem nicht haben. Die Portweiterleitung schreibt normalerweise keine IP-Adressen um. Auf keinen Fall ein Tplink-Router (nicht den ich je gesehen habe). Es ist zwar möglich, eingehende NATs zu machen ... Stellen Sie sicher, dass Sie so etwas nicht haben.
Ryan Babchishin
"Ist es möglich, dass der tplink die ip ersetzt?" & gt; Technisch ja, aber das wäre sehr merkwürdig. Kein korrekt konfigurierter Router würde das tun. Wenn dein Server ist tatsächlich Wenn Sie von außen Verbindungen erhalten, bei denen die Quelladresse Ihre eigene öffentliche IP-Adresse ist, bedeutet dies, dass mit Ihrem Setup etwas nicht in Ordnung ist. Sie möchten vielleicht mit einem Sniffer wie Wireshark auf der Netzwerkschnittstelle Ihres Servers überprüfen, was passiert.
Etienne Dechamps
Nach einer erneuten Überprüfung, einem Neustart der Routerkonfiguration und dem Ausprobieren verschiedener Setups erhielt ich schließlich die öffentliche IP-Adresse des Clients. Nicht genau sicher, was das Problem war, aber danke an alle, die kommentiert und mir klar gemacht haben, dass diese Situation NICHT normal ist.
Nlandau