2016-08-11 5 views
3

이것은 하나의 프로그램에서만 작동하며 솔루션에 대한 해결책을 묻는 소스 액세스 권한이 필요하지 않은 How to multicast send to all network interfaces?과 다릅니다.모든 인터페이스에 대한 멀티 캐스트 경로

네트워크에서 볼 수있는 멀티 캐스트 트래픽을 생성하는 프로그램이 많지만, 네트워크에 장애가 발생해도 "경로 없음"으로 죽지 않도록합니다.

그래서 내가 원하는 것은 모든 멀티 캐스트 트래픽을 컴퓨터에서 모든 사용 가능한 인터페이스로 라우팅하거나 인터페이스가없는 경우 루프백하는 것입니다.

sudo ifconfig lo multicast 
sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev lo 

을하지만이 사람들이 멀티 캐스트를 얻을 수 eth0를 또는 wlan0를 사용하는 것을 의미한다 :

리눅스에 나는 말할 수있다.

마찬가지로 내가 말할 수 있습니다

sudo ifconfig lo multicast 
sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 

그러나 wlan0가 멀티 캐스트를 얻을 것이다. 더 나쁜 것은, 모든 프로그램이 다운되면 "no multicast ip"로 프로그램이 다운되는 것입니다.

루프백을 포함하여 모든 어댑터로 이동하도록 어떻게 경로를 설정합니까?

답변

1

경로를 사용하여 mutlicast 경로를 여러 장치에 추가 할 수 있습니다.

sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 
sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev wlan0 

는 라우팅 테이블에 반영하고 작동하려면 별도의 NIC에서 작동하는 우리의 서비스를 허용했다.

그러나 그게 분명하지 않습니다. 이어야합니다.

나는이 "유효"입니다 내가 분명히 "IP 경로"를 사용하여/오래된되지 않습니다 경로를 사용하는 포트에 노력한다는 것입니다 확실하지 않다 이유는, 예를 들어

ip route add 224.0.0.0/4 dev eth0 
ip route add 224.0.0.0/4 dev wlan0 

그러나 IP 경로 원 두 번째 경로를 추가 할 수 없습니다. 나는 asked about을 명시 적으로 멀티 캐스트 그룹 주소를 사용하지 않고 ip 경로를 올바르게 사용하는 방법을 가지고 있지만, 경로 사용에 익숙하다면 사용할 각 장치에 경로를 추가 할 수 있어야합니다.