Пересылка многоадресных пакетов в wired-wireless-nat-router

Я получаю 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 без компиляции собственной версии ядра?

Заранее спасибо, Эрик

0
задан 23 September 2013 в 11:14

1 ответ

Я получил рабочее решение для окружающей среды, упомянутой выше.

На ноутбуке-мосте, который подключен к Интернету через 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>

Надеюсь, вы понимаете все, о чем я писал. Наслаждайся этим.

0
ответ дан 23 September 2013 в 11:14

Другие вопросы по тегам:

Похожие вопросы: