だから私はヘッドレスRaspberry PiのUbuntu上で動作し、ポート80でリッスンし、それ自体が外部IoTデバイスとトラフィックを転送するスタンドアロンブローカーサービスの形で簡単なソリューションを探しています。独自の内部機能を備えた独立したネットワークWebサーバー。
シーンはこんな感じです。
Ubuntu 20.10を実行する専用Raspberry PI。アドレス192.168のeth0ネットワークがあります。。Piとデバイスが並んでいて他のネットワークデバイスが稼働していないため、これはIoTデバイスを接続するためのリバースケーブルにすぎません。 PIには172のwlan0ネットワークもあります。。.*であり、Apacheを実行しますが、PIのページを提供すると同時に、デフォルトのHTTP / HTTPSポートをIoTボックスへのパススルーに使用できるように、代替の受信ポートがあります。
IoTボックスはターンキーデバイスなので、ソフトウェアをインストールできません。ポート80を介してアクセスできる独自のWebブラウザがあります。現在はHTTPSポートがわかりません。どちらのネットワークもプライベートWRTインターネットなので、これが問題にならないと思います。 IoTデバイスはWebページにアクセスするためにHTTPパスワードを必要とするかもしれませんが、まったく最新ではないので、基本的な認証や仕事を複雑にしすぎないように動作することを願っています。よくわかりません。接続は次のとおりです。すべてインターネットファイアウォールの背後にあるプライベートネットワークなので保護されています。
私が望むのは、172のどのコンピュータでもナビゲートできることです。。.*ローカルWi-Fi、PIのポート80に接続し、192.168.*のポート80からIoTデバイスWebサーバーのコンテンツにアクセスできます。。ネットワーク。ほとんどの場合、PIは有線イーサネットのみが利用可能なIoTデバイスにリモートWi-Fiアクセスを提供することに焦点を当てています。
2つのインターフェイス間であるネットワークから別のネットワークにポートセット全体を転送するのではなく、IoTのWebページがPIで提供されているかのようにアクセスできるようにするためだけに必要です。
たくさん試してみました。 PIはnetplanとufwを使用して設定され、両方のネットワークがPIからアクセスでき、代替ポートを介してPIのApacheサーバーに移動できます。 PI から IoT デバイスページに移動することもできます。したがって、両方のネットワークが機能してアクセスでき、ufw AFAIKを使用して関連ポートを開きました。
それから私はufwを使ってポートを転送しようとしましたが、PIの1つのポートだけがPIの別のポートに転送するように見えましたが、これは私が望むものではありません。完全にはわかりませんが、いくつかの例のバリエーションを試してみると、そのように動作するようです。問題は明らかに同様の構成を持ついくつかの例のレシピを見ましたが、説明は彼らがどのように機能するか不足しているようで何をしようとするのか理解できないまま試みるだけで、ダメなら診断も推論もできないんです。
それからPortFusionが可能な候補のように見えることを発見しました。動作するバージョンを見つけるのに長い時間がかかりました。最新のソースコード1.2.2はエラーなしでビルドできませんでした(Haskellにあります)、最終的にARM(v1.2.1)で動作するバージョンを見つけましたが、それはできませんでした。うまくいかず、文書や例は限られており、本質的にあきらめたものであり、質問する場所もありませんでした。だからあきらめました。
それから別の潜在的な候補のように見えましたが、クライアントとサーバーの両方の部分が必要なようで、IoTデバイスに何もインストールできなかったので、frpに接続しようとしたfrpが正しいツールではないようです。
また、SSHを使用してトンネルを確立することに関する言及も見たことがありますが、受信側でSSHを使用する必要があるようです。 SSHには何もインストールできないため、これはオプションではありません。誰かがnetcatが似たようなことをすることを提案しました。おそらく?しかし、どのように双方向にすることができますか? IoT デバイスの発信応答が HTTP 要求の外部発信者にどのように返送されるかは不明です。
このような場合のようですしなければならない非常に簡単なことですが、問題の一部は、作業に適したツール(ポート転送、NAT、トンネリング、ブリッジング、プロキシ、またはそれらの組み合わせ)が何であるかを実際には知らないことです。これらのツールのすべての文書は、私が望むものとは無関係であると仮定する例を含む、概して文書化されていない状態、またはツール自体が単に他のタスクを実行するように設計されています。
Overlapping、netplan、networkmanager、networkd、iptables、ufw、ssh、netcatなど関連しているように見えるツールがたくさんあり、あらゆる種類の奇妙なことが間違っている可能性があります。具体的には、次のようにこれらの異なるツールの切り替えを開始すると、一部のツールは次のように見えます。同じで互いに干渉します。
誰かが私に正しい方向を伝え、どのツールを使用してどのようなサービスを設定する必要があるかを提案できれば、今は少し輻輳して全くわかりません。