Ich habe ein eingebettetes Gerät, das ich über Ethernet IP programmieren kann, wenn es am gleichen Router wie der PC angeschlossen ist:
Ist es möglich, den gesamten Datenverkehr über das Internet zu senden und dennoch zu programmieren? Um es ein bisschen klarer zu machen, so etwas wie:
networking
remote-access
Motor
quelle
quelle
Antworten:
Die einfache (und unsichere) Methode
Was Sie suchen, nennt sich Port Forwarding [ 1 ] [ 2 ] .
Nehmen wir zum Beispiel Folgendes an:
Ihr programmierbares Gerät arbeitet am Port
22
und hat die IP192.168.1.5
Ihre öffentliche IP ist
122.176.11.55
Dann können Sie in die Einstellungen Ihres Routers gehen und einen WAN-Port (zB
8022
) an weiterleiten192.168.1.5:22
.Jetzt können Sie von überall aus über das Internet auf das Gerät zugreifen, indem Sie
122.176.11.55:8022
statt192.168.1.5:22
in Ihrer IDE auf zugreifen .Beachten Sie, dass sich Ihre öffentliche IP-Adresse jederzeit ändern kann, sofern Sie keine statische IP- Adresse haben . In diesem Fall sollten Sie die dynamischen DNS-Dienste überprüfen .
HINWEIS : Wenn Ihr Gerät nicht über eine Authentifizierungsmethode verfügt, kann mit ziemlicher Sicherheit jemand mit böswilliger Absicht im offenen Web darauf zugreifen. Siehe unten für eine sichere Alternative.
Die sichere (und ehrlich gesagt nicht viel kompliziertere) Methode
Hinterlassen Sie einen PC (oder Raspberry Pi oder ähnliches) , die mit Ihrem Netzwerk und den Zugriff , die fern anstatt durch etwas sicher wie SSH, und dann durch sie über LAN programmieren Sie Ihr Gerät.
Dies hat auch den zusätzlichen Vorteil, dass Sie auch dann arbeiten können, wenn Ihr Gerät weder TCP noch UDP verwendet :)
Ein bisschen langweilig, ja. Aber sicher.
quelle
Die einzig richtige Antwort kann "VPN" sein.
Die einfache Verwendung von IPv6 würde "funktionieren" (vorausgesetzt, der Router ist nicht für die Firewall außerhalb des Geräts konfiguriert und alle ISPs, Geräte und Laptops unterstützen IPv6), aber aus dem gleichen Grund ist die Portweiterleitung eine schreckliche Idee.
Abgesehen von der bekannten IPv6-Propaganda möchten Sie eigentlich nie, dass die Geräte in Ihrem LAN eindeutig identifizierbar oder sogar über das Internet zugänglich sind. Nein, das ist keine gute Sache.
Die Portweiterleitung würde mit dem guten alten IPv4 "funktionieren", macht das Gerät jedoch nicht nur für Sie, sondern für alle zugänglich. Niemand weiß es, also ist das kein Problem, oder?
Nun, es gibt eine Armee von automatisierten Port-Scannern, die 24/7 arbeiten und zufällige Adressen / Ports scannen, in der Hoffnung, dass irgendetwas irgendwo beantwortet werden kann. Daher ist es im Allgemeinen nicht optimal , ein Gerät zu haben, das online auf eine externe Anfrage antwortet. Wenn sich ein Gerät gerne entsprechend dem programmieren lässt , was über das Netzwerk eingeht, ist das ein Rezept für eine Katastrophe.
Das obige gilt im Prinzip auch für VPN, aber es ist so gut wie möglich, wenn Sie Zugriff haben möchten. Die einzig wirklich sichere Sache ist, dass es überhaupt keine Internetverbindung gibt, was aus offensichtlichen Gründen keine praktikable Option ist. Das nächste, was für "kein Internet" am sichersten ist, ist VPN. Genau ein Port auf genau einem Gerät (nun ja, es hängt von bis zu drei Ports ab), macht VPN verfügbar und nichts anderes wird an das Internet weitergeleitet.
Mit VPN können Sie - aber niemand anders - über das Internet auf ein Gerät in Ihrem LAN zugreifen, als befänden Sie sich im selben LAN (allerdings etwas langsamer). Es verhindert unbefugten Zugriff, bietet Vertraulichkeit und Datenintegrität.
Praktisch jeder No-Shit-Router unterstützt standardmäßig mindestens eine VPN-Variante. Leider kann es, abhängig von Ihrem Router-Modell, zu einer schlechten VPN-Version kommen, oder es ist nur unzureichend dokumentiert, wie der Remotecomputer konfiguriert wird. Trotz der möglichen Mühe, herauszufinden, wie man es konfiguriert - wenn Sie nichts Besseres haben, ist dies bei weitem die beste Option!
Die meisten gängigen NAS-Boxen unterstützen zwei oder drei No-Suck-VPN-Methoden, und auf jedem 3-Watt-Computer mit einer Kreditkartengröße von 20 US-Dollar kann problemlos ein VPN-Server ausgeführt werden. Selbst viele moderne Mobiltelefone unterstützen VPN, ohne dass zusätzliche Software installiert werden muss, sodass Sie sogar auf Ihr Heimnetzwerk zugreifen können, wenn Sie das mobile Internet Ihres Telefons nutzen (sogar über einen privaten Hotspot).
Zum Beispiel ist L2TP / IPSec vielleicht nicht die beste Wahl, aber es ist zu 99% gut und es dauert eine Minute, um es auf meiner Disk Station und meinem Samsung-Telefon einzurichten. Noch eine Minute, wenn mein Windows-Laptop es auch benutzen soll (unabhängig vom Telefon). Es wird keine zusätzliche Software benötigt.
OpenVPN dauert etwa 3-5 Minuten, da Sie die Client-Software herunterladen müssen, um sie auf dem Laptop zu installieren. Aber im Großen und Ganzen zählt ein 5-Minuten-Setup als "Null", im Vergleich dazu, dass es völlig unsicher ist.
quelle
Hosten Sie ein VPN, entweder in einer Router- / Sicherheits-Gateway-Appliance oder in einer anderen Box mit Portweiterleitung zu dieser Box. Wenn Sie remote arbeiten möchten, stellen Sie eine Verbindung zum VPN her, und das eingebettete Gerät wird angezeigt, als befände es sich in einem lokalen Netzwerk. Es ist wahrscheinlich eine gute Idee, das eingebettete Gerät in einem isolierten Subnetz zu platzieren , um Angriffe auf Ihr Hauptnetzwerk zu verhindern, wenn das VPN oder das eingebettete Gerät gefährdet sind.
quelle
Machen Sie aus einem Windows-PC ohne IDE einen Linux-PC in einer einigermaßen sicheren Konfiguration, während sshd ausgeführt wird. Portweiterleitung von Ihrem Router zum SSH-Port auf dem Linux-Computer. Verwenden Sie SSH-Tunnel, um eine Verbindung mit der IP des eingebetteten Geräts herzustellen. Wenn Sie dann auf Ihrem Remote-Computer mit einer IDE programmieren, stellen Sie anstelle der LAN-IP eine Verbindung zu localhost her.
Das Hören im Internet mit einem gehärteten Dienst wie SSH ist einigermaßen sicher. Mit der Entwicklung direkt im Internet zuzuhören, ist eine fabelhafte schlechte Idee. SSH ist ein Gatekeeper. Wenn Sie sicherstellen, dass Sie den Host-Schlüssel überprüfen, schützt er absolut vor MITM. Es verwendet eine gute Kryptographie. Das Tunneling-Setup beinhaltet kein Routing oder Bridging, sondern sieht so aus, als würden Sie direkt von der SSHD-Maschine aus eine Verbindung herstellen. Dies ist sehr viel einfacher zu installieren.
quelle
Vor kurzem habe ich eine bessere Lösung für den nur persönlichen Fernzugriff gefunden. Besprechen wir zunächst den Umfang des Problems. Es gibt drei Probleme, die ins Spiel kommen: die NAT, die IP-Adresse und die Sicherheit. In den gängigen Fällen, in denen Sie beispielsweise einen SSH- oder Webserver in einem Heimnetzwerk ausführen möchten, werden traditionell die Portweiterleitung und dynamische DNS sowie branchenübliche Best Practices für die Sicherheit verwendet. Dies hat Nachteile für Ihren Fall, da Ihr Gerät nicht über die Standardsicherheit verfügt. Dies kann durch die Verwendung der SSH-Portweiterleitung im Gegensatz zum Öffnen Ihres Geräts für das Internet verringert werden.
Es gibt jedoch eine einfachere Lösung, und ob Sie es glauben oder nicht, ist dies für versteckte Dienste. versteckte dienste des tor fungieren im grunde als portforward, werden jedoch automatisch durchlaufen und haben keine sich ändernde adresse, sodass keine dynamischen dns erforderlich sind. Es gibt natürlich Probleme mit der Zwiebeladresse, an die man sich nur schwer erinnern kann, aber wenn Sie der einzige Benutzer sind, können Sie diese in eine Ihrer Projektdateien eintragen. Ich würde empfehlen, dies immer noch mit einem SSH-Server zu vergleichen, um die Authentifizierung zu ermöglichen, aber Sie können entscheiden, dass die lange Zwiebeladresse ausreicht. Auch bei versteckten Diensten wird die gesamte Verbindung mit Ausnahme des letzten Hops verschlüsselt, sodass die einzige Möglichkeit zur Verbesserung die End-to-End-Verschlüsselung ist. Dies hängt jedoch von dem Gerät ab, das Sie programmieren.
quelle