멀티캐스트 주소를 통해 Linux 서버에서 여러 Linux 클라이언트로 스트림을 보내고 싶습니다. 클라이언트는 서버에 직접 연결되어 있지만다양한 인터페이스: bnep0
그리고 bnep1
. 게다가 내가 아는 한 내 멀티캐스트 패킷은 내 기본 게이트웨이로 라우팅됩니다 eth0
.
이후 라우팅 테이블:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 bnep1
10.0.1.0 0.0.0.0 255.255.255.0 U 0 0 0 bnep0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
내 멀티캐스트 패킷이 이 아닌 및 eth0
이 두 가지 모두 로 전송되도록 전용 라우팅 규칙을 만들어야 한다고 가정합니다 . 내 질문은: 어떻게 할 수 있습니까? 및 을 사용해 보았지만 성공하지 못했습니다.bnep0
bnep1
ip route
iptables -t mangle ... TEE
미리 감사드립니다.
답변1
해결책은 두 인터페이스에 패키지를 복제하기 위해 라우팅 규칙을 구현하는 것이 아니라병합인터페이스를 하나로 통합합니다.
이를 위해서는 네트워크 브리지를 생성하고 사용해야 합니다. 브리지에는 고유한 IP 주소가 있어야 하지만 "실제" 인터페이스는 작동하더라도 그렇지 않습니다.
# apt-get install bridge-utils
# ifconfig bnep0 up
# ifconfig bnep1 up
# brctl addbr br0
# brctl addif br0 bnep0
# brctl addif br0 bnep1
# ifconfig br0 10.0.0.1 netmask 255.255.255.0