複数のデバイスを持つ一般的なローカル(192.168.1.x)ネットワークとインターネットに接続されているルーターがあります。
デバイスの1つは、WiFi経由で接続されたRaspberry(192.168.1.2)です。また、他のIP(LAN IP 192.168.4.1)を使用してイーサネット経由でIPカメラ(192.168.4.2)に接続されており、基本的には下図のように2つのネットワークがあります。
ネットワークカメラにはHTTPライブストリーミング機能があります(場所:http://192.168.4.1)はRaspberryからアクセスできますが、ルーターネットワーク上のデバイスではアクセスできないようです。
Raspberryを介してIPカメラページにアクセスする方法はありますか?例えば、http://192.168.1.2ルータネットワーク内のすべてのデバイスから内部ネットワークからIPカメラのWebページにトンネリング/リダイレクトされますか?
答え1
これを達成する方法はいくつかあります。ネットワークの残りの部分を考慮しても、リバースプロキシを使用することにはあまり利点はありません。おそらく一度設定すると、他の方法よりもはるかに難しくなく、はるかに柔軟性が高く、Webカメラなどのデバイスをインターネットにさらすすべての人にとっては確実に開始点になるはずです。
利用できる優れたhttpプロキシソフトウェアがたくさんあります。私はApache httpdよりもhaproxyよりnginxを好みます。 OTOHすでにSquidを順方向プロキシとして実行している場合は、この操作も実行できます。
nginxの設定は簡単かもしれません...
server {
listen 80;
listen [::]:80;
server_name _;
location / {
proxy_pass http://182.168.1.2/;
}
}
ただし、ネットワークに非友好的なアクセスが発生する可能性がある場合は、認証、TLS、ホワイトリストのセキュリティURLを追加する必要があります。
答え2
1 つの方法は、RasPi で 192.168.4.0/24 ネットワークへの静的ルートを作成することです。
RasPi では、次のコマンドを使用できます。
ip route add 192.168.4.0/24 dev eth1
...eth1
カメラインターフェイスに置き換えられました。
ルータの設定 どこかに固定ルートを設定するオプションがあります。下の画像は、TP-Linkルータから取得した画像です。表示される画像は少し異なって見えるかもしれませんが、同じ要素を持っています。
192.168.4.1をターゲットに設定することもできます。その後、内部ネットワークのデバイスは単にカメラにアクセスできます。http://192.168.4.1。
ルータにスタティックルートがない場合、次のことが発生します。
- クライアントは192.168.4.1にアクセスしようとします。
- 別のネットワークにあるため、ルーターであるゲートウェイにパケットを送信します。
- ルータは192.168.4.0/24ネットワークに接続する方法がわからないので、他のルータにルートを知っているかどうかを尋ねます。
- 他のルータが応答しないためパケットを破棄します。
または、すべてのトラフィックを192.168.1.2ポート80から192.168.4.1に転送するようにRasPiの転送ルールを設定できます。その後、内部クライアントは192.168.1.2に移動してカメラにアクセスできます。