同じデバイス内のイーサネットからWiFiネットワークへのrtspビデオストリームのリダイレクト

同じデバイス内のイーサネットからWiFiネットワークへのrtspビデオストリームのリダイレクト

最小限のyoctベースのLinuxがあり、GUIなしの組み込みボードがあります。イーサネットおよびWiFiインターフェイスが動作しています。

これで、私のイーサネットポート()にAxis F44(192.168.30.35)カメラが接続されています192.168.30.34。私のWiFiインターフェイスにはuap0APモードの固定IP:があり、192.168.42.1デバイスをステーションにWiFiに接続すると、デバイスはIP:を受信します192.168.42.25。次の図は、ネットワークの詳細を示しています。

ネットワークの詳細

192.168.42.25モバイルデバイスアプリケーションでカメラのRTSPストリームを再生するには、モバイルデバイス()がカメラ(192.168.30.35)にpingを開始し、その逆も可能になるようにボード上でどのネットワーク変更を行う必要があるのか​​わかりません。

誰もが目標を達成する方法を提案できますか?または、どのネットワーク構成(ブリッジングまたはIP転送)が必要ですか?

デバイスのインターフェース:

eth0      Link encap:Ethernet  HWaddr E2:5D:60:CB:29:99  
          inet addr:192.168.30.34  Bcast:192.168.30.255  Mask:255.255.255.0
          inet6 addr: fe80::e05d:60ff:fecb:2999%lo/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:24 errors:0 dropped:0 overruns:0 frame:0
          TX packets:209 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2030 (1.9 KiB)  TX bytes:17571 (17.1 KiB)


uap0      Link encap:Ethernet  HWaddr D4:CA:6E:5E:4E:01  
          inet addr:192.168.42.1  Bcast:192.168.42.255  Mask:255.255.255.0
          inet6 addr: fe80::d6ca:6eff:fe5e:4e01%lo/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2617 errors:0 dropped:0 overruns:0 frame:0
          TX packets:78 errors:18 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:180796 (176.5 KiB)  TX bytes:4590 (4.4 KiB)

答え1

以下は、Yoctoシステムを構成する方法に関するいくつかの提案です。各トピックをより徹底的に調査する必要があります。すべて長所と短所がありますが、最後のNAT(NAT)を使用することをお勧めします。

  • ブリッジとして設定

    LinuxシステムはAPなので、イーサネットインターフェイスとWi-Fiインターフェイスを一緒に接続することは完全に可能です。特定の方法では構成が必要です。所有者ブリッジを正しく使用してください。いくつかのヒントここそしてそこ

    今回は192.168.42.1を使用するようにカメラを設定する必要があるかもしれませんが(ビルド時に手動でまたはDHCPを使用して)、YoctoシステムはまだDHCPを必要とするため、192.168.42.0/24に(異なる)IPアドレスを持つ必要がありますします。仕える人。

    だから、まだボードの二重の性格を明らかにします。 Yoctoシステムを完全に透明にし、まだDHCP(192.168.42.1に基づく)を提供する方法があるかもしれませんが、これは複雑かもしれません。

  • ルーターとして設定

    IP転送を有効にする必要があります。

    • カメラシステム表示

      つまり、DHCPを使用してカメラへのパスを知らせる必要がありますが、デフォルトパスとしては使用できません。新しいデフォルトパスにより、エンドユーザーはカメラを使用するためにインターネットが切断されません。 DHCP を使用して特定のルートを通知するには、次の両方の機能が必要です。

      構成は、システムで使用される DHCP サーバーによって異なります。それおそらく 、どちら基本サポートなしこれらのオプションでは、任意のオプションを処理できます。そこに説明されている(これを行うには、RFCのオプションをよく理解する必要があります。)

      そして、192.168.30.34を介してカメラのデフォルトパスを設定することを忘れないでください(手動またはDHCP、上記のオプションは必要ありません)。

      しかし、そうすることは、次の理由で面白くないかもしれません。

      • 複雑なDHCPオプションと2番目のネットワークを使用すると、このネットワークが自分のネットワーク設定と競合する可能性があります。
      • それでも理事会の二重体制の存在が明らかになった。
    • または、NATの後ろにカメラが隠されている場合もあります。

      次のように使用してALGnf_nat_rtspプロジェクトが提供する外部(非主流)Linuxカーネルモジュールrtsp - Linux(例えばDebianでは、次のようにパッケージ化されています。nat-rtsp-dkms)次のような適切なNAT規則と一緒に:

      iptables -t nat -A PREROUTING -i uap0 -d 192.168.42.1 -p tcp --dport 554 -j DNAT --to-destination 192.168.30.35
      iptables -t nat -A PREROUTING -i uap0 -d 192.168.42.1 -p udp --dport 554 -j DNAT --to-destination 192.168.30.35
      

      そして、このブログで説明されているように、適切な補助モジュールの設定:iptablesと接続追跡ヘルパーの安全な使用またはセキュリティ上の考慮事項を考慮して、「安全でない」方法を再度有効にしてください。

      sysctl -w net.netfilter.nf_conntrack_helper=1
      

      要約:

      • 複雑なDHCP構成を避け、ボードに2番目のシステムがさらされないようにしてください(事実)

      • デュアルNATが完了すると、カメラにはデフォルトルートも必要ありません。

        iptables -t nat -A POSTROUTING -o eth0 -s 192.168.42.0/24 -j MASQUERADE
        
      • カーネルモジュールが必要なため、以前に組み込みシステムで有効になっていない場合は、カーネルモジュールをサポートする必要があります。

      • RTSP互換性のためにモジュールを検証する必要があります。

答え2

シングルボードコンピュータでIP転送を有効にすることをお勧めします。置く:

net.ipv4.ip_forward=1

そして/etc/sysctl.conf実行してくださいsudo sysctl -p。これがyoctoでどのように機能するのかわかりません。

その後、トラフィックがyoctoコンピュータを介してコンピュータからカメラにルーティングされていることを確認する必要があります。これは、コンピュータの他のネットワークインターフェイスがどのように設定されているかによって異なります。通常、次のようにする必要があります。

ip route add 192.168.30.0/24 via 192.168.42.1 dev wlp2s0

私はRTSPについてよく知りませんが、これは十分だと思います。

関連情報