最小限のyoctベースのLinuxがあり、GUIなしの組み込みボードがあります。イーサネットおよびWiFiインターフェイスが動作しています。
これで、私のイーサネットポート()にAxis F44(192.168.30.35)カメラが接続されています192.168.30.34
。私のWiFiインターフェイスにはuap0
APモードの固定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 を使用して特定のルートを通知するには、次の両方の機能が必要です。
-
RFC 標準トレースオプションです。
-
または、以前のWindowsシステムではこれを取得できません。
構成は、システムで使用される DHCP サーバーによって異なります。それおそらく 歯、どちら基本サポートなしこれらのオプションでは、任意のオプションを処理できます。そこに説明されている(これを行うには、RFCのオプションをよく理解する必要があります。)
そして、192.168.30.34を介してカメラのデフォルトパスを設定することを忘れないでください(手動またはDHCP、上記のオプションは必要ありません)。
しかし、そうすることは、次の理由で面白くないかもしれません。
- 複雑なDHCPオプションと2番目のネットワークを使用すると、このネットワークが自分のネットワーク設定と競合する可能性があります。
- それでも理事会の二重体制の存在が明らかになった。
-
または、NATの後ろにカメラが隠されている場合もあります。
次のように使用してALG
nf_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についてよく知りませんが、これは十分だと思います。