ルータの背後にあるプライベートネットワークにアクセスするには? [重複]を渡すことはできません。

ルータの背後にあるプライベートネットワークにアクセスするには? [重複]を渡すことはできません。

遠いルーターの後ろにビデオ監視システム(個人IPを含む複数のIPカメラ)があります。その地域で唯一利用可能なISPは、3G / 4G USBアダプタ(デフォルトではモバイルインターネット)を提供しました。明らかに、このドングル(ルーターに接続されている)自体がいくつかのルーティング/魔法を実行するので(構成できない)、ポート転送にルーターを使用することはできません(少なくとも役に立つことはありません)。これは、カメラがインターネットにアクセスできる(しかし私に情報を送ることができる)が、私はインターネットを介してカメラに直接アクセスできないことを意味します(したがって、基本的にリアルタイムのフィードバックはありません)。

私はIPカメラと同じサブネットに低電力コンピュータ(この質問ではソフトウェアは重要ではありませんが、Linuxを使用します)を配置することでこの問題を解決するつもりです。このコンピュータをAと呼びます。また、VPSをレンタルしました。インターネット経由で公的にアクセスできる場所 - Bと呼びます。

この設定を使用すると、ライブストリーミングでこの問題を解決できるようです。少なくとも概念的には、AがBのトンネルを開くようにする場合、AのネットワークはBIを介してアクセスできる必要があります。

上記の作業がうまくいくと仮定すると(なぜならないのかわかりませんが、それで尋ねます)、上記の作業をできるだけ簡単に実行できるシステムをお勧めできますか?私は..AをVPNクライアントに設定し、BをVPNサーバーに設定する必要がありますか?それでは、カメラを見たい人はBにインストールされたVPNサーバーに接続すればいいのでしょうか?

私の考えではこれがうまくいくようですが、カメラを確認したいすべてのコンピュータにVPNを設定するよりも簡単な方法があるかもしれません。

私はソフトウェアに直接関心があるのではなく(それが存在すると確信して構成しようとします)、むしろネットワーキングの概念に興味があります。

理想的には、ポート8080からBに接続し、トラフィックはトンネルを介してBからAに自動的にルーティングされます。この時点で、Aは対応する接続​​を介してカメラ「1」からデータを提供し、次いでカメラ「2からデータを提供する。」8081等。

答え1

VPSもLinuxを実行すると仮定し、Bがゲートウェイとして機能するAからBへのSSHトンネルを確立します。これにより、Bにネットワークカメラ1のIPに対応するポート8080で受信するように指示できます。

したがって、ボックスAで次のパラメータを使用してsshを実行します。
ssh -nNT -R 8080:ipcam1:<ipcamport> -R 8081:ipcam2:<ipcamport> <VPS IP>

VPSに固定IPアドレスがあることを願っています。また、他のコンピュータがB経由で接続してAに到達できる
ようにSSHデーモンを変更する必要があるため、VPSを完全に制御できる必要があります。GatewayPorts

Debian では、GatewayPorts オプションが/etc/ssh/sshd_config.ファイルの末尾に
追加してGatewayPorts yesSSHデーモンを再起動すると、変更が有効になります。

答え2

3G / 4Gルーターの背後にシステムがインストールされている場合は、そのシステムsshから3G / 4Gルーターの外部にある他のシステムにSSHを介して接続し、逆方向SSHトンネルを確立できます。

これにより、トンネルを介して外部コンピュータのport@hostにアクセスでき、3G / 4Gルータの背後にあるport@hostにアクセスできます。

$ ssh -f -N -T \
    -R 8080:cam1:<cam's port> \
    -R 8081:cam2:>cam's port> \
   <hostname of external system>

ルーターの背後にあるSSHサーバーがローカルホスト以外のポートにアクセスできるようにするには、次の質問を参照してください。この機能をGatewayPortsと呼びますsshd_config

次のタイトルの2番目のリンクを必ず読んでください。SSH経由でプライベートIPに、目的のタスクを実行する方法、設定方法、およびGatewayPorts設定全体をテストする方法について詳しく説明します。

関連情報