장치 # 1 (192.168.1.1)에서 장치 # 2 (.1.2)로 udp 비디오 스트림을 전송하는 독점 시스템이 있습니다. 이 시스템을 변경할 수 없으며이 udp 스트림을 복제하여 다른 프로그램에서 액세스 할 수 있습니다. 이 프로그램은 비디오를 처리하여 멀티 캐스트 스트림으로 다시 보냅니다.
네트워크 카드가 3 개인 Linux 시스템 (현재 Ubuntu Server 12.04를 실행)을 사용하여이 작업을 수행하려고합니다. Linux 컴퓨터의 두 번째 네트워크 카드 (eth0 및 eth1)에 장치 # 1 및 # 2를 연결하고 브리지를 사용하여 통신하게되었습니다. 내 / 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에서 오는 모든 udp 패킷을 # 2의 포트 6000으로 보내는 복제하는 것입니다. 나는 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 인터페이스에서 멀티 캐스트로 보내려고합니다.
내가 무엇을 잘못하고 있지? 내가 잘못 이해 한 것이 있습니까?