MQTTブローカーにホームネットワークの外部からアクセスできるようにしたいのですが、ファイアウォールでポートを開くことに少し消極的です。また、ホームIPの使用を避けたいと思います。
暗号化されていないオープンブローカーを自宅に置くことは非常に便利ですが、それを公開しようとしても機能しません。他にどのようなオプションがありますか?
MQTTブローカーにホームネットワークの外部からアクセスできるようにしたいのですが、ファイアウォールでポートを開くことに少し消極的です。また、ホームIPの使用を避けたいと思います。
暗号化されていないオープンブローカーを自宅に置くことは非常に便利ですが、それを公開しようとしても機能しません。他にどのようなオプションがありますか?
回答:
ポートを転送したくない場合は、基本的に3つのオプションがあります。
しかし、適切に構成された(クラウドブローカーとほぼ同じ)ポートにポートを転送することは、実際にはリスクではありません。
ブローカーはサーバーなので、クライアントが接続するために少なくとも1つのポートを開く必要があります。
したがって、問題はインターネット上でサービスを公開する特別なケースになります。
これは、DMZを介して、プロキシまたはデフォルトのサービスよりも厳密な認証を強制するその他の方法で行われています。プロキシがクラウド上にある場合は、DMZをクラウドに拡張するだけです。
最も簡単なアプローチは、おそらくブローカーを強化し(匿名クライアントを無効にし)、ファイアウォールを介してブローカーに接続できるユーザーを制限することです(事前に知っている場合は、特定のクライアントIPアドレスのみを許可します)。
@hardillbは良い答えを出しましたが、「実際の」タッチを追加するいくつかの詳細を追加してみましょう。
パブリックブローカーに接続
ホスト:broker.hivemq.com
ポート:1883
WebSocketポート:8000
最適なクライアントを選択し、それをパブリックMQTTブローカーとの内部ブローカー相互接続に使用します。たとえば、CクライアントはPaho MQTTです。クライアントはSSL / TLSをサポートしているため、セキュリティは高いレベルで維持されます。
Paho MQTT組み込みは、外部デバイスの選択肢になります。
HiveMQには従量制のライセンスポリシーがあるため、慎重に検討できます。とにかく、このページをチェックして、利用可能なクラウドと利用可能なテスト済みMQTTブローカーのリストを確認できます。