Я получаю IPTV (многоадресную передачу) от своего интернет-провайдера (Deutsche Telekom), и он уже работает без каких-либо проблем с основным приемником, который напрямую подключен к моему маршрутизатору dsl (AVM Fritz! Box 7390).
Теперь есть еще один приемник, который не может быть подключен по Ethernet-проводу. Итак, я попытался создать беспроводной проводной мост с моим ноутбуком, который не работает, потому что мосты могут включать только интерфейсы eth или беспроводные интерфейсы в режиме master.
------------ wireless ---------- wired ----------
|dsl router| ))) ((( |notebook| ----- |receiver|
------------ ---------- ----------
wlan0 eth0
Получение многоадресной рассылки на моем ноутбуке через беспроводной интерфейс wlan0 работает нормально (сигнализируется с помощью igmpv2!). Когда я добавляю виртуальный маршрут к 224.0.0.0/4 через eth0, приложение (медиаплеер vlc) пытается присоединиться к группам многоадресной рассылки посредством передачи сигналов с помощью igmpv3 (я отслеживаю потоки трафика с помощью wireshark). Может ли это быть проблемой для пересылки многоадресных пакетов позже?
Второй приемник напрямую подключен к моему ноутбуку. Не имеет значения, осознаю ли я это по собственной маршрутизации или по трафику, идущему по wlan0: Unicast работает нормально, но многоадресная рассылка не пересылается. DHCP-сервер работает на ноутбуке, и на маршрутизаторе dsl также добавлена директива маршрутизации в новую подсеть. Я также попытался добавить многоадресные маршруты на ноутбуке (224.0.0.0/4 через dev eth0 и / или через wlan0), но у меня не получилось.
Самым простым решением было бы получить какой-нибудь адаптер Powerline, поддерживающий igmpv3 и многоадресную рассылку, но я бы хотел, чтобы этот материал работал с ноутбуком в качестве маршрутизатора, потому что позже эту роль должен сыграть малиновый пи.
Можно ли пересылать многоадресные пакеты в Linux? Какие правила необходимы? Могу ли я реализовать eth bridge с управляемым wlan0 без компиляции собственной версии ядра?
Заранее спасибо, Эрик
Я получил рабочее решение для окружающей среды, упомянутой выше.
На ноутбуке-мосте, который подключен к Интернету через wlan0 (192.168.2.0/24) и к новой подсети через eth0 (192.168.28.0/24), я установил все, чтобы он работал в качестве маршрутизатора. По этой причине я добавил статический маршрут в моем маршрутизаторе dsl в новую подсеть через ноутбук. Если это невозможно, вы также можете применить правило NAT на мосту с помощью iptables:
sudo iptables -t nat -A POSTROUTING -o wlan0 -s 192.168.28.0/24 -j MASQUERADE
После этого я скачал igmpproxy с http://sourceforge.net/projects/igmpproxy/ [ 114] и установил его (документация по установке включена в файл README). Этот небольшой инструмент (последняя версия 0.1) работает с IGMPv1 и v2, поэтому я заставил мост использовать v2 с:
sudo sh -c 'echo 2 > /proc/sys/net/ipv4/conf/wlan0/force_igmp_version'
sudo sh -c 'echo 2 > /proc/sys/net/ipv4/conf/eth0/force_igmp_version'
Теперь вам нужно узнать сеть возможных исходных IP-адресов многоадресной рассылки. потоки. В моем случае сеть 193.0.0.0/8. Я создал файл конфигурации с таким содержимым:
quickleave
phyint eth0 downstream ratelimit 0 threshold 1
phyint wlan0 upstream ratelimit 0 threshold 1
altnet 192.168.2.0/24 # for local services
altnet 193.0.0.0/8 # for multicast video streams
igmpproxy можно запустить с помощью:
sudo igmpproxy -d -vv <config_file_name>
Надеюсь, вы понимаете все, о чем я писал. Наслаждайся этим.