Erstellen Sie den Mosquitto MQTT-Protokollnachrichtenserver unter Linux und kombinieren Sie ihn mit dem Intranet-Penetrationstool, um Zugriff auf das öffentliche Netzwerk zu erhalten

Vorwort

Mosquitto ist ein Open-Source-Nachrichtenbroker, der die MQTT-Protokollversionen 3.1 und 3.1.1 implementiert. Es kann auf verschiedenen Plattformen ausgeführt werden, darunter Windows, Linux, macOS usw. Mosquitto kann in Szenarien wie dem Internet der Dinge, Sensoren und mobilen Anwendungen eingesetzt werden und bietet einen leichten, zuverlässigen und auf dem Publish/Subscribe-Modell basierenden Nachrichtenmechanismus.

Der Vorteil des Fernzugriffs über das MQTT-Protokoll besteht darin, dass er eine Fernkommunikation über das Netzwerk ermöglicht und so die Steuerung und Überwachung von Geräten an verschiedenen Orten ermöglicht. Gleichzeitig ist das MQTT-Protokoll leichtgewichtig, effizient und zuverlässig und kann in Netzwerkumgebungen mit geringer Bandbreite und instabilen Netzwerken stabil ausgeführt werden. Darüber hinaus unterstützt das MQTT-Protokoll auch mehrere Programmiersprachen und Plattformen, sodass Entwickler bequem sekundäre Entwicklungen und Integrationen durchführen können.

Im Folgenden wird beschrieben, wie Sie den Mosquitto MQTT-Protokollnachrichtenserver unter Linux erstellen und ihn mit dem Cpolar-Intranet-Penetrationstool kombinieren, um eine Remoteverbindung herzustellen!

1. Mosquitto unter Linux erstellen

Dieses Beispiel ist auf einem Centos 7-System, bei dem yum zur Installation mit einem Klick verwendet wird:

yum install mosquitto -y

Nach Abschluss der Installation finden Sie hier einige Befehle zum Betreiben des Mosquitto-Dienstes

sudo systemctl start mosquitto     # 启动 Mosquitto 服务
sudo systemctl stop mosquitto      # 停止 Mosquitto 服务
sudo systemctl restart mosquitto   # 重新启动 Mosquitto 服务
sudo systemctl status mosquitto    #检查服务器状态

Geben Sie nach dem Ausführen des Startbefehls die Eingabetaste ein, um den Status anzuzeigen. Wir können sehen, dass der Dienst erfolgreich ausgeführt wurde und die lokale Installation erfolgreich war. Installieren Sie als Nächstes das cpolar-Tool, um in den lokalen Port des Mosquitto-Dienstes einzudringen< /span>1883 , RAS-Verbindung herstellen.

Bild-20231108154838984

2. Installieren Sie Cpolar unter Linux

Oben haben wir den Mosquitto MQTT-Server erfolgreich installiert. Als nächstes installieren wir das Intranet-Penetrationstool cpolar unter Linux und leiten die öffentliche Netzwerkadresse der lokalen Portzuordnung über cpolar weiter. Wir können problemlos Fernzugriff erreichen, ohne einen Domänennamen zu registrieren und einen Cloud-Server zu kaufen . Nachfolgend finden Sie die Schritte zur Installation von cpolar

Offizielle Website-Adresse von cpolar: https://www.cpolar.com

  • Verwenden Sie den Ein-Klick-Skriptinstallationsbefehl
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • Fügen Sie dem System Dienste hinzu
sudo systemctl enable cpolar
  • Starten Sie den cpolar-Dienst
sudo systemctl start cpolar

Nachdem cpolar erfolgreich installiert wurde, greifen Sie in einem externen Browser auf den Linux-Port 9200 zu: [http://LAN ip:9200]. Melden Sie sich mit Ihrem cpolar-Konto an. Nach der Anmeldung sehen Sie die cpolar-Webkonfigurationsoberfläche, mit der verbunden ist Die Web-Management-Oberfläche. Einfach konfigurieren

Bild-20230831171159175

3. Erstellen Sie die öffentliche Netzwerkverbindungsadresse des MQTT-Dienstes

Nachdem Sie sich bei der Web-UI-Verwaltungsoberfläche von cpolar angemeldet haben, klicken Sie im linken Dashboard auf Tunnelverwaltung – Tunnel erstellen:

  • Tunnelname: Kann angepasst werden. Achten Sie darauf, den vorhandenen Tunnelnamen nicht zu duplizieren.
  • Protokoll: TCP
  • Lokale Adresse: 1883 (lokaler Standardport)
  • Domänennamentyp: Temporärer zufälliger TCP-Port
  • Region: Wählen Sie China VIP aus

Klicken创建

Bild-20231108155844792

Öffnen Sie dann die Online-Tunnelliste auf der linken Seite und sehen Sie sich die TCP-Adresse an, die nach der Erstellung des Tunnels generiert wurde. Diese Adresse ist die öffentliche Netzwerkverbindungsadresse. Wir können diese Adresse verwenden, um eine Verbindung zu jedem Gerät herzustellen.

Bild-20231108160004729

4. Der Client stellt eine Remoteverbindung zum MQTT-Dienst her

Die öffentliche Netzwerkadresse wurde oben in cpolar erstellt. Als nächstes verwenden wir das MQTT-Client-Tool mqttfx, um Remote-Verbindungstests durchzuführen. Wenn Sie diesen Client nicht haben, können Sie den offiziellen Download eingeben: https://softblade.de/en/download -2/, Download Klicken Sie nach dem Öffnen der Installation auf das Einstellungssymbol

Bild-20231108163808427

Stellen Sie eine Verbindung über die öffentliche Netzwerkadresse von cpolar her. Der Adresswert ist die öffentliche Netzwerkadresse und der Portwert ist die entsprechende Portnummer nach der öffentlichen Netzwerkadresse. Klicken Sie nach der Eingabe auf Übernehmen.

Bild-20231108163643497

Kehren Sie dann zur Hauptoberfläche zurück und klicken Sie auf „Verbinden“. Das Licht wird grün und zeigt damit an, dass die Verbindung erfolgreich ist.

Bild-20231108163916120

Wir können testen, ob wir Nachrichten veröffentlichen und abonnieren können. Geben Sie zunächst eine Themenabonnement-ID in der Subscribe-Abonnementoberfläche ein und klicken Sie dann auf die Schaltfläche Abonnieren, um das Abonnement zu starten.

Bild-20231108164320230

Geben Sie dann in der Veröffentlichungsoberfläche „Veröffentlichen“ dieselbe Themen-ID ein, geben Sie dann die zu veröffentlichende Nachricht ein und klicken Sie auf die Schaltfläche „Veröffentlichen“.

Bild-20231108164627143

Wenn wir zur Subscribe-Oberfläche zurückkehren, können wir sehen, dass die Informationen erfolgreich abonniert wurden.

Bild-20231108164722273

5. Code ruft den MQTT-Dienst auf

In ähnlicher Weise stellen wir am Beispiel von Java eine Verbindung auf Codeebene her und importieren verwandte Pakete

  <dependency>
            <groupId>org.eclipse.paho</groupId>
            <artifactId>org.eclipse.paho.client.mqttv3</artifactId>
            <version>1.1.0</version>
        </dependency>

Verwenden Sie dann die öffentliche Cpolar-Netzwerkadresse, um eine Verbindung herzustellen, geben Sie die ClientID ein und veröffentlichen Sie eine Nachricht zum gleichen Thema. Für den Test hier wird die Adresse natürlich intern geschrieben. In einer Produktionsumgebung wird beispielsweise eine Konfiguration empfohlen die Adresse extern, um spätere Änderungen zu erleichtern.

Bild-20231108170302838

Nachdem das Programm ausgeführt wurde, können wir im Client-Subscribe-Schnittstellentool sehen, dass wir die in unserem Code veröffentlichten Nachrichtendaten sehen können und der Verbindungstest ebenfalls erfolgreich sein kann.

Bild-20231108170526029

6. Feste TCP-Adresse des öffentlichen Netzwerks

Es ist zu beachten, dass die oben genannten Schritte eine zufällige temporäre TCP-Portadresse verwenden und die generierte öffentliche Netzwerkadresse eine zufällige temporäre Adresse ist, die sich innerhalb von 24 Stunden zufällig ändert. Als nächstes konfigurieren wir eine feste TCP-Portadresse dafür. Diese Adresse ändert sich nicht. Nach dem Festlegen ist es nicht erforderlich, die Adresse jeden Tag wiederholt zu ändern.

Die Konfiguration einer festen TCP-Portadresse erfordert ein Upgrade von cpolar auf das Professional Edition-Paket oder höher.

Reservieren Sie eine feste TCP-Adresse, melden Sie sich anoffizielle Website von cpolar, klicken Sie links auf Reservieren, suchen Sie die reservierte TCP-Adresse, wir werden es tun es für Sie Die Welt reserviert eine feste TCP-Adresse:

  • Region: Wählen Sie China aus
  • Beschreibung: Notizen, anpassbar

Klicken保留

Bild-20231108170758385

Nachdem die Adresse erfolgreich reserviert wurde, generiert das System die entsprechende feste öffentliche Adresse und kopiert sie.

Bild-20231108170843827

Öffnen Sie die Web-UI-Verwaltungsoberfläche von cpolar, klicken Sie im linken Dashboard auf Tunnelverwaltung – Tunnelliste, suchen Sie den oben erstellten TCP-Tunnel und klicken Sie rechts编辑

Bild-20231108170907726

Ändern Sie die Tunnelinformationen und konfigurieren Sie die erfolgreich reservierte feste TCP-Adresse im Tunnel.

  • Porttyp: geändert in festen TCP-Port
  • Reservierte TCP-Adresse: Geben Sie die von der offiziellen Website erfolgreich reservierte Adresse ein.

Klicken更新

Bild-20231108170940383

Nachdem der Tunnel erfolgreich aktualisiert wurde, klicken Sie auf den Status im linken Dashboard – Online-Tunnelliste. Sie können sehen, dass die öffentliche Netzwerkadresse auf eine feste TCP-Adresse aktualisiert wurde.

Bild-20231108171003955

7. Verbindungstest mit fester Adresse

Nachdem die Adresse festgelegt wurde, wird das Programm für die Verbindung auf unsere feste TCP-Adresse geändert. Im Test hier wird die Adresse natürlich intern geschrieben. In einer Produktionsumgebung wird beispielsweise empfohlen, die Adresse zur Vereinfachung extern zu konfigurieren nachträgliche Änderungen.

Bild-20231108171442960

Sie können sehen, dass das empfangene Abonnement die gesendete Nachricht empfangen hat und eine permanente feste Adresse festgelegt wurde.

Bild-20231108171506544

Supongo que te gusta

Origin blog.csdn.net/qq_48652579/article/details/134312225
Recomendado
Clasificación