Здравствуйте, у меня, вероятно, есть вопрос noob, я уже потратил на это некоторое время и испортил локальную сеть, поэтому:
У меня есть мини-ПК для ведения журнала в реальном времени между сетью и IPTV-приставкой. На коробке есть DHCP, поэтому он также может предоставить IP-адрес. Также приложение под названием loglicent используется для захвата журналов, поступающих через телеприставку.
Eth0 подключен к внешней сети с настроенной многоадресной рассылкой. На Eth1 есть телеприставка с IP, работают не многоадресные службы (воспроизведение из хранилища и т. Д.), А вот прямой поток - многоадресный - нет.
Я попытался https://github.com/pali/igmpproxy но это не сработало, поскольку мини-ПК начал вести себя как маршрутизатор, и другие устройства запрашивали этот mcast, конечно, без ответа.
Так что мне интересно, есть ли простой способ, как просто транслировать трафик mcast между eth0 и eth1? Приложение logclient все еще работает.
igmpproxy
это правильный способ справиться с вашей ситуацией. Однако, чтобы многоадресный трафик проходил через ваш маршрутизатор, вы должны установить следующие sysctl
переменные:
sysctl net.ipv4.conf.all.rp_filter=2
sysctl net.ipv4.conf.all.mc_forwarding=1
какой igmpproxy
заключается в том, что он перенаправляет запросы на присоединение / выход для групп многоадресной рассылки, поступающие от вашего STB, в вышестоящую сеть, однако, если mc_forwarding
отключен, многоадресный трафик не будет маршрутизироваться и rp_filter
обычно требуется, потому что большинство многоадресных ТВ-потоков обычно имеют странные исходные IP-адреса, которые могут перекрываться с вашим собственным сетевым пространством.