5 октября 2012 г.

Mikrotik + IPTV + IGMP + WiFi

Ух, ну и задачка была. Вроде ничего сложного, пропустить IPTV через mikrotik по wifi на комп. Перевернул кучу мануалов, не помогает. Но все равно добил вопрос до конца. Ладно, давайте по порядку.

Ставим пакет multicast.

По умолчанию он у меня не стоял.

Включаем igmp-proxy.

/routing igmp-proxy print              
              quick-leave: yes
           query-interval: 1m
  query-response-interval: 10s
/routing igmp-proxy interface print detail
Flags: X - disabled, I - inactive, D - dynamic, U - upstream
0 U interface=ether1-gateway threshold=1 alternative-subnets=0.0.0.0/0 upstream=yes
1 interface=bridge-local threshold=1 alternative-subnets="" upstream=no
На что следует обратить внимание?
  1. На alternative-subnets=0.0.0.0/0. Эта фишка позволяет ловить трафик с сетей к которым у вас нет обратного роутинга.
  2. interface=ether1-gateway - это тот интерфейс на который к вам будет приходить мультикаст трафик. Например у моего провайдера (Искрателеком) он приходит на локальный ethernet интерфейс, а не на pppoe интерфейс.
  3. quick-leave=yes. Позволяет быстро переключаться между каналами.

Разрешаем в фаерволе igmp и udp

Это нужно делать на цепочке input того интерфейса, который подключен к провайдеру и являющемся upstream.

И самое главное

Во всех мануалах на этом заканчивается настройка и все вроде должно работать. Но! если у вас Wi-Fi то по нему приходит маленький пушной зверек. Мультикаст пакеты начинаю тупо валить ваш беспроводной интерфейс! Упс.
В Инете рекомендуют дропать мультикаст трафик на Wi-Fi (при этом никакого ТВ там не будет) или выкинуть микротик и купить супер дупер девайсы :)
На самом деле проблема решается просто, очень просто.

Тадаааамммм!!!! Фанфары!!!

Включаем multicast-helper=full
Этот маленький пунктик заставляет ваш микротик отправлять мультикаст пакеты по индивидуальным MAC-ам тех девайсов, которые зарегистрированы  на Wi-Fi.

Все, вы можете смотреть ТВ на девайсе, подключенном к микротику по Wi-Fi.

З.Ы. Проверено на Искрателеком.

Апдейт раз. Пункт multicast-helper доступен в окне настройки wifi интерфейса после нажатия кнопки advanced. Ну или явно в командной строке после set.

Апдейт два. Не рекомендуется быстро переключать каналы. Особенность igmp proxy заключается в том, что при переключении на новый канал, старый трафик некоторое время продолжает транслироваться. Переключив быстро 4-5 каналов, вы превысите пропускную способность wifi канала и начнутся дикие тормоза. Конечно через минуту трансляция ненужных каналов отвалится и все станет нормально. Но все же...

25 комментариев:

  1. Сделал..
    не сработало

    в чем мжт быть трабл

    ОтветитьУдалить
  2. Эээ... вы обращались в службу поддержки микротик? Наверно точно так же написали? "Сделал не сработало" :)

    ОтветитьУдалить
  3. Чтобы канал быстрее отваливался, (а не через минуту) нужно тайминги настроить в quick-leavbe. Тогда можно и каналы быстро переключать и wi-fi не перегружать.

    ОтветитьУдалить
  4. Отлично. Действительно все работает. Спасибо блоггеру =)

    ОтветитьУдалить
  5. Все что сдесь написано все очень грамотно и полно, в отличае от многих других публикаций, за исключением того, что необходимо напомнить о firewall. Строки разрешающие (accept/input/igmp и accept/input/igmp) должны распологатся раньше строки drop/input/"шлюз".

    ОтветитьУдалить
  6. Ну, я подразумеваю, что человек взявший в руки микротик как минимум работал с Линукс, фаерволами и понимает принципы работы этого фаервола. Поэтому не расписывал подробности.

    З.Ы. По сути, микротик - это удобная среда управления Линуксом. Я думаю, что лезть в микротик без знаний линукса - это не есть хорошо. Микротик сильно извращает некоторые базовые понятия. Поэтому если вы привыкните к микротику - все, вы на игле :( А знания Линукс спасут вас от этой подсадки :)

    ОтветитьУдалить
  7. а я вот купил микротик и нифига про линукс не знаю :)
    включение мультикаст хелпера не помогло. :( по проводам iptv бегает без проблем.

    ОтветитьУдалить
  8. мистика... включаю мультикаст хелпер, проверяю - ноль. переключаю ви-фи в режим "онли гэ" с шириной 20мгц - работает! переключаю ви-фи обратно в режим "бэ-гэ-ны" 20/40мгц - РАБОТАЕТ! почему так - хз... :)

    ОтветитьУдалить
  9. Конфигурация следующая: 2 порта и wifi в бридже, multicast helper включен. Если к wifi подключен только один клиент который смотрит iptv - идут все каналы идеально включая HD, но стоит просто войти в wifi сеть еще одному клиенту iptv начинает жутко тормозить, или такие же тормоза начинаются если мультикаст используется на любом другом порту в бридже. Да и вообще заметил что мультикаст лупит во все порты в бридже.

    ОтветитьУдалить
  10. Ай да мастер! ай да админ!

    за multicast-helper=full большое вам человеческое спасибо

    Какие только манулы я не курил, а победить рассыпание картинки так и не довелось даже на 2MHz-only-G, хотя поток реально 1-1,5 mbs

    а с multicast-helper=full все ОК

    ОтветитьУдалить
  11. А можно узнать , кто на каком железе добивался положительного результата, а кто отрицательного?

    ОтветитьУдалить
  12. А как по поводу тормозов (сыпит квадратами) при подключении нового WIFI устройства, второй ПК или телефон например.

    ОтветитьУдалить
  13. Ничего сказать не могу :) перешел на спутниковое телевидение :)

    ОтветитьУдалить
  14. On RB951G-2HnD I get best results when I set my wireless to Tx on one antenna chain and Rx on the other.

    ОтветитьУдалить
  15. железка RB2011
    статья норм, закрутилось все сразу...
    антенки сразу сделал по комменту "I get best results when I set my wireless to Tx on one antenna chain and Rx on the other" но получил жуткие лаги, перевел назад и все боле менее ок, картинка изредка крошится... так что сижу на проводе :)
    спасибо

    ОтветитьУдалить
  16. Спасибо автору! mikrotik sxt g-2hnd версия 6.4 заработало iptv по вайфаю после включения кнопки Advanced Mode и менюшки Multicast Helper: full

    ОтветитьУдалить
  17. У меня RB951G-2HnD, всё заработало. Спасибо.

    ОтветитьУдалить
  18. На микротик 2011 ничего не работает картинка сыплется, все делал что писали всем может быть причина наверно у него вай фай кривой.Например на длинке статших моделей все работает отлично

    ОтветитьУдалить
  19. RB751 с двумя аплинками (с автопереключением) и сложным внутренним миром (маскарадная и публичная сеть).
    IPTV по wifi заработало, но сыпалось, пока не ограничил внутренний интерфейс IGMP только в бридж. При подключении других wifi клиентов - иногда сыпется, но не критично.

    ОтветитьУдалить
  20. Настраивал только бс, rb sxt 2hnd. Все поднялось, заработало, даже не отваливается, я в восторге!

    ОтветитьУдалить
  21. C горем пополам за неделю удалось настроить iptv по данной инструкции, но есть большое НО. При включении IPTV на одном из 2 телевизоров полностью падает интернет. Где копать?

    ОтветитьУдалить
  22. У меня IPTV по проводу. Статья чуть помогла повысив скорость WiFi, но это не совсем то.

    Мне помогло отсюда
    http://u-to-l.blogspot.ru/2012/06/dealing-with-multicast-traffic-on.html

    /interface bridge filter add chain=output out-interface=home-wlan packet-type=multicast action=drop

    ОтветитьУдалить
  23. Ну да, Вы решили немного другую задачу, отключили посылку мультикаст пакетов на Wi-Fi интерфейсе.
    Но у меня была противоположная цель - запустить мультикаст трафик через Wi-Fi.

    ОтветитьУдалить
  24. 951G-2HnD, дефолтный конфиг, + igmp proxy апстримом в ether1, вторым концом в бридж.
    Разбил весь лоб о глюки...

    Включил multicast-helper=full - и вуаля, все работает!

    Да, еще хинт: ограничил мощность tx до 12 дб, коннект сразу стал 150/150, на штатной мощности было типа 1/7.2 или вроде того.

    ОтветитьУдалить
  25. Добрый день. Не работает vlc плеер. Подскажите. Настройки ниже.

    RB750
    прошивка 6.29.1
    /ip fi fi
    chain=input action=accept protocol=igmp in-interface=inet log=no
    log-prefix=""

    chain=input action=accept protocol=udp in-interface=inet log=no
    log-prefix=""

    /routing igmp-proxy> pr
    quick-leave: yes
    query-interval: 2m5s
    query-response-interval: 10s

    /routing igmp-proxy> interface pr det
    Flags: X - disabled, I - inactive, D - dynamic, U - upstream
    0 U interface=inet threshold=1 alternative-subnets=0.0.0.0/0 upstream=yes

    1 interface=ether2-master-local threshold=1 alternative-subnets=""
    upstream=no

    /ip firewall nat> pr
    Flags: X - disabled, I - invalid, D - dynamic
    0 chain=srcnat action=masquerade log=no log-prefix=""

    ОтветитьУдалить