LINUX.ORG.RU

igmpproxy: не удаётся настроить


0

1

Пытаюсь настроить компьютер с Linux как роутер. Сейчас пока пробую на виртуальных машинах это сделать, потом в случае успеха перенесу на реальные. Сейчас загвоздка возникла на этапе раздачи Multicast-потоков.

Имеем: сервер на бубунту 11.10

eth0 — смотрит во внешнюю сеть, eth1 — во внутреннюю (в моём случае это «внутренняя сеть» virtualbox'а).

Unicast работает. Для iptables пока задавал только следующие правила:

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 ! -d 192.168.0.0/24 -j MASQUERADE
iptables -t mangle -A FORWARD -p tcp -m tcp --tcp-flags RST,SYN SYN -j TCPMSS --clamp-mss-to-pmtu
filter на данный момент всё пропускает.

На самом сервере мультикаст работает. Пытаюсь запустить igmpproxy со следующим конфигом:

quickleave 
 
phyint eth0 upstream  ratelimit 0  threshold 1 
        altnet 192.168.0.0/16 
	altnet 16.16.16.4/24
  
phyint eth1 downstream  ratelimit 0  threshold 1 

Для того, чтобы понять, откуда вещаются multicast-потоки, смотрел tcpdump'ом, он выдаёт:

01:15:16.824235 IP (tos 0x0, ttl 3, id 0, offset 0, flags [DF], proto UDP (17), length 1344)
    16.16.16.4.0 > 224.0.61.1.1235: [no cksum] UDP, length 1316

То есть. этот канал (224.0.61.1:1235), если я правильно понял, вещается с 16.16.16.4. Соответственно, исходя из этого, добавил строку altnet 192.168.0.0/16.

Запускаю igmpproxy. В результате на клиенте ничего не показывает.

Пробовал на сервере добавлять маршрут route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0, принудительно указывать ядру версию igmp — ничего не помогает.

Собственно, куда копать? Где я что мог упустить?

И если получится, то нет ли решения, чтобы не нужно было искать, с каких адресов идёт вещание и указывать их, в нашем случае в igmpproxy.conf? На аппаратных роутерах ведь обычно ничего такого не надо указывать.

☆☆☆☆☆

А я все-таки не понимаю, зачем люди трахаются с мультикастом, когда есть простой как грабли udpxy.

pekmop1024 ★★★★★ ()
Ответ на: комментарий от pekmop1024

Ну не знаю, насколько он повысит нагрузку на сервер. Да и плейлист нужно менять. А есть ли скрипт, автоматически конвертирующий плейлист?

Ну как вариант можно и udpxy (если он взлетит, а то я не пробовал), но вообще хотелось бы, чтобы было по-нормальному.

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от Ttt

sed или awk сойдут :)

Как раз по-нормальному - это udpxy, он дает человеческий http-поток, который жрут все плейеры и все девайсы, включая всякие ябблы и ведроиды. А чего делать с этим угребищным мультикастом, я ХЗ.

Что касается производительности, то оно работает даже на зачуханом DIR-400, не говоря уж про x86-сервер.

pekmop1024 ★★★★★ ()
Ответ на: комментарий от pekmop1024

А чего делать с этим угребищным мультикастом, я ХЗ.

В смысле чем играть? Все популярные в Linux мультимедиа-движки его поддерживают (MPlayer, Xine, VLC, GStreamer).

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от pekmop1024

Вместо плясок с бубном вокруг мультикаста, я просто сунул в автостарт на роутере строчку

/usr/bin/udpxy -p 82 -m 192.168.1.2 -S -M 30 -B 1048576 -a 172.16.111.1
, где 192.168.1.2 - адрес интерфейса, на котором висит мультикаст, а 172.16.111.1 - адрес, к которому биндится udpxy. И смотрю на всем подряд, где есть экран, вайфай и хватает производительности процессора.

pekmop1024 ★★★★★ ()
Ответ на: комментарий от pekmop1024

На ведроиде не пробовал. XBMC, когда когда-то давно пробовал, вроде работал, только там плейлист по-нормальному скормить не удавалось.

Ttt ☆☆☆☆☆ ()

Ну что, никто не имел дело с igmpproxy?

Ttt ☆☆☆☆☆ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.