Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Sie können die Multiplexing-Funktion für Geräte verwenden, die mehrere Verbindungen oder Anschlüsse verwenden. Multiplexing kann auch verwendet werden, wenn Sie mehrere Verbindungen zu einem Remote-Gerät zur Behebung von Fehlern benötigen. Es kann beispielsweise für einen Webbrowser verwendet werden, der das Senden mehrerer HTTP- und SSH-Datenströme erfordert. Die Anwendungsdaten aus beiden Streams werden gleichzeitig über den Multiplex-Tunnel an das Gerät gesendet.
Beispielanwendungsfall
Sagen wir, Sie müssen eine Verbindung zu einer geräteinternen Webanwendung zum Ändern einiger Netzwerkparameter herstellen und gleichzeitig Shell-Befehle über das Terminal eingeben, um die ordnungsgemäße Funktion des Geräts mit den neuen Netzwerkparametern zu überprüfen. In diesem Szenario müssen Sie möglicherweise sowohl über HTTP als auch über SSH eine Verbindung zum Gerät herstellen und zwei parallel Datenströme übertragen, um gleichzeitig auf die Webanwendung und das Terminal zuzugreifen. Mit der Multiplexing-Funktion können diese beiden unabhängigen Ströme gleichzeitig über denselben Tunnel übertragen werden.

Wie man einen Multiplex-Tunnel einrichtet
Das folgende Verfahren führt Sie durch die Einrichtung eines Multiplex-Tunnels zur Fehlerbehebung bei Geräten mithilfe von Anwendungen, für die Verbindungen zu mehreren Ports erforderlich sind. Sie werden einen Tunnel mit zwei Multiplex-Streams einrichten: einen HTTP-Stream und einen SSH-Stream.
-
(Optional) Konfigurationsdateien erstellen
Sie können das Quell- und Zielgerät optional mit Konfigurationsdateien konfigurieren. Verwenden Sie Konfigurationsdateien, wenn sich Ihre Portzuordnungen wahrscheinlich häufig ändern. Sie können diesen Schritt überspringen, wenn Sie die Portzuordnung lieber explizit über die CLI angeben möchten oder wenn Sie den lokalen Proxy nicht auf bestimmten Abhörports starten müssen. Weitere Informationen zur Verwendung von Konfigurationsdateien finden Sie unter Über --config festgelegte Optionen
in GitHub. -
Erstellen Sie auf Ihrem Quellgerät in dem Ordner, in dem Ihr lokaler Proxy ausgeführt wird, einen Konfigurationsordner mit dem Namen
Config
. Erstellen Sie in diesem Ordner eine Datei mit dem NamenSSHSource.ini
und dem folgenden Inhalt:HTTP1 =
5555
SSH1 =3333
-
Erstellen Sie auf Ihrem Zielgerät in dem Ordner, in dem Ihr lokaler Proxy ausgeführt wird, einen Konfigurationsordner mit dem Namen
Config
. Erstellen Sie in diesem Ordner eine Datei mit dem NamenSSHDestination.ini
und dem folgenden Inhalt:HTTP1 =
80
SSH1 =22
-
-
Tunnel öffnen
Öffnen Sie einen Tunnel mit der
OpenTunnel
API-Funktion oder demopen-tunnel
CLI-Befehl. Konfigurieren Sie das Ziel, indem SieSSH1
undHTTP1
als Dienste und den Namen der AWS IoT Sache angeben, die Ihrem Remote-Gerät entspricht. Ihre SSH- und HTTP-Anwendungen werden auf diesem Remote-Gerät ausgeführt. Sie müssen das IoT-Ding bereits in der AWS IoT Registrierung erstellt haben. Weitere Informationen finden Sie unter Dinge mit der Registrierung verwalten.aws iotsecuretunneling open-tunnel \ --destination-config thingName=
RemoteDevice1
,services=HTTP1,SSH1Wenn Sie diesen Befehl ausführen, werden die Quell- und Zielzugriffstoken generiert, mit denen Sie den lokalen Proxy ausführen.
{ "tunnelId": "
b2de92a3-b8ff-46c0-b0f2-afa28b00cecd
", "tunnelArn": "arn:aws:iot:us-west-2
:431600097591
:tunnel/b2de92a3-b8ff-46c0-b0f2-afa28b00cecd
", "sourceAccessToken":source_client_access_token
, "destinationAccessToken":destination_client_access_token
} -
Konfigurieren und Starten des lokalen Proxys
Bevor Sie den lokalen Proxy ausführen können, müssen Sie entweder den AWS IoT Geräteclient einrichten oder den lokalen Proxy-Quellcode von der Plattform Ihrer Wahl herunterladen GitHub
und ihn für die Plattform Ihrer Wahl erstellen. Anschließend können Sie das Ziel und den lokalen Quell-Proxy starten, um eine Verbindung zum sicheren Tunnel herzustellen. Weitere Informationen zum Konfigurieren und Verwenden des lokalen Proxys finden Sie unter Wie man den lokalen Proxy benutzt. Anmerkung
Wenn Sie auf Ihrem Quellgerät keine Konfigurationsdateien verwenden oder die Portzuordnung mit der CLI angeben, können Sie trotzdem denselben Befehl verwenden, um den lokalen Proxy auszuführen. Der lokale Proxy im Quellmodus wählt automatisch die zu verwendenden Ports und deren Zuordnungen für Sie aus.
Führen Sie die folgenden Befehle aus, um den lokalen Proxy mithilfe von Konfigurationsdateien im Quell- und Zielmodus auszuführen.
// ----------------- Start the destination local proxy ----------------------- ./localproxy -r
us-east-1
-m dst -tdestination_client_access_token
// ----------------- Start the source local proxy ---------------------------- // You also run the same command below if you want the local proxy to // choose the mappings for you instead of using configuration files. ./localproxy -rus-east-1
-m src -tsource_client_access_token
Die Anwendungsdaten aus der SSH- und HTTP-Verbindung können jetzt gleichzeitig über den Multiplex-Tunnel übertragen werden. Wie in der Abbildung unten zu sehen ist, dient die Service-ID als lesbares Format zur Übersetzung der Portzuweisung zwischen dem Quell- und dem Zielgerät. Bei dieser Konfiguration leitet sicheres Tunneling jeglichen eingehenden HTTP-Verkehr von Port 5555
auf dem Quellgerät an Port 80
auf dem Zielgerät und jeglichen eingehenden SSH-Verkehr von Port 3333
zu Port 22
auf dem Zielgerät weiter.
