여러 인터페이스에서 멀티캐스트 패킷을 복제하는 방법은 무엇입니까?

여러 인터페이스에서 멀티캐스트 패킷을 복제하는 방법은 무엇입니까?

멀티캐스트 주소를 통해 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이 두 가지 모두 로 전송되도록 전용 라우팅 규칙을 만들어야 한다고 가정합니다 . 내 질문은: 어떻게 할 수 있습니까? 및 을 사용해 보았지만 성공하지 못했습니다.bnep0bnep1ip routeiptables -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

관련 정보