
Kaip paversti labai labai eilinį routerį į routerį kuris tūrėtų privalumus kuriuos turi tik brangūs, arba spec. funcionalumą turintis routeriai? Čia į pagalbą ateina openwrt pagrindu padaryta custom firmware routeriui pavadinimu – Gargoyle. Ką gaunam?:
- OpenVPN serverį arba klientą
- Išorinių 3g/4g modemų pajungimą(mano atvėju patogu sodyboje kur bus naudojamas usb 3g modemas huawei e180 kaip interneto šaltinis)
- Udpxy – udp(IPTV) srauto transkoderis
- Ir dar daug visokių papildomų galimybių, plačiau – https://en.wikipedia.org/wiki/Gargoyle_(router_firmware) ir google – Gargoyle
Routeris:
TP-Link TL-WR1043N/ND v1
Planas:
- Susiupdate’tinti routerio FW
- Susikonfiguruoti routerį kad primtu UDP srautą(reikia dėl IPTV, standartiškai neveikia)
- Isidiegti ir susikonfiguoti Udpxy
- Prasitestuoti išorinį huawei e180 modemą (vėliau pakeisti į spartesni, nes esamas siunčia max 5 mb/s)
Info šaltiai:
- https://wiki.openwrt.org/doc/howto/udp_multicast
- https://habrahabr.ru/post/138735/
- https://www.gargoyle-router.com/wiki/doku.php?id=supported_routers_-_tested_routers
- https://wiki.openwrt.org/toh/tp-link/tl-wr1043nd
- https://www.gargoyle-router.com/download.php
- http://www.lagmonster.org/docs/vi.html – vi komandos 🙂
- https://stackoverflow.com/questions/34756589/openwrt-allow-multicast-traffic
- https://wiki.alpinelinux.org/wiki/IPTV_How_To
Susiupdate’tinti routerio FW
Siunčiamės firmware – https://www.gargoyle-router.com/download.php, čia siunčiuosi 1.8.1, failą – gargoyle_1.8.1-ar71xx-generic-tl-wr1043nd-v1-squashfs-factory.bin, čia svarbu tinkama versija pagal modemo versiją, mano atvėju 1v( nurodyta ant routerio apačioje esančio lipduko). Atnaujinu standartiškai per web prieigą. Viską konfiguruoju pagal poreikius, sukonfiguravus paiškėja jog routeris nepriima UDP srauto, todėl reikalinga papildoma konfiguracija.
UPDATE: su gargoyle_1.8.1-ar71xx-generic-tl-wr1043nd-v1-squashfs-factory.bin lužinėjo WIFI, todėl atnaujinau iki gargoyle_1.9.2-ar71xx-generic-tl-wr1043nd-v1-squashfs-sysupgrade.bin, kolkas veikia stabiliai, kaip bus toliau parodys laikas.
Susikonfiguruoti routerį kad primtu UDP srautą(reikia dėl IPTV, standartiškai neveikia)
Aktyvuoajme SSH prieigą prie routerio ir jungiamės.
instaliuojame igmpproxy:
opkg update opkg install igmpproxy
konfiguruojame, pridedame tokias eilutes (man tiko standartiniai parametrai):
vi /etc/config/igmpproxy
config igmpproxy option quickleave 1 config phyint option network wan option direction upstream list altnet 0.0.0.0/0 config phyint option network lan option direction downstream iconfig interface lan option type bridge option igmp_snooping 1
paleidžiame ir aktyvuojame kad startuotu persikrovus:
/etc/init.d/igmpproxy start /etc/init.d/igmpproxy enable
toliau firewall konfiguracija:
vi /etc/config/firewall
pridedame:
config rule option src 'wan' option proto 'igmp' option target 'ACCEPT' config rule option src 'wan' option proto 'udp' option dest_ip '224.0.0.0/4' option target 'ACCEPT'
restartuojame firewall:
/etc/init.d/firewall restart
UDP sroutas tūrėtu veikti. Jei neveikia reiktu pabandyti perkrauti routerį.
Toliau udpxy diegimas ir konfiguracija.
opkg update opkg install udpxy cd /etc/init.d vi udpxy
keičiame turinį failo į:
#!/bin/sh /etc/rc.common # Copyright (C) 2010 OpenWrt.org START=99 STOP=10 IGMP_OPTS="-a br-lan -m eth0.2 -p 8888 -M 600" IGMP_BIN="/usr/bin/udpxy" PID_F="/var/run/udpxy.pid" start() { echo "Starting udpxy" start-stop-daemon -S -x $IGMP_BIN -p $PID_F -b -m -- $IGMP_OPTS } stop() { echo "Stopping udpxy" start-stop-daemon -K -x $IGMP_BIN -q }
testuojame scriptą:
./udpxy start
aktyvuojame:
/etc/init.d/udpxy enable
testuojame local hoste:
http://192.168.1.1:8888/status