Linux で Mosquitto MQTT プロトコル メッセージ サーバーを構築し、イントラネット侵入ツールと組み合わせてパブリック ネットワーク アクセスを実現します。

序文

Mosquitto は、MQTT プロトコル バージョン 3.1 および 3.1.1 を実装するオープン ソースのメッセージ ブローカーです。 Windows、Linux、macOS などのさまざまなプラットフォームで実行できます。 Mosquitto は、モノのインターネット、センサー、モバイル アプリケーションなどのシナリオで使用でき、軽量で信頼性の高いパブリッシュ/サブスクライブのモデルベースのメッセージング メカニズムを提供します。

MQTT プロトコルを介したリモート アクセスの利点は、ネットワークを介したリモート通信が可能になり、さまざまな場所でデバイスを制御および監視できることです。同時に、MQTT プロトコルは軽量、効率的、信頼性が高く、低帯域幅で不安定なネットワーク環境でも安定して実行できます。さらに、MQTT プロトコルは複数のプログラミング言語とプラットフォームもサポートしているため、開発者は二次開発や統合を行うのが便利です。

以下では、Linux で Mosquitto MQTT プロトコル メッセージ サーバーを構築し、それを Cpolar イントラネット侵入ツールと組み合わせてリモート接続を実現する方法を説明します。

1. Linux 上で Mosquitto を構築する

この例は centos 7 システム上にあり、yum を使用してワンクリックでインストールします。

yum install mosquitto -y

インストールが完了したら、Mosquitto サービスを操作するためのコマンドをいくつか示します。

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

スタートアップ コマンドを実行した後、 と入力してステータスを表示します。サービスが正常に実行され、ローカル インストールが成功したことがわかります。次に、cpolar ツールをインストールして、Mosquitto サービスのローカル ポートに侵入します< /span>1883 、リモート アクセス接続を実現します。

画像-20231108154838984

2. Linux に Cpolar をインストールする

上記で Mosquitto MQTT サーバーのインストールに成功しました。次に、Linux に cpolar イントラネット侵入ツールをインストールし、cpolar を介してローカル ポート マッピングのパブリック ネットワーク アドレスを転送します。ドメイン名の登録やクラウド サーバーの購入を行わずに、簡単にリモート アクセスを実現できます。以下は cpolar をインストールする手順です。

cpolar公式サイトアドレス:https://www.cpolar.com

  • ワンクリックスクリプトインストールコマンドを使用する
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • システムにサービスを追加する
sudo systemctl enable cpolar
  • cpolarサービスを開始する
sudo systemctl start cpolar

cpolar が正常にインストールされたら、外部ブラウザで Linux ポート 9200 にアクセスします: [http://LAN ip:9200]。cpolar アカウントを使用してログインします。ログイン後、cpolar Web 設定インターフェイスが表示されます。 Web 管理インターフェイス。設定するだけです。

画像-20230831171159175

3. MQTT サービスのパブリック ネットワーク接続アドレスを作成します

cpolar Web UI 管理インターフェイスにログインした後、左側のダッシュボードで [トンネル管理] - [トンネルの作成] をクリックします。

  • トンネル名:カスタマイズ可能ですが、既存のトンネル名と重複しないように注意してください。
  • プロトコル: tcp
  • ローカルアドレス: 1883 (ローカルのデフォルトポート)
  • ドメイン名のタイプ: 一時的なランダム TCP ポート
  • 地域: 中国 VIP を選択

クリック创建

画像-20231108155844792

次に、左側のオンライン トンネル リストを開き、トンネルの作成後に生成された TCP アドレスを表示します。このアドレスはパブリック ネットワーク接続アドレスです。このアドレスを使用して任意のデバイスで接続できます。

画像-20231108160004729

4. クライアントは MQTT サービスにリモート接続します

パブリック ネットワーク アドレスは、上記の cpolar で作成されました。次に、MQTT クライアント ツール mqttfx を使用して、リモート接続テストを実施します。このクライアントをお持ちでない場合は、公式ダウンロードを入力してください: https://softblade.de/en/download -2/、ダウンロード インストールが開いたら、設定アイコンをクリックします

画像-20231108163808427

cpolar パブリック ネットワーク アドレスを介して接続します。[アドレス] 値はパブリック ネットワーク アドレス、[ポート] 値はパブリック ネットワーク アドレスに続く対応するポート番号です。入力後、[適用] をクリックします。

画像-20231108163643497

次に、メイン インターフェイスに戻り、[接続] をクリックすると、ライトが緑色に変わり、接続が成功したことを示します。

画像-20231108163916120

メッセージを公開してサブスクライブできるかどうかをテストできます。まず、サブスクライブ サブスクリプション インターフェイスにトピック サブスクリプション ID を入力し、[サブスクライブ] ボタンをクリックしてサブスクリプションを開始します。

画像-20231108164320230

次に、「公開」公開インターフェースで、同じトピック ID を入力し、公開するメッセージを入力して、「公開」ボタンをクリックします。

画像-20231108164627143

購読インターフェイスに戻ると、情報が正常に購読されたことがわかります。

画像-20231108164722273

5. コードは MQTT サービスを呼び出します

同様に、Java を例としてコード レベルで接続し、関連パッケージをインポートします。

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

次に、Cpolar パブリック ネットワーク アドレスを使用して接続し、ClientID を入力して、同じトピックにメッセージをパブリッシュします。もちろん、ここでのテストでは、アドレスは内部的に書き込まれます。たとえば、運用環境では、次のように設定することをお勧めします。その後の変更を容易にするために、アドレスを外部に設定します。

画像-20231108170302838

プログラムを実行すると、クライアントの Subscribe インターフェイス ツールで、コード内にパブリッシュされたメッセージ データが表示され、接続テストも成功することがわかります。

画像-20231108170526029

6. 固定接続 TCP パブリック ネットワーク アドレス

上記の手順ではランダムな一時的な TCP ポート アドレスが使用され、生成されるパブリック ネットワーク アドレスはランダムな一時的なアドレスであり、24 時間以内にランダムに変更されることに注意してください。次に、固定の TCP ポート アドレスを設定します。このアドレスは変更されません。設定後は、毎日繰り返しアドレスを変更する必要はありません。

固定 TCP ポート アドレスを設定するには、cpolar を Professional Edition パッケージ以上にアップグレードする必要があります。

固定 TCP アドレスを予約し、cpolar 公式 Web サイトにログインし、左側の [予約] をクリックして、予約された TCP アドレスを見つけます。世界は固定 TCP アドレスを予約しています:

  • 地域: 中国を選択
  • 説明: メモ、カスタマイズ可能

クリック保留

画像-20231108170758385

アドレスが正常に予約されると、システムは対応する固定パブリック アドレスを生成してコピーします。

画像-20231108170843827

cpolar Web UI 管理インターフェイスを開き、左側のダッシュボードで [トンネル管理] - [トンネル リスト] をクリックし、上で作成した TCP トンネルを見つけて、右側の をクリックします。编辑

画像-20231108170907726

トンネル情報を変更し、正常に予約された固定 TCP アドレスをトンネルに構成します。

  • ポートタイプ: 固定 TCP ポートに変更されました
  • 予約済みの TCP アドレス: 公式 Web サイトで正常に予約されたアドレスを入力します。

クリック更新

画像-20231108170940383

トンネルが正常に更新されたら、左側のダッシュボードのステータス - [オンライン トンネル リスト] をクリックすると、パブリック ネットワーク アドレスが固定 TCP アドレスに更新されたことがわかります。

画像-20231108171003955

7. 固定アドレス接続テスト

アドレスを固定した後、プログラムを修正して当社の固定 TCP アドレスに接続します。もちろん、ここでのテストでは内部でアドレスを書き込んでいます。たとえば、本番環境では、アドレスを外部で設定して接続することをお勧めします。その後の変更。

画像-20231108171442960

受信したサブスクリプションが送信メッセージを受信し、永続的な固定アドレスが設定されていることがわかります。

画像-20231108171506544

おすすめ

転載: blog.csdn.net/qq_48652579/article/details/134312225