суббота, 9 февраля 2019 г.

Настройка igmpproxy, udpxy и xupnpd на прошивке Openwrt для просмотра IPTV.


работоспобность проверена на Openwrt 18.06.2 на роутере Tp-link WDR3500

Общее

1. установить клиент SSH Putty.
2. подключиться к роутеру по SSH.
 
3. устнановить текстовый редактор nano для более удобного редактирования конфигов:

opkg update
opkg install 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

в результате должно быть выведено "1".
 

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

opkg update
opkg install igmpproxy

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

nano /etc/config/igmpproxy

в данном файле необходимо добавить строку с указанием подсети, в которой идет вещание IPTV (лучше уточнить у провайдера), в моем случае это строка:
list altnet 212.49.127.0/24
у Вас она не будет работать т.к. работает только на сети моего провайдера!
можно разрешить igmpproxy слушать все возможные адреса, в этом случае возможна нестабильность, хотя у меня работает нормально:

list altnet 0.0.0.0/0

 

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

полный конфиг igmpproxy выглядит так:
config igmpproxy
        option quickleave 1
#      option verbose [0-3](none, minimal[default], more, maximum)

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. отредактировать конфиг файервол командой:

nano /etc/config/firewall

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

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 командой:

ps | grep igmp

должно выдать две строки:
 

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


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


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

opkg update
opkg install udpxy

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

nano /etc/config/udpxy

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

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

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

nano /etc/config/firewall

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

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 командой

ps |grep udpxy

должно выдать две строки:
 

6. для просмотра необходим плейлист в определенном формате:
http://192.168.100.1:4022/udp/239.255.2.122:1234
где 192.168.100.1 -  ip-адрес роутера, либо использовать обычный плейлист с приложениями для просмотра IPTV, в которых можно настроить прокси, например под android есть приложение IPTV.

 
 

посмотреть статус работы udpxy можно по адресу (ip подставить от своего роутера):
http://192.168.100.1:4022/status
 

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


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

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

opkg update
opkg install xupnpd

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

/etc/init.d/xupnpd enable
/etc/init.d/xupnpd start

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

http://192.168.100.1:4044/ui/#Status

4. перейти в раздел "Playlists", выбрать и загрузить файл плейлиста провайдера, нажать "send", затем нажать "Reload"
 
5. просмотр каналов возможен на устройствах с поддержкой DLNA (ПК, смартфон, ТВ)