вторник, 12 апреля 2016 г.

Настройка IPTV от Ростелеком в Mikrotik 951G-2HnD.

Этот пост продолжает небольшой цикл статей о различных вариантах применения маршрутизатора Mikrotik, в предыдущих статьях мы посмотрели как настроить Mikrotik для использования с USB-модемом Huawei в различных вариантах - HiLink и Stick. Ну а сегодня настала очередь поговорить о том, как настроить маршрутизатор для совместной работы с провайдероской IPTV приставкой для того чтобы воспользоваться услугами "интерактивного ТВ", т.к. судя по многочисленным форумам вопросов в этой области больше чем ответов. Сразу оговорюсь, что вариантов интерактивного ТВ у Ростелекома несколько - это обычное IPTV через Multicast, а также "Интерактивное ТВ 2.0", т.е. фактически приставка которая будет показывать ТВ при подключении от любого провайдера. В данном случае речь пойдет именно про первый вариант, т.е. multicast (не путать с интерактивным ТВ 2.0). Также, оговорюсь что IPTV через multicast у РТ везде организовано по разному, здесь все зависит и от региона вашего подключения и от способа подключения (xDSL или FTTx), а также от конкретных технических особенностей реализации услуги на местах.

Сложившаяся практика следующая, если у вас ADSL подключение, то скорее всего приставка подключается в отдельный порт вашего ADSL модема, далее в нем настраивается соединение bridge (мост) на указанных провайдером VPI:VCI, внутри которого уже действует DHCP от РТ от которого приставка получает IP-адрес. В этом же соединении и работает multicast. Как пример, если мы настроим ADSL модем в режиме моста (bridge), указав в настройках VPI:VCI от услуги IPTV, выключим в модеме встроенный DHCP сервер, не будем группировать порты и т.п., а просто воткнем в один из его портов приставку - то при такой настройке мы скорее всего увидим что она получила IP-адрес от DHCP провайдера, а также принимает потоковое вещание. Это тот случай который мы здесь рассматривать не будем, т.к. нас интересует вариант с multicast'ом через FTTx.

Тут тоже как минимум две схемы реализации (в каждом регионе и даже в разных местах одного и того же региона свои технические особенности), с VLAN'ами и без. В случае с VLAN'ами провайдером выделяется отдельный VLAN, далее ставится управляемый коммутатор, к которому как раз и подключается IPTV приставка (либо аналогичная схема настраивается в каком-нибудь продвинутом роутере), в результате приставка опять же получает IP от РТ'шного DHCP в этом VLAN'е и показывает нам ТВ. В нашем случае мы будем рассматривать схему без VLAN'ов , т.е. схему в которой мы имеем провайдерский кабель подключенный к роутеру, приставка выходит в интернет для соединения с Middleware portal (провайдерским порталом, т.е. интерфейсом, который вы видите в самой приставке) через поднятое через PPPoE соединение с интернет, а сами multicast-пакеты "сыпятся" на физический Ethernet порт вашего подключения, без всякого тегирования, т.е. untagged, и без всяких PPPoE. Именно подключение с таким вариантом реализации IPTV мы и будем рассматривать.

Для тех кому интересно как оно вообще реализовано, что такое middleware и т.п. читаем вот эти две статьи:
Для настройки, собственно, была приобретена вот такая вот IPTV приставка:


Она же ТВ-приставка «Стандарт», она же ТВ-приставка IPTV RT-STB HD, она же, согласно наклейке сзади RT STB HD 1.11-BD 27:


По-сути, данная приставка является "клоном" приставки Infomir MAG 250, но не самой последней ревизии. Из визуальных изменений, как вы уже наверное успели заметить, логотип и "шильдик" оператора, а также измененный пульт ДУ. Судя по многочисленным постам в интернете люди активно перепрошивают эти приставки в оригинальный MAG 250 (ссылка на последнюю прошивку от MAG 250), а также прошивкой от ДНК (в ней кстати заявлена поддержка оригинального пульта от РТ). Вероятнее всего я тоже попробую это сделать и рассказать вам о результатах, а также показать разницу, но все это уже тема для отдельного поста, здесь мы только остановимся на настройках Mikrotik'а. Да, забыл сказать что в офисах РТ эта приставка вам обойдется в ~3600 руб. (возможно вам, кстати, попадется не именно эта модель, а, например Smartlabs SML-282 Base), однако на том же Avito аналогичную б/у приставку можно найти за 900-1500 руб., что я собственно и сделал.


Версия прошивки (F/W) у нее оказалась 1.51595.526 и судя по тому, что обновления для нее отсутствовали, видимо это последняя РТ'шная прошивка под нее на данный момент (кстати, мультикастовый адрес обновления по-умолчанию BRANDING_DEFAULT_UPGRADE_URL у нее судя по всему norm://239.77.65.71:9999). Ну да не будем отвлекаться ;) 

Подключаем наш Mikrotik, настраиваем его и настраиваем на нем PPPoE соединение с интернет (предполагается что интернет от Ростелеком на вашем Mikrotik'е уже работает), вставляем приставку в 5-й порт. Его мы будем делать "выделенным", т.е. в каком плане, на нем у нас будет работать интернет и на него же будут идти multicast пакеты, т.е. непосредственно эфир. Зачем я решил вынести приставку в отдельный порт? Для того чтобы multicast траффик не "сыпался" на все порты маршрутизатора. Немного поясню ... можно настроить Mikrotik так, что при просмотре HD канала на приставке (скорость потока при этом составляет в среднем ~10 Mbit) эти 10 Mbit входящего UDP траффика будут "сыпаться" на все порты маршрутизатора сразу (пример такой настройки приведен например здесь - MikroTik hAP lite и Beeline (IPoE/L2TP/IPTV), правда тут настройка для Билайн, но не суть). Такой вариант настройки тоже имеет право на существование, но согласитесь, если мы знаем что приставка у нас подключена к какому-то определенному порту, то зачем нам лишний трафик на других портах? Плюс конечно в том что можно смотреть IPTV через VLC, например, на ПК, но мне, например, это не нужно. Поэтому в инструкции ниже мы будем выносить 5-й порт отдельно, как порт для приставки (да, для более продвинутых читателей сразу скажу, что мы не будем объединять его bridge'ем с ether1, мы будем использовать именно IGMP Proxy из пакета Multicast).
  1.  Устанавливаем пакет Multicast. Для этого заходим на http://www.mikrotik.com/download и качаем архив с Extra packages соответствующий архитектуре вашего маршрутизатора. Для Mikrotik 951G-2HnD - это раздел MIPSBE и 6.34.4 (если у вас не эта версия ПО, лучше ее обновить до 6.34.4). Далее из архива all_packages-mipsbe-6.34.4.zip извлекаем пакет multicast-6.34.4-mipsbe.npk и перетаскиваем его Drag & Drop'ом в раздел Files в WinBox'е или загружаем его в Mikrotik любым другим способом, например, через SSH или FTP.
  2. Перезагружаем девайс - System - Reboot. В результате в разделе Routing у нас должен появиться IGMP Proxy.
  3. Далее ... всем известно что у нас Mikrotik по умолчанию имеет IP - 192.168.88.1, а DHCP сервер поднятый в нем по умолчанию раздает адреса LAN-клиентам из диапазона 192.168.88.0/24, или же из пула 192.168.88.10-192.168.88.254. У меня локальная подсеть - это не 192.168.88.0/24, а 172.17.112.0/24, поэтому на скринах ниже и т.п. - не удивляйесь, сам Mikrotik - это 172.17.112.1, ну а адреса из этой подсети - это его локальная подсеть.

    Как известно, в конфигурации по-умолчанию для портов ether3, ether4, ether5 указан master-port ether2. Открываем настройки порта ether5 (Interfaces -> Ethernet) к которому у нас подключена IPTV приставка и в графе Master Port ставим значение none. Плюс переименовываем его в ether5-master для удобства.
  4. Далее идем в раздел Bridge и добавляем новый мост, который мы назовем bridge-iptv. На закладке Ports добавляем туда наш порт ether5-master (отдельный bridge мы создаем для того, если в будущем захотим добавить еще какие-то порты туда, например, если у нас появится вторая IPTV приставка и мы захотим использовать еще и порт ether4 для IPTV). В результате выполнения пунктов 4 и 5 мы должны видеть примерно следующее:

  5. Теперь идем в раздел IP - Addresses и назначаем порту ether1 (физический "WAN-порт", в который у нас вставлен кабель от Ростелеком) IP адрес - 1.1.1.1/24 (может быть и не совсем корректно, но тут важно другое - чтобы у нас заработал IGMP Proxy на WAN порту, на который будут приходить ТВ-поток обязательно должен быть назначен любой адрес, можете взять не 1.1.1.1, а, к примеру, какой-нибудь серый IP), а мосту bridge-iptv назначаем IP - 172.17.113.1/24. Обратите внимание, локальная сеть у нас это 172.17.112.1/24, а в случае с bridge-iptv мы берем другую подсеть - 172.17.113.1/24. Здесь важно сделать именно другую подсеть, т.к. если повесить сюда локальный адрес, который у вас на обычном интерфейсе bridge - возможны зависания маршрутизатора при трансляции потока, т.е. ситуация когда IPTV работает, а интернет - нет. Поэтому здесь мы указываем другую подсеть.
  6. Далее в разделе DCHP Server мы создаем отдельный DHCP Server с именем defconf-5 на интерфейсе bridge-iptv, создаем pool адресов default-dhcp-5, в IP - Pool как 172.17.113.10-172.17.113.254 и назначаем этот pool нашему DHCP серверу. Также в настройках DHCP Server - Networks создаем новую сеть со следующими параметрами:
    Address: 172.17.113.0/24;
    Gateway: 172.17.113.1;
    Netmask: 24;
    DNS Servers: 172.17.113.1.
  7. Теперь самое главное ;) В разделе Routing - IGMP Proxy создаем Upstream интерфейс на ether1, а в Alternative Subnets прописываем у него 0.0.0.0/0, а также создаем Downstream интерфейс (т.е. галочку Upstream в настройках мы у него не ставим) на bridge-iptv:

  8. Теперь создадим два правила Filter rules на вкладке IP - Firewall - Filter Rules (см. правила 1 и 2), так как показано на рисунке:


    Т.е. одно правило Accept для протокола 2 (igmp) для цепочки input и другое правило, тоже разрешающее (accept) - для протокола 17 (udp) и цепочки forward, где Dst. Port равен 5000. Оба правила задаются для In Interface - ether1.
  9. Далее включаем приставку в розетку (если до этого она была включена, проще выключить ее и включить, чтобы она получила IP адрес по новой), ждем пока она загрузится и убеждаемся в том что она получила IP адрес из подсети 172.17.113.1/24. Если вы все сделали по написанному, то ТВ у вас уже должно работать.
Для примера вот скриншот соответствующий работающему каналу TV1000 MegaHit HD в приставке:


Что мы видим здесь?

  • На закладке Routing - IGMP Proxy - MFC видны текущие multicast группы, к которым присоединилась приставка, в данном случае это 233.3.4.84. В которой источником вещания является сервер 213.140.243.48. Именно так должна выглядеть закладка MFC при корректных настройках.
  • В логе мы видим что UDP пакеты приходят с 213.140.243.48:SPort -> 233.3.4.84:5000 на интерфейс ether1. Т.е. вещание действительно ведется не через PPPoE соединение, а не физический WAN порт.
  • Смотрим трафик на интерфейсе ether5-master (аналогичная картина у нас кстати и на bridge-iptv, т.к. в этот мост пока входит всего 1 интерфейс) и видим что при работающем HD канале средняя скорость передачи на порту - 9.0 Mbps.

Чуть позже добавлю сюда команды терминала Mikrotik, описывающие все вышеперечисленные действия. Сейчас просто нет доступа к этому маршрутизатору.

Ну вообщем-то и все. Кстати, для тех кто не знает, каналы можно смотреть не только на приставке, но и в том же VLC, например, URL канала TV1000 MegaHit HD в данном случае будет udp:[email protected]:5000 (для вашего региона он может быть другим). Т.е. подключаем к пятому порту Mikrotik'а ПК с установленным на него VLC Player'ом, запускаем VLC, нажимаем Ctrl-N (Открыть URL), вводим URL канала и смотрим.

Полезные ссылки


Дополнения и замечания от пользователей

  • VideoUserr: Есть неточность - создаваемые в файерволе правила обязательно должны быть выше запрещающих!
  • VideoUserr: Еще небольшое дополнение (видимо зависит от прошивки) - на последней версии прошивки при такой настройке получалось так что, мультикаст по UDP на порт приходит, но дальше никуда не идет, понадобилось создать дополнительное третье правило forward UDP accept где необходимо указать In. Interface - порт куда приходит мультикаст, Out. Interface - куда отдавать.

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

  1. Здравствуйте! настроил все как написано но приставка не подключается пишет что ip получен а сервер недоступен

    ОтветитьУдалить
    Ответы
    1. Данный мануал предназначен для схемы подключения без VLAN'ов через Ethernet кабель. Если у вас ADSL или VDSL подключение или используются VLAN'ы - настройка, естественно, будет отличаться. Приведите здесь те же скриншоты, что и в статье после вашей настройки, попробуем разобраться. Также, расскажите о варианте, в котором у вас работает приставка без Mikrotik'а, т.е. если не использовать Mikrotik - как вы настраиваете работу приставку, просто вставляете провайдерский кабель в нее, используете управляемый свитч, роутер или еще что-то?

      Удалить
    2. Также проверьте, работает ли у вас доступ в интернет, при подключении ПК к ether5.

      Удалить
  2. Спасибо Вам большое за подробный пошаговый ман!
    сейчас попробую протолкнуть это через сеть в другой микротик

    ОтветитьУдалить
  3. Есть неточность - создаваемые в файерволе правила обязательно должны быть выше запрещающих!

    ОтветитьУдалить
  4. Еще небольшое дополнение (видимо зависит от прошивки) - на последней версии прошивки при такой настройке получалось так что, мультикаст по UDP на порт приходит, но дальше никуда не идет, понадобилось создать дополнительное третье правило forward UDP accept где необходимо указать In. Interface - порт куда приходит мультикаст, Out. Interface - куда отдавать

    ОтветитьУдалить
    Ответы
    1. А можно поподробнее? Приставка ip адрес получила, но ни изображения, ни звука нет.

      Удалить
  5. спасибо огромное автору за столь подробный мануал и VideoUserr за дополнения, у меня всё успешно заработало :)

    ОтветитьУдалить
  6. Такой же идиотский(по-другому не назвать) способ подключения у РТ в Моссковской обл(хотя в МСК, в онлайме, уже другой). Пустили бы уже всё по юникасту, как ТВ 2.0.

    Могу добавить, что настроил это счастье вообще без пакета igmp-proxy:
    1. бридж wan <-> ether-tv (мне не нужен гуляющий по локалке мультикаст)
    2. отдельная подсеть и dhcp на этот бридж
    3. srcnat и маршрут для юникаста

    итого: юникаст через pppoe, мультикаст слушает на wan

    ОтветитьУдалить
  7. Спасибо автору! Все заработало. Только собирал на подсети 192.168.89.0, чтобы не путаться =)

    ОтветитьУдалить
  8. Добрый день, помогите пожалуйста настроить микротик 951G-2HnD уже несколько дней бьюсь и никак не выходит.
    Интернет+IPTV от ростелекома, до этого стоял dir-615 и все работало, но там все просто настраивается, просто указываешь на какой порт подавать IPTV и все работает.
    Хочется настроить чтобы через микротик работало. Интернет подключение через PPPOE, данная статья к сожалению не помогла, т.к при такой настройки приставка просит логин и пароль.
    Как я понял, чтобы тв-приставка заработала, она должна получить IP от провайдера, по другому не работает. Т.е если подключить приставку напрямую к кабелю провайдера, приставка работает и показывает тв.
    Можно написать тут или на почту [email protected] или icq 255800012. Зарание спасибо!

    ОтветитьУдалить
    Ответы
    1. Логин и пароль вам должны были дать при подключении к услуге IPTV. Ну а вообще вариантов масса, если приставка у вас работает при подключении кабеля провайдера напрямую к ней и при этом она получает IP от провайдера, никто не мешает вам объединить мостом первый и второй порты Mikrotik'а и подключить провайдерский кабель в первый порт, а приставку во второй. При этом Multicast в Mikrotik'е вообще можно не настраивать. Т.к. такой вариант настройки будет соответствовать такому, как будто бы у вас провайдерский кабель был вставлен в свитч, а из свитча один кабель шел бы к приставке, а другой в порт Mikrotik'а который вы настроили как WAN. Нужен ли вам мультикаст в самом Mikrotik'е - это решать вам.

      Удалить
  9. Объединил мостом порт1 и порт5, стал работать IPTV, но теперь не работает pppoe. Либо наоборот работает pppoe, но не работает IPTV. Как сделать чтобы интернет был и iptv?

    ОтветитьУдалить
    Ответы
    1. Помимо того чтобы просто объединить ether1 и ether2 в bridge, скорее всего потребуется разгруппировать порты в Interface List -> Ethernet, чтобы ether1 и ether2 были Master Port'ом. Плюс по-поводу PPPoE надо разобраться почему оно не работает, не поднимается соединение, не видится концентратор (отследить есть ли концентратор / DSLAM в сети можно с помощью PPP -> Interface -> PPPoE Scan) ... Если все это кажется для вас слишком сложным - купите любой самый дешевый 5-портовый свитч и поставьте его перед Mikrotik'ом, т.е. провайдерский кабель вставьте в свитч, а из него два кабеля - один в ether1 Mikrotik'а, настроенный как WAN, другой в IPTV приставку.

      Удалить
  10. Добрый день!
    Сделал все как написано в Вашей статье. Три раза перепроверил.
    Инетернет и ТВ от Ростелекома.
    Интрент - РРРоЕ - поднимается.
    Приставка получает адрес из созданной подсети. Проходит пинг.
    Но пакеты не проходят. Фаер волл настроен в соответствии с Вашей инструкцией.
    ПРОШУ ПОМОГИТЕ!!! для связи почта - [email protected] (читаю постоянно). ЧТО СДЕЛАТЬ ЧТОБЫ ЗАРАБОТАЛО?

    ОтветитьУдалить
  11. У меня такая же проблема. Работает либо IPTV либо pppoe. Пока больше не возвращался к данной проблеме. Сегодня буду пробовать еще варианты. Уважаемые Гуру настройки микротика, если есть возможность помочь, помогите пожалуйста настроить железку!)) Можно через teamviewer. Спасибо!

    ОтветитьУдалить
  12. Получилось настроить, всё работает и интернет и iptv. Настроил без пакета multicast-6.34.4-mipsbe.npk настроил так: создал bridge-iptv и объединил порты ether1-ether4-ether5, bridge (локалка) - ether2 (master port), ehetr3 (slave), wlan1(slave); поднял pppoe на bridge-iptv,галочки чтобы использовался DNS, настройка NAT (out interface - bridge) ВСЁ!

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