ユニット#1(192.168.1.1)からユニット#2(.1.2)にudpビデオストリームを送信する独自のシステムがあります。このシステムに変更を加えることはできません。別のプログラムでアクセスできるように、このudpストリームを複製しようとしています。このプログラムはビデオを処理し、マルチキャストストリームとして再度送信します。
3つのネットワークカードを備えたLinuxマシン(Ubuntu Server 12.04を実行中)を使用してこれを実行したいと思っています。ユニット#1と#2をLinuxマシンの2つのネットワークカード(eth0とeth1)に接続し、ブリッジを使用して、それらを通信させます。私の/ etc / network / interfacesは次のようになります:
# The loopback network interface
auto lo
iface lo inet loopback
# The external interface
auto eth3
iface eth3 inet static
address 192.168.10.2
netmask 255.255.255.0
# The bridge interface
auto br0
iface br0 inet manual
bridge_ports eth0 eth1
これは機能し、tcpdumpを使用して、udpパケットが#1から到着し、ポート6000で#2に向かっていることを確認しました。
次のステップは、iptablesを使用して、192.168.1.1から#2のポート6000に送信されるすべてのudpパケットを複製することです。私はiptablesにあまり詳しくありませんが、オンラインとマニュアルを読んだ後、これはうまくいくと思いました:
iptables -A PREROUTING -t mangle -p udp -s 192.168.1.1/32 --dport 6000 -j TEE --gateway 192.168.10.2
ルールは正常に適用されましたが、機能しません。tcpdumpを使用してeth3を監視すると、そこにパケットが表示されません。
このストリームを取得して処理し、.10.2インターフェイスでマルチキャストとして送信したいと思います。
何が悪いのですか?誤解したことがありますか?