Настройка 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://@233.3.4.84:5000 (для вашего региона он может быть другим). Т.е. подключаем к пятому порту Mikrotik'а ПК с установленным на него VLC Player'ом, запускаем VLC, нажимаем Ctrl-N (Открыть URL), вводим URL канала и смотрим.

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


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

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



sentiment_satisfied Emoticon