Ich muss einen Befehl aus dem Internet an ein Gerät in einem WLAN senden, das den Port 9999 abhört.
Dem Gerät selbst wird nur die lokale IP zugewiesen.
Ich habe auch n (2-100 +) Geräte mit dem gleichen Programm (hören auf Port 9999).
Ich kenne alle lokalen IPs der Geräte und weiß, an welche IP ich den Befehl senden soll.
Wie kann ich den Befehl von einem externen Netzwerk (Cloud / Mobilgerät) über den Gateway-Router an eine bestimmte lokale IP senden?
Ich verstehe, dass dies mit einem Server im WLAN oder einem dedizierten Gateway-Gerät erreicht werden kann. Ich bin aber interessiert zu wissen, ob dies nur mit dem WLAN-Router möglich ist.
networking
wireless-networking
router
wireless-router
port-forwarding
Rifat Mahmud
quelle
quelle
Antworten:
Es braucht etwas anderes als einen Router
Ein Router leitet per Definition und allgemeiner Verwendung Pakete basierend auf der angegebenen Zieladresse und dem angegebenen Port und nicht auf anderen Faktoren weiter.
Unabhängig davon, mit welcher Technik Sie es senden, muss der Router entscheiden, an welches der Hunderte Ihrer internen Geräte er es sendet, bis ein einzelnes TCP / IP-Paket von einer externen Verbindung zum Router eingeht sollte gesendet werden - und es braucht Informationen, um das zu tun.
Die IP-Adressinformationen können nicht verwendet werden, da Sie in Ihrem Setup nur eine einzige externe IP-Adresse haben und dies die Adresse des Routers ist - das Gleiche für alle Pakete, die Sie anders routen möchten.
Es könnte die TCP-Port-Informationen dafür verwenden, wie in anderen Antworten vorgeschlagen, aber anscheinend nicht akzeptabel.
Es könnte die Paketnutzlast verwenden, aber das wird es nicht tun. Die üblicherweise verwendeten drahtlosen Router für Endverbraucher prüfen nicht jede Paketnutzlast, um zu entscheiden, auf welche Weise sie geroutet werden. Sie könnten ein benutzerdefiniertes Gerät oder einen benutzerdefinierten Code erstellen, um dies zu handhaben. Dies wäre praktisch dasselbe wie "ein Server, der im WLAN ausgeführt wird", was anscheinend auch nicht akzeptabel ist.
Es gibt keine weiteren Informationen - ein Router trifft möglicherweise Entscheidungen basierend auf anderen Feldern im IP-Paket-Header, aber diese Felder sind entweder für Ihre Anforderungen überhaupt nicht verwendbar oder unpraktisch - Sie richten das Routing möglicherweise basierend auf der Quell- IP-Adresse ein und senden Pakete mit gefälschten Quelladressen, aber es hätte alle die gleichen Konfigurationsprobleme wie einfach Ports dafür zu verwenden.
quelle
Geben Sie n Portzuordnungen (Portweiterleitungen) in die NAT-Gateway-Einstellungen des WLAN-Routers ein. Nehmen Sie der Einfachheit halber möglicherweise vor, dass die öffentlichen Ports mit der internen IP-Adresse des Clients (dem Hostnummernteil) plus einem Präfix (z. B. 50000) korrelieren.
Nehmen wir also an, Sie haben Client-Rechner mit den privaten Adressen 10.0.0.2 bis 10.0.0.202. Geben Sie Port-Zuordnungen wie folgt ein:
Um jeden Host zu erreichen, geben Sie in Ihrer Client-Software immer die öffentliche IP-Adresse Ihres NAT-Gateways (Ihres WLAN-Routers) an. Der angegebene Port hängt jedoch davon ab, auf welchen Client Sie zugreifen möchten.
In den meisten Client-Programmen können Sie einen Port angeben, indem Sie ihn entweder in der URL codieren
http://example.com:50001/
oder als Befehlszeilenargument angeben , häufig nach einer-p
oder-P
-Option. Überprüfen Sie die Manpage für Ihr Tool.quelle
Sie haben zwei Möglichkeiten, um Ihre Aufgabe zu erfüllen
Der erste Weg ist einfacher zu bewerkstelligen, ohne den Anwendungscode zu ändern. Sie können für beide Optionen DD- WRT- oder Mikrotik- basierte WLAN- Router verwenden. Für mich ist Mikrotik einfacher als VPN-Server einzurichten. Hier finden Sie weitere Informationen zur Implementierung von Socks .
quelle
Natürlich können Sie die Portweiterleitung an Ihrem Router verwenden. Damit sind jedoch Sicherheitsrisiken verbunden.
Wenn Sie OpenVPN auf Ihren Geräten ausführen können, sollten Sie ein VPN erstellen. Sie können auf alle Ihre Geräte und Ihre Cloud / Ihr Mobiltelefon auch über das VPN zugreifen, als befänden sie sich physisch im selben Netzwerk. Außerdem würde die gesamte Kommunikation verschlüsselt.
quelle
Sie können eine Portweiterleitungsregel auf dem Router öffnen , die besagt, dass alles, was über die öffentliche Schnittstelle und den Port 9999 empfangen wird, an die IP Ihres Geräts und an denselben Port weitergeleitet werden muss.
Der Router sendet die externen Anforderungen an das angegebene Gerät und den angegebenen Port, und die anderen Geräte kennen diesen Datenverkehr nicht.
quelle
Sie müssen die NAT / Port-Weiterleitung auf Ihrem WLAN-Router einrichten. Da Sie nicht angegeben haben, welchen Router Sie haben, kann ich Ihnen nicht weiter helfen. Viele kabellose Router für Privatanwender verfügen auch über leistungsschwache Funktionen. Dies kann die Anzahl der manuellen Portweiterleitungen begrenzen.
Bearbeiten, weil ich aus irgendeinem blöden Grund nicht auf Kommentare antworten kann
Nein, Sie können einen einzelnen Port ohne Load Balancer nicht mehreren IPs zuordnen. Sie müssten verschiedene Ports an der externen Schnittstelle Ihres Routers einstellen, um die verschiedenen IP / Port-Kombinationen der Geräte in Ihrem internen Netzwerk zuzuordnen.
quelle