Multicast IPTV и OpenSuSE

Разное, что облегчает IT жизнь

Multicast IPTV и OpenSuSE

Сообщение Sailor » 24 фев 2014, 20:34

Напишу больше для себя памятку :oops: Но может кому и ещё сгодится, так как в инете внятного не нашел описания.
Вобщем задача, сделать проброс мультикастового IPTV внутрь локальной домашней сети, через шлюз на OpenSuSE, на примере провайдера "Планета".

Для начала cкачаем пакет igmpproxy
Установкой и настройкой его займемся попозже.
В OpenSuSE есть свой забавный :) инструмент для конфигурирования фаервола, называется он SuSEfirewall2. Вот в нем основая трудность и случается.
Правим:
Код: Выделить всё
mcedit /etc/sysconfig/SuSEfirewall2


Для приёма мультикаста на шлюз, нам нужно установить следующий параметр:

Код: Выделить всё
FW_SERVICES_ACCEPT_EXT="
0/0,igmp
239.255.0.0/22,udp
212.48.127.0/24,udp
212.49.127.0/24,udp
"

Поясняю: разрешить igmp пакеты отовсюду и всем, и разрешить udp пакеты с сетей с которых идет мультикастовая рассылка IPTV Планеты.

После рестарта фаервола у вас должен заработать плеер с IPTV на самом шлюзе. Далее нужно пробросить udp пакеты внутрь локалки, для этого ставим такой параметр:
Код: Выделить всё
FW_FORWARD="
0/0,239.255.0.0/22,udp
0/0,212.48.127.0/24,udp
0/0,212.49.127.0/24,udp
239.255.0.0/22,0/0,udp
212.48.127.0/24,0/0,udp
212.49.127.0/24,0/0,udp
"

Как тут видно, делаем форвард udp пакетов туда сюда из/в сети IPTV Планеты.

Вот, теперь нам нужен сам механизм проброса, этим и занимается igmpproxy. Тут всё как обычно: распаковываем скачанное, далее
Код: Выделить всё
./configure
make
make install


Всё проходит на ура, без всяких затычек. (Единственное показалось, что как то уж очень быстро)

Затем правим конфиг файл, который лежит в /usr/local/etc/igmpproxy.conf, примерно так:

Код: Выделить всё
##------------------------------------------------------
## Enable Quickleave mode (Sends Leave instantly)
## Точно не уверен, прочитал где-то: если более одного устройства получают пакеты то лучше закомментировать
##------------------------------------------------------
#quickleave


##------------------------------------------------------
## Configuration for eth0 (Upstream Interface)
## указываем на каком интерфейсе получаем IPTV (тот который смотрит в провайдера, у меня это eth0)
## и указываем сети планеты
##------------------------------------------------------
phyint eth0 upstream  ratelimit 0  threshold 1
altnet 239.255.0.0/22
altnet 212.48.127.0/24
altnet 212.49.127.0/24

##------------------------------------------------------
## Configuration for eth1 (Downstream Interface)
## разрешаем рассылку IPTV на нашем внутреннем интерфейсе
##------------------------------------------------------
phyint eth1 downstream  ratelimit 0  threshold 1


##------------------------------------------------------
## Configuration for eth2 (Disabled Interface)
## Запрещаем рассылку на этих интерфейсах (тут у каждого свои) lo только у всех есть)
##------------------------------------------------------
phyint ppp0 disabled
phyint gre0 disabled
phyint lo0 disabled
phyint lo disabled
#


стартуем igmpproxy, затем эту команду прописал в /etc/rc.d/after.local (автозапуск после старта всех и вся)

Код: Выделить всё
/usr/local/sbin/igmpproxy /usr/local/etc/igmpproxy.conf > /var/log/igmpproxy.log &


логфайл так, на всякий случай)) пока он пустой совсем, всё сыплется в /var/log/messages.

И после запуска, радуемся телевидению на компьютере или компьютерах или IP-телевизорах и т.д. :)

Удачи Вам! :yes:

PS: (Добавлено 06.03.14) quickleave - эта опция разрешает быструю отписку от мультикаст-группы, работает это так: получая сообщение своего клиента (с downstream) об отписке от группы, igmpproxy отправляет сообщение об отписке со своего upstream интерфейса и сам перестаёт получать поток этой группы. Эта опция имеет смысл если за шлюзом только один клиент, если их больше, то опцию следует исключить из конфига, т.к. отписка от потока одного из клиентов прервёт поток ко всем клиентам.
Изображение

За это сообщение автора Sailor поблагодарили: 3
ACy19191 (03 мар 2014, 10:10), LSV (25 фев 2014, 23:53), Дмитрий (08 сен 2014, 20:25)
Рейтинг: 27.27%
 
Аватара пользователя
Sailor
Администратор
 
Сообщения: 194
Зарегистрирован: 15 июл 2010, 23:56
Благодарил (а): 33 раз.
Поблагодарили: 69 раз.

Вернуться в Уголок системного администратора

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron