Установка udpxy на роутере

Обновлено: 04.07.2024

Обратил внимание, что по Wi-Fi невозможно смотреть трансляцию IPTV от провайдера (протокол IGMP), IP-TV Player отображает слайд-шоу, и решил настроить.
Вникнув в суть проблемы обнаружил, что тема весьма актуальна, и информации более чем достаточно, но местами она противоречива, кроме того, решить проблему «в лоб» не вышло, поэтому пришлось пойти путем экспериментов, и ниже привожу свой вариант решения проблемы.
Суть проблемы в том, что с данной прошивкой, при попытке обращения к IPTV — мультикаст раздается одновременно и на LAN и на WIFI, при этом WIFI перегружается, либо подвисает.

Как вариант решения проблемы — отключить трансляцию мультикаст (в моем случае — перестает транслировать IPTV, и на WIFI не влияет, поэтому не отключаем), далее — запрашивать и получать по одному каналу через прокси сервер Udpxy.

По идее необходимо было использовать следующую команду запуска сервера:
/tmp/udpxy -a 192.168.1.1 -p 4022 -m ХХХ.255.255.255 -B 2Mb -M 30
Но в подобраной мной версии программы udpxy ключ установки размера буфера не срабатывает, программа выдает ошибку. По остальным параметрам — не вижу смысла усложнять, если работает с параметрами по умолчанию.

2) В интерфейсе прошивки в разделе «Безопасность» отключаем «Брандмауэр SPI», соответственно по умолчанию отключен «Фильтр многоадресных потоков» (часто пишут, что он должен быть включен, но по факту это не так, с включенным брандмауэром SPI и фильтром многоадресных потоков — трансляция IPTV не работает).



В принципе, можно добавить в параметры запуска указанный выше код и на этом остановиться, но лучше — сохранить файл udpxy в память роутера и не зависить от доступа в интернет, для этого необходимо:

1) В настройках прошивки включить поддержку JFFS:
— включить JFFS2;
— сохранить, применить;
— включить «Очистить JFFS2»;
— не сохранять, но нажать «применить»;
— отключить "Очистить JFFS2";
— сохранить;
— перезагрузить роутер.

Получим вот такую картину и доступ на запись к папке /jffs в памяти роутера:


2) Качаем и сохраняем udpxy в папку /jffs, меняем параметры запуска:


Просто копируем и на всякий случай меняем права доступа:
cp /tmp/udpxy /jffs/udpxy

Даем необходимые права доступа файлу:
chmod 755 /jffs/udpxy
chmod +x /jffs/udpxy

Меняем параметры запуска на строку:
/jffs/udpxy -p 4022 -a 192.168.1.1

Должно быть что-то типа этого:


В итоге всех настроек, в настройках IP-TV Player, в строке «сетевой интерфейс» указываем:
192.168.1.1:4022



Всё. Наслаждаемся плавной работой IPTV по WIFI.

Следует отметить, что не все устройства такие как смартфоны, планшеты, IPTV-приставки, телевизоры Smart TV и Android TV, а также игровые консоли и различные онлайн ТВ-плееры способны воспроизводить мультикаст трафик (multicast) напрямую. В таких случаях необходимо указывать в настройках самих устройств, или в установленных на них приложениях и программах для просмотра IPTV непосредственно IP-адрес и порт прокси (proxy), указанные в настройках Wi-Fi роутера (маршрутизатора), или прокси-сервера (proxy-server) в локальной (домашней) сети. В роли такого сервера может выступать не только роутер, но и один из ваших персональных компьютеров, подключенных к такой малой сети. Например этот адрес может выглядеть так: 192.168.1.1:1234 .

И начнём мы с роутеров, так как в первую очередь организация домашней сети начинается именно с них и именно от их возможностей зависит, сможете вы смотреть IPTV вашего провайдера, или нет.

Настройка Proxy на Wi-Fi роутере (маршрутизаторе)

Имейте в виду, что при наличии и возможности включения IGMP Proxy , как в роутерах Zyxel Keenetic, его нужно обязательно включить.

Пример настройки UDPXY на роутере D-Link DIR-615

Настройка UDPXY на роутере D-Link DIR-615

Пример настройки UDPXY на роутере SNR-CPE-W4N

Настройки UDPXY на роутере SNR-CPE-W4N

Пример настройки UDP-прокси на интернет-центре Keenetic Ultra

  • Выбираем в настройках пункт Управление, а затем Общие настройки.

Общие настройки системы

  • Нажимаем кнопку Изменить набор компонентов.

Изменить набор компонентов в системе

Компонент операционной системы UDP-HTTP (UDPXY)

  • После установки компонента и перезагрузки устройства открываем пункт настроек Управление, затем Приложения.

Найти установленный компонент UDP-прокси в списке приложений

  • Ищем установленный компонент UDP-прокси.
  • Включаем прокси-сервер (переводим ползунок в правое положение).
  • Переходим в настройки компонента, нажав на ссылку UDP-прокси.

Включить UDP-прокси и перейти к настройкам

Назначить порт для UDP-proxy и выбрать нужный интерфейс

  • Сохраняем внесённые данные нажатием соответствующей кнопки.

После всех соответствующих настроек интернет-центра нужно указать (прописать) вручную IP-адрес и номер порта в настройках ваших устройств (виджетов, приложений, или программ), через которые вы хотите смотреть IPTV посредством прокси-сервера домашнего роутера. Если все данные указаны и введены вами верно, то телеканалы будут доступны для просмотра уже не по протоколу UDP, а по TCP.

Настройка Proxy на компьютере (прокси-сервер в домашней локальной сети)

Помочь в выборе подходящего Wi-Fi маршрутизатора вам помогут статьи на нашем сайте:

3. устнановить текстовый редактор nano для более удобного редактирования конфигов:


для вставки текста из буфера обмена необходимо нажать правую кнопку мыши
CTRL+s - сохранить файл
CTRL+x - закрыть файл
* вместо редактора nano можно подключиться через файловый менеджер WinSCP (протокол - SCP, ip-адрес, логин/пароль от роутера) и отредактировать конфиги с помощью текстового редактора (не блокнотом Windows), например Notepad++

1. Настройка igmpproxy

1. в роутере ("сеть"--"интрефейсы")в настройках интерфейса LAN включить "IGMP snooping" (вкладка "настройки канала")



2. проверить работу IGMP snooping командой:

cat /sys/devices/virtual/net/br-lan/bridge/multicast_snooping


2. устнановить igmpproxy командой:

3. отредактировать конфиг igmpproxy:


в данном файле необходимо добавить строку с указанием подсети, в которой идет вещание IPTV (лучше уточнить у провайдера), в моем случае это строка:

у Вас она не будет работать т.к. работает только на сети моего провайдера!
можно разрешить igmpproxy слушать все возможные адреса, в этом случае возможна нестабильность, хотя у меня работает нормально:


сохранить и закрыть файл:
CTRL+s
CTRL+x

полный конфиг igmpproxy выглядит так:

config phyint
option network wan
option zone wan
option direction upstream
list altnet 192.168.1.0/24
list altnet 0.0.0.0/0

config phyint
option network lan
option zone lan
option direction downstream

4. отредактировать конфиг файервол командой:

в данном файле ничего не удалять, только добавить строки:

config rule
option name 'Allow-IPTV-IGMPPROXY'
option src 'wan'
option proto 'udp'
option dest 'lan'
option dest_ip '224.0.0.0/4'
option target 'ACCEPT'


сохранить и закрыть файл:
CTRL+s
CTRL+x

5. запустить igmpproxy командами:

/etc/init.d/firewall restart
/etc/init.d/igmpproxy enable
/etc/init.d/igmpproxy start

6. проверить работу igmpproxy командой:


7. открыть плейлист провайдера, например в VLC, проверить работу каналов:


2.Настройка udpxy

2. отредактировать конфиг udpxy:

необходимо изменить значение строки option disabled с "1" на "0"


сохранить и закрыть файл:
CTRL+s
CTRL+x

3. отредактировать конфиг файервол командой:

в данном файле ничего не удалять, только добавить строки:

config rule
option name 'Allow-IPTV-UDPXY'
option src 'wan'
option proto 'all'
option dest_ip '224.0.0.0/4'
option target 'ACCEPT'

сохранить и закрыть файл:
CTRL+s
CTRL+x

4. запустить udpxy командами:

/etc/init.d/firewall restart
/etc/init.d/udpxy enable
/etc/init.d/udpxy start

5. работу udpxy командой


6. для просмотра необходим плейлист в определенном формате:

где 192.168.100.1 - ip-адрес роутера, либо использовать обычный плейлист с приложениями для просмотра IPTV, в которых можно настроить прокси, например под android есть приложение IPTV.




3. Настройка xupnpd

данный способ просмотра через DLNA можно использовать только, если остальные способы не поддержтиваются на устройстве.

1. устнановить xupnpd командой:

2. запустить xupnpd командами:

3. настроить xupnpd, открыв в браузере адрес (ip подставить от своего роутера):

4. перейти в раздел "Playlists", выбрать и загрузить файл плейлиста провайдера, нажать "send", затем нажать "Reload"



На Хабре уже рассматривался вопрос о настройке и просмотре IPTV через роутер на различных прошивках — openWRT, DDWRT и прочих, но никто не описывал подробно как настроить IPTV на прошивке Tomato за счёт перенаправления UDP трафика провайдера в TCP трафик клиента с помощью приложения udpxy. В этой статье я подробно опишу процесс установки и запуска udpxy на прошивке tomato v1.28, а так же расскажу как сделать мост WAN to LAN для отдельной IPTV приставки, ибо сам я потратил очень много времени чтобы разобраться во всём этом, и будь у меня под рукой подобная статья я бы справился намного быстрее.
Что такое udpxy? Официальный сайт разработчиков данного приложениея даёт нам такую формулировку:
Оборудование и параметры использованные при настройке
  • Роутер NETGEAR WNR3500L с прошивкой Tomato Firmware v1.28.9054 MIPSR2-beta K26 USB Ext.
  • Прямое Ethernet соединение роутера с провайдером, тип соединения DHCP, внешний статический ip адрес.
  • Роутер вещает Wi-Fi на частоте 2,4ххGHz, скорость соединения 150мб/с, то есть полноценный 802.11n.
  • Ноутбук с wi-fi адаптером поддерживающим 802.11n, скорость 150мб/с, ОС Windows 8.1.
  • Тарифный план 40-100мб/с с подключенным IPTV вещанием, провайдер SkyNet Спб.
  • Локальный ip адрес роутера 192.168.1.1 маска сети 255.255.255.0.
Инструкция по настройке
Итоги

Мы получили перенаправление UDP трафика от провайдера в TCP трафик клиента, за счёт этого разгрузили роутер, получили быструю скорость загрузки видеопотока и высокое качество видео без «замираний» и «рассыпаний» изображения при просмотре на ПК. У меня всё прекрасно работает через wi-fi соединение на ноутбуке, а так же работает на медиаплеере iconbit HDS6L, который подключен по LAN к роутеру. Способ не самый простой, но изящный. Реализация его доставила мне очень много удовольствия. Очень надеюсь что эта информация проиндексируется в поисковиках и поможет таким же, неопытным как я, пользователям.

Читайте также: