1

Тема: UDPXY на Keenetic

UDPXY работает на кинетике и находится в репозитарии пакетов!

08.10.2011 выложена обновленная версия udpxy. Исходники с патчем автора udpxy от 06.10.2011, добавлен скрипт автозапуска K26udpxy (для автозапуска переименовываем). Скрипт изменен, исправлена очепятка, вставлена проверка - загружен ли модуль igmpsn.

Последний вариант скрипта для udpxy (проверяйте и отписывайтесь) тут
http://keenetic.zyxmon.org/files/K26udpxy
По сравнению со скриптом из пакета -
номер порта udpxy в переменной,
добавлена проверка - запущен ли udpxy,
подправлено правило iptables для мультикаст трафика.

Статья в wiki - http://keenetic.zyxmon.org/wiki/doku.php/wiki:udpxy
Дополняем статью!!!

Для работы нужно выгрузить модуль ядра igmpsn и прописать пару правил iptables. Скрипт запуска приблизительно такой:

#!/bin/sh

MOUNT="/media/DISK_A1/system"

export PATH=$MOUNT/bin:$MOUNT/sbin:$MOUNT/usr/bin:$MOUNT/usr/sbin:/sbin:/usr/sbin:/bin:/usr/bin
export LD_LIBRARY_PATH=$MOUNT/lib:$MOUNT/usr/lib:/lib:/usr/lib


start() {
#for pure PPPoE without ip add any ip to eth2.2 
#ifconfig eth2.2 10.10.99.1 up
rmmod igmpsn
# Forcing setting IGMPv2
echo "2" > /proc/sys/net/ipv4/conf/all/force_igmp_version
# route add -net 239.0.0.0 netmask 255.0.0.0 br0 (не обязательно, работает без этого маршрута)
iptables -D INPUT -i eth2.2 -d 239.0.0.0/8 -j ACCEPT
iptables -I INPUT -i eth2.2 -d 239.0.0.0/8 -j ACCEPT
udpxy -a br0 -p 8888 -m eth2.2 -c 20 -B 4Kb -R -1 -H 4
}

stop() {
iptables -D INPUT -i eth2.2 -d 239.0.0.0/8 -j ACCEPT
killall updpxy
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        sleep 1
        start
        ;;
    link_up)
        ;;
    ppp_up)
        ;;
    link_down)
        ;;
    ppp_down)
        ;;
    *)
        echo "Usage: $0 {start|stop|restart|link_up|link_down|ppp_up|ppp_down}"
        ;;
esac 

2

Re: UDPXY на Keenetic

Всем привет, во-первых спасибо за громадную возможность расширения функционала кинетика с помощью линукса на внешнем носителе. К сожалению не сильно в нем(линуксе) разбираюсь, но развернул с вашей помощью медиатомб с каналами айпи-тв. Все хорошо, только хотелось бы расширить возможности айпи-тв вещать и по вай-фаю. Для этого я так понимаю нужен пакет, который сможет преобразовывать "udp to http". Поискав информацию в интернете нашел следующее - на роутерах ставят билд UDP HTTP proxy (ipkg install http://switch.dl.sourceforge.net/projec … ipsel.ipk). А есть ли аналогичный билд для opkg(гугл к сожалению не выдал такой информации)? Если его нет, можете ли вы его создать?
upd. нагуглил

.opk

These are simply .ipk files renamed. There is no technical differences
whatsoever, the rename is being done purely for appearance.

Достаточно ли всего лишь переименовать файл?

Отредактировано maxtor (2011-06-16 21:25:03)

3

Re: UDPXY на Keenetic

maxtor :

Всем привет, во-первых спасибо за громадную возможность расширения функционала кинетика с помощью линукса на внешнем носителе. К сожалению не сильно в нем(линуксе) разбираюсь, но развернул с вашей помощью медиатомб с каналами айпи-тв. Все хорошо, только хотелось бы расширить возможности айпи-тв вещать и по вай-фаю. Для этого я так понимаю нужен пакет, который сможет преобразовывать "udp to http". Поискав информацию в интернете нашел следующее - на роутерах ставят билд UDP HTTP proxy (ipkg install http://switch.dl.sourceforge.net/projec … ipsel.ipk). А есть ли аналогичный билд для opkg(гугл к сожалению не выдал такой информации)? Если его нет, можете ли вы его создать?
upd. нагуглил

.opk

These are simply .ipk files renamed. There is no technical differences
whatsoever, the rename is being done purely for appearance.

Достаточно ли всего лишь переименовать файл?

Попробуйте это
https://rapidshare.com/files/652948302/ … enetic.ipk

opkg install udpxy_1.0-Chipmunk-19-1_keenetic.ipk

Отредактировано AndreyUA (2011-06-17 01:32:30)

4

Re: UDPXY на Keenetic

maxtor, отпишитесь - работает ли собранный AndreyUA udpxy. Если работает - соберу и выложу в репозитарий. "Локальные" пакеты лучше устанавливать, указывая полный путь. Например,

opkg install ./udpxy_1.0-Chipmunk-19-1_keenetic.ipk

Это в случае, когда ipk пакет находится в текущей директории.

5

Re: UDPXY на Keenetic

Zyxmon :

"Локальные" пакеты лучше устанавливать, указывая полный путь. Например,

opkg install ./udpxy_1.0-Chipmunk-19-1_keenetic.ipk

Это в случае, когда ipk пакет находится в текущей директории.

Упустил ./ roll
К сожалению, я этот пакет проверить не могу, т.к. у меня нет iptv

Отредактировано AndreyUA (2011-06-17 09:40:34)

6

Re: UDPXY на Keenetic

maxtor :

только хотелось бы расширить возможности айпи-тв вещать и по вай-фаю.

Это есть в базовой прошивке - используется не udpxy, а igmpproxy. Тем не менее, если есть возможность, проверьте udpxy.

7

Re: UDPXY на Keenetic

Телевизор igmp не понимает, нужен поток *.ts. Вечером попробую udpxy.

8

Re: UDPXY на Keenetic

чтобы заупстить прокси используют команду
"udpxy -p 81 -a br0 -m vlan1"
внутренняя сеть - br0 (проходит)
внешняя - vlan 2
Уважаемые, не подскажете - как называется внешний порт на кинетиках ?

upd. указал адрес х.х.х.х, который выделяется провайдером на wan, вместо vlan 2.
Трансляции нету(
В логах "17 Июн 21:25:07    udpxy[10322]    read_buf: read: Resource temporarily unavailable"

Отредактировано maxtor (2011-06-17 20:29:09)

9

Re: UDPXY на Keenetic

вспомнил про команду ifconfig=) интерфейс wan называется eth2.2
в общем все равно не заработало(
ошибка осталась

Отредактировано maxtor (2011-06-17 20:55:17)

10

Re: UDPXY на Keenetic

maxtor, имена интерфейсов в /bin/iface-names.sh, бриджей - запускаем "brctl -show" и "ifconfig".

11

Re: UDPXY на Keenetic

Единственным обязательным параметром запуска является "-s", начните с простого.

12

Re: UDPXY на Keenetic

usage: udpxy [-vTS] [-a listenaddr] -p port [-m mcast_ifc_addr] [-c clients] [-l logfile] [-B sizeK] [-n nice_incr]

sad
-s не вижу, и с этой командойне запускается

/media/DISK_A1/system/root # udpxy -s
udpxy: invalid option -- s
Unrecognized option: [-s]

13

Re: UDPXY на Keenetic

Значит -p. Ну и проверять начните в vlc на компе, естественно. Если udpxy запустится.
Логи, -v  включайте при проблемах.

14

Re: UDPXY на Keenetic

Проверял естественно на компьютере с VLC. И обычный запуск к сожалению не привел к желаемому результату. Вполне возможно из-за встроенного в кинетике igmp proxy.

15

Re: UDPXY на Keenetic

maxtor, никто не мешает его убить. Экспериментируйте. Параметр -m, пожалуй, нужен.
Можно даже модуль ядра igmpsn.ko посли прибития igmpxy выгрузить. Изучите /bin/igmpproxy.sh.

16

Re: UDPXY на Keenetic

Почитайте эти ссылки, возможно вам поможет

http://forum.beezone.info/main/os/nix/20810.html
http://forum.beezone.info/beeline/lan/14875.html
http://wl500g.info/showpost.php?p=51618 … stcount=20

17

Re: UDPXY на Keenetic

я так понимаю Ваш tcpdump обрезан в функционале, ибо "tcpdump -i $(nvram get wan_ifname) -n -p udp port 5500 and host 233.32.210.1" возвращает

-ash: nvram: not found
tcpdump: ioctl: No such device

18

Re: UDPXY на Keenetic

maxtor :

я так понимаю Ваш tcpdump обрезан в функционале, ибо "tcpdump -i $(nvram get wan_ifname) -n -p udp port 5500 and host 233.32.210.1" возвращает

-ash: nvram: not found
tcpdump: ioctl: No such device

$(nvram get wan_ifname)  - это для асуса. вместо него надо вписать wan интерфейс И там написано "предположим" Поэтому host 233.32.210.1 тоже должно быть ваше.

покажите ваш ifconfig и плейлист iptv

Отредактировано AndreyUA (2011-06-17 22:47:22)

19

Re: UDPXY на Keenetic

Да-да, я это понял. Но к сожалению после 3-х минут просмотра айпи тв через VLC дамп пуст.  sad

/media/DISK_A1/system/bin # tcpdump -i eth2.2 -n -p udp port 1234 and host 239.255.2.31
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth2.2, link-type EN10MB (Ethernet), capture size 65535 bytes

0 packets captured
0 packets received by filter
0 packets dropped by kernel
/media/DISK_A1/system/bin #

Утро вечера мудренее, не буду Вас более своими глупыми вопросами доставать) Спасибо за консультации, продолжу завтра.

20

Re: UDPXY на Keenetic

maxtor :

Да-да, я это понял. Но к сожалению после 3-х минут просмотра айпи тв через VLC дамп пуст.  sad

/media/DISK_A1/system/bin # tcpdump -i eth2.2 -n -p udp port 1234 and host 239.255.2.31
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth2.2, link-type EN10MB (Ethernet), capture size 65535 bytes

0 packets captured
0 packets received by filter
0 packets dropped by kernel
/media/DISK_A1/system/bin #

Утро вечера мудренее, не буду Вас более своими глупыми вопросами доставать) Спасибо за консультации, продолжу завтра.

попробуйте -i any

21

Re: UDPXY на Keenetic

помогло tcpdump -i eth2.2 host 239.255.2.31
проанализировал маршруты по ссылке http://wl500g.info/showpost.php?p=51618 … stcount=20
В общем с маршрутами все ок. Надо копаться дальше.

22

Re: UDPXY на Keenetic

покажите ваш ifconfig и плейлист iptv

/media/DISK_A1/system/root # ifconfig
br0       Link encap:Ethernet  HWaddr x:x:x:x:x:x
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1071854 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1820118 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1355070822 (1.2 GiB)  TX bytes:2001948878 (1.8 GiB)

eth2      Link encap:Ethernet  HWaddr x:x:x:x:x:x
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2947205 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2189397 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2807911715 (2.6 GiB)  TX bytes:2358270056 (2.1 GiB)
          Interrupt:3

eth2.1    Link encap:Ethernet  HWaddr x:x:x:x:x:x
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1071878 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1817300 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1355073646 (1.2 GiB)  TX bytes:2004731796 (1.8 GiB)

eth2.2    Link encap:Ethernet  HWaddr x:x:x:x:x:x
          inet addr:79.165.x.x  Bcast:255.255.255.255  Mask:255.255.248.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2568365 errors:0 dropped:0 overruns:0 frame:0
          TX packets:678803 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2453110118 (2.2 GiB)  TX bytes:996791342 (950.6 MiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

ra0       Link encap:Ethernet  HWaddr x:x:x:x:x:x
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:17250 errors:0 dropped:0 overruns:0 frame:0
          TX packets:19694 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1005246 (981.6 KiB)  TX bytes:5597195 (5.3 MiB)
          Interrupt:4


Плейлисты:
http://192.168.1.1:81/udp/239.255.2.31:1234
http://192.168.1.1:81/udp/239.255.2.4:1234

23

Re: UDPXY на Keenetic

На всякий случай (если не читали) длинная тема на форуме Олега по udpxy
http://wl500g.info/showthread.php?t=12182
Следует учитывать, что там советы для асусовских роутеров.

24

Re: UDPXY на Keenetic

Не нравится этот маршрут на кинетике, который к сожалению никак нельзя удалить.

Сетевой адрес    Шлюз    Маска    Интерфейс
239.0.0.0    0.0.0.0    255.0.0.0    LAN

При попытке удаления  route del 239.0.0.0 netmask 255.0.0.0
возвращается

route: netmask 00ffffff and host route conflict

25

Re: UDPXY на Keenetic

maxtor, ничего плохого в этом маршруте не вижу. У меня на ADSL маршрутизаторе (с udpxy) так

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
91.77.208.1     *               255.255.255.255 UH    0      0        0 ppp0
10.0.0.0        *               255.255.255.0   U     0      0        0 br0
239.0.0.0       *               255.0.0.0       U     1      0        0 br0
default         *               0.0.0.0         U     0      0        0 ppp0

Вроде нужно "route del -net ....".