Настройка IPTV Билайн через WiFi с использовнием роутеров Mikrotik
Будучи абонентом Домашнего Интернет+ТВ от Билайн волей-неволей читаешь профильные форумы, видишь проблемы абонентов и пр. И вот среди этих «плачей Ярославны» определенно вырисовывается одна задача, которую либо никому не удалось осуществить, либо через костыли с обрезанным функционалом. А именно — передача IPTV на приставку через Wi-Fi. И вот недавно ко мне обратились за помощью именно с таким вопросом. Так как наш человек сначала делает, а потом думает, то ремонт в новой квартирке уже сделан, кабель каналов нет, RJ-45 розеток нет, красоту и эстетику портить никто не будет, а смотреть ТВ от Билайн на кухне хочется.
Что же делать?
Вырисовываются следующие задачи:
1) Выпустить все клиентские устройства (ноутбуки, компьютеры, планшеты и пр.) в интернет через Wi-Fi
2) На кухонный телевизор поставить арендованную у компании Билайн IPTV приставку и сделать так, чтобы она работала, с сохранением всего функционала.
Ну если первый пункт сложностей не вызывает, то второй заставляет задуматься.
Поскольку я являюсь приверженцем и давним пользователем продукции компании Mikrotik, то было принято решать возникшую проблему на оборудовании данного вендора. К тому же имеющийся сертификат MTCNA придавал сил и убеждал, что «не так страшен чёрт, как его малюют».
Итак, напомню принцип подключения абонентов Билайн к сети интернет.
Клиентское оборудование получает от DHCP-сервера «серый» адрес из подсети 10.0.0.0/8, что дает доступ к локальным ресурсам, L2TP-BRAS’ам, ну и собственно тут же бродит multicast нашего IPTV. Чтобы получить доступ непосредственно уже в саму сеть Интернет необходимо авторизоваться по L2TP-соединению по адресу tp.internet.beeline.ru. Данная схема в терминологии некоторых производителей домашних роутеров называется Russian Dual Access.
Выбор пал на маршрутизаторы RB/751G-2HnD.
Их характеристики:
— ОЗУ: 64MB DDR SDRAM
— Процессор: Atheros AR7241 400MHz CPU
— Жесткий диск: 64MB onboard NAND storage chip
— Частота: 2.4 ГГц
— Ethernet: 5 независимых портов 10/100/1000
— USB: 1 порт 2.0
— Питание: через ethernet-порт 1 8-30V DC, через джек 8-30V DC (БП в комплекте)
— Чувствительность: 802.11g: -96dBm @ 6Mbit/s to -81dBm @ 54Mbit/s, 802.11n: –96 dBm @ MCS0 to –78 dBm @ MCS7
— Усиление мощности: 802.11g: 30dBm @ 6Mbps to 27dBm @ 54 Mbps, 802.11n: 30dBm @ MCS0 to 26dBm @ MCS7
— мощность встроенного радиомодуля: 1W
— коэффициент усиления встроенных антенн: 2.5dBi
— Энергопотребление: до 7W
— ОС: RouterOS, уровень 4
Я не буду подробно описывать где найти winbox, что это и как им пользоваться. Этой информации очень много на просторах сети. Поэтому описывать буду тезисно, но с пояснениями.
На момент написания статьи версия ПО 5.24. Качаем ее здесь download2.mikrotik.com/routeros/5.24/routeros-mipsbe-5.24.npk закидываем в Files и перезагружаем роутер. На втором проделываем тоже самое.
Итак, определим для себя что R1 это будет роутер, куда приходит кабель от нашего провайдера, а R2 – это этакий Wi-Fi приемник для IPTV-приставки. Дефолтная конфигурация устройств предлагает нам DHCP-клиент на порту eth-1, а порты eth2-eth5 объединены в switch, плюс bridge к eth2 для wi-fi (wlan2) с dhcp-сервером в диапазоне 192.168.88.0/24.
Итак, настройка роутера R1
Подключаем к роутеру R1 кабель от билайна в eth1, а компьютер в eth2 и запускаем winbox. Соединяемся с 192.168.88.1 с логином admin и пустым паролем. В окне RouterOS Default Configuration жмем ОК.
Поскольку RouterOS не умеет в полях Connect-to использовать dns-имена, то предварительно, воткнув билайновский кабель в компьютер определяем адрес tp.internet.beeline.ru. В моем случае он оказался 10.255.255.239
(в сети можно найти скрипты, которые будут сами определять текущий адрес браса tp.internet.beeline.ru и подставлять его в поле Connect-to. т.к. провайдер использует round-robin dns для определения менее загруженного браса)
Далее настраиваем два правила NAT. Одно для локальной сети, другое для интернета.
Заходим в IP-Firewall-NAT, удаляем правило default configuration, и создаем свои.
Проверяем оба правила:
Следующим шагом убираем членство wlan1 в бридже c ether2 и включаем его в бридж к ether1. Для этого открываем Bridge, создаем новый мост с именем, например, tv-wifi-bridge, а на вкладке Ports добавляем к нему интерфейсы wlan1 и ether1-gateway.
Т.к. Iptv приставка тоже получает свой адрес от dhcp провайдера, то нам требуется изменить интерфейс dhcp-клиента. Если помните, то он назначен только на ether1. Переназначаем его на Bridge tv-wifi-bridge.
Теперь пришло время настраивать беспроводную часть нашей затеи. В первую очередь подготовим точку доступа именно для iptv приставки. Здесь нет ничего необычного, типовая настройка, за исключением самого важного пункта. Это Multicast Helper. Он должен стоять в положении full.
Шифрование настраиваете по своему вкусу через Security Profiles, останавливаться на этом я не стану.
Теперь создаем виртуальную точку доступа, через которую будут попадать в интернет все наши остальные железки (телефоны, планшеты, ноутбуки и пр.). Но сначала добавьте еще один security-profile, чтобы не запутаться.
Ну и сама VirtualAP
И добавляем полученный wlan2 в бридж к ether2
На этом настройки роутера R1 закончены. Проводные девайсы выходит в интернет через порты 2-5, беспроводные через точку доступа wlan2 с SSID “Inet”
Настройка данного роутера вообще банальна. Т.к. Имея дефолтную конфигурацию, нам необходимо всего лишь выполнить сканирование эфира, найти точку с ssid “tv” и нажать кнопку Connect. Если вы используете шифрование, то сделать соответствующие поправки в Security profiles. После этого необходимо ether2 убрать из бриджа, а вместо него добавить ehter1. Осторожно! После этого вы потеряете соединение с роутером и winbox закроется.
Включаем приставку в порт eth1 и всё готово.
Здесь видим записывающийся канал 1HD и одновременную закачку файла. Правда, по такой схеме мне не удалось из VirtualAP выжать больше 7-8 Мегабит.
Загрузка процессора роутера, использующегося как точка доступа при такой картине не превышала 34-37% Скорость переключения каналов на глаз не отличается от кабельного подключения.
Во время экспериментов пробовал пустить через IGMP – proxy. Вроде и работает, но HD-каналы фризятся, ввод pin-кодов не работает, запись не работает.
Также был испробован метод, когда физический AP использовался для интернета, а VirtualAP для телевидения. В данном случае скорость передачи составляла не больше 1Мбит, что естественно недопустимо мало для просмотра ТВ. Вместо видеоряда были стоп-кадры, сменяющие друг друга раз в 30 секунд.
На этом эксперимент считаю удачным и оконченным. Имеется широкий простор для дальнейшего тюнинга. Готов ответить на все вопросы. Спасибо за внимание.
Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
Настройка IPTV в роутерах Mikrotik на примере Ростелеком
IPTV в настоящее время стал стандартом де факто, практически полностью вытеснив «классическое» кабельное телевидение. Сегодня практически любой провайдер предлагает комплексные тарифные планы, включающие телевидение и интернет, предоставляет в аренду уже настроенное оборудование и вообще всякими способами стремится завлечь абонента в свои сети. И это хорошо, здоровая конкуренция снижает цены и повышает качество услуг. Но как быть, если вы предпочитаете настраивать свое сетевое оборудование самостоятельно? Сегодня мы как раз поговорим об этом.
Подключение IPTV-приставки непосредственно в сеть провайдера
Самый простой и нетребовательный к ресурсам способ смотреть IPTV, полностью оправдан, если ваша приставка не имеет никаких иных функции, которые требуют доступа к ресурсам локальной сети. Если вспомнить былые времена, то многие провайдеры при подключении IPTV ставили перед роутером простой свитч, куда включали IPTV-приставку, фактически мы повторим эту схему, но с использованием возможностей Mikrotik.
Прежде всего определим порт, в который будет подключена приставка и выведем его из моста локальной сети (если он туда включен), в нашем случае это будет порт ether4. Для этого перейдем в Bridge — Ports и удалим запись для нужного порта.
Затем создадим новый мост и введем в него порт приставки и внешний порт, смотрящий в сторону провайдера:
Чтобы избежать возможных конфликтов с активным оборудованием провайдера отключим в свойствах моста протокол RSTP:
Если вы используете для подключения к интернету коммутируемое подключение, то в его свойствах вместо внешнего интерфейса (ether5 в нашем примере) следует указать интерфейс моста bridge2. В данном случае это будет PPPoE подключение провайдера Ростелеком.
При использовании иных методов доступа в интернет не забудьте изменить порт внешнего подключения с ether5 на bridge2, а также внести аналогичные изменения в правила файрволла, при коммутируемом подключении (PPPoE) делать этого не надо.
После чего достаточно перезагрузить приставку, и она самостоятельно «разберется» с настройками, после чего вы сможете полноценно пользоваться услугой IPTV вашего провайдера.
Настройка IGMP Proxy
Однако предложенный выше способ может быть не всегда приемлем, вместо приставки могут использоваться иные, более функциональные устройства: SmartTV, TV BOX на Android и т.д. и т.п., которым нужно обеспечить доступ к ресурсам локальной сети. Также приставка может быть подключена не напрямую к роутеру, а через дополнительный коммутатор, либо вы еще по какой-либо причине не хотите выводить устройство за пределы домашней сети. В этом случае потребуется настройка IGMP Proxy, который обеспечит перенаправление мультикастового потока IPTV в локальную сеть и прохождение IGMP-пакетов для управления этим потоком.
В базовой поставке RouterOS необходимая функциональность отсутствует и нам потребуется установить дополнительный пакет multicast. Для этого на официальном сайте следует скачать набор Extra packages для своей версии прошивки и архитектуры. Если у вас более старая версия RouterOS, то обновите ее.
Затем откройте Winbox, перейдите в раздел Files и загрузите на устройство пакет multicast, это можно сделать простым перетаскиванием, затем перезагрузите роутер.
Если вы настраиваете IPTV от Ростелеком, то на внешнем интерфейсе, смотрящем в сторону провайдера, у вас не будет IP-адреса, так как протокол PPPoE, через который осуществляется доступ в интернет, работает на канальном уровне и не требует IP-адресов. Для работы IPTV внешнему интерфейсу необходимо будет присвоить адрес. Поддержка Ростелекома предписывает использовать адрес 1.0.0.1/30, на наш взгляд использование данного адреса не совсем корректно (он не является приватным) и, как показывает практика, вы можете присвоить интерфейсу любой адрес, но официальные рекомендации стоит иметь ввиду, особенно если больше ничего не помогает.
Если вы предпочитаете работу в консоли, то выполните:
Теперь перейдем в раздел Routing — IGMP Proxy и добавим внешний интерфейс, на который приходит IPTV. В поле Interface укажите внешний интерфейс, в нашем случае ether5, в поле Alternative Subnets — 0.0.0.0/0 и установите флажок Upstream.
Что касается Alternative Subnets, то данная настройка требует некоторых пояснений, в ней указывается подсеть, из которой осуществляется вещание, так как Ростелеком использует собственную изолированную сеть, то указание 0.0.0.0/0, т.е. принимать любые потоки, будет оправдано. Если же вы настраиваете IPTV на интерфейсе, смотрящем непосредственно в интернет, то желательно явно указать подсеть, уточнив ее в техподдержке провайдера.
Затем добавим внутренний интерфейс, куда следует перенаправить IPTV-поток, в этом качестве укажем мост локальной сети, никаких других настроек делать не нужно.
После чего нажмите кнопку Settings и установите флажок Quick Leave для быстрого переключения между каналами.
Также можно быстро выполнить все приведенные выше настройки через терминал:
Теперь осталось настроить правила брандмауэра для прохождения IPTV-трафика. Для этого добавим следующие записи: Chain — input, Protocol — igmp, In. Interface — ether5, так как по умолчанию действие accept, то на закладку Action можно не переходить. Данное правило разрешить входящий IGMP-трафик на внешнем интерфейсе.
Второе правило разрешит транзитный IPTV-трафик: Chain — forward, Protocol — udp, Dst. Port — 5000, In. Interface — ether5. Отдельного пояснения требует номер порта, Ростелеком использует порт 5000, для других провайдеров следует уточнить это значение в поддержке.
Также не забудьте перетащить данные разрешающие правила выше запрещающих в каждой из цепочек.
В терминале эти же правила добавляются командами:
После выполнения данных настроек перезагрузите IPTV-приставку и, если вы не допустили ошибок, все должно заработать.
IPTV через Wi-Fi
Скажем сразу, использовать беспроводную сеть, особенно в диапазоне 2,4 ГГц, для доставки IPTV — не самая удачная идея. Следует понимать, что Wi-Fi является разделяемой средой и вы делите доступную пропускную способность не только с клиентами вашей сети, но и с устройствами соседних сетей, работающих в том же частотном диапазоне. Проще говоря, даже если ваши собственные устройства не занимают Wi-Fi, то за стеной может оказаться ноутбук соседа, которые на этом же самом канале качает торренты, поэтому прием IPTV, особенно с HD-качеством в таких условиях может оказаться затруднительным.
Но если вы все-таки решили транслировать IPTV через Wi-Fi, то выполните следующие настройки: перейдите в свойства беспроводного интерфейса на закладку Wireless и перейдите в режим Advanced Mode.
Затем установите значения опций: WMM Support — enabled и Multicast Helper — full.
Это включит Wi-Fi multimedia и позволит отправлять мультикаст-пакеты на mac-адреса беспроводных клиентов, но не забывайте, что вы делите полосу пропускания не только между своими устройствами, поэтому работа таких клиентов может не соответствовать ожиданиям, особенно в городских условиях.