Multicast achter ClearOS Firewall

Door ik222 op maandag 6 september 2010 21:47 - Reacties (3)
Categorie: Technisch, Views: 7.987

Hieronder een handleiding over hoe je multicast streams (die gebruikt worden voor bijvoorbeeld IPTV) kan bekijken achter een router die draait op ClearOS. Hiervoor gaan we udpxy gebruiken, dat is een een stukje software wat udp multicast streams omzet naar unicast streams die je kunt bekijken op je normale netwerk.

Stap 1: Installeer ClearOS
Dit ga ik hier verder niet bespreken. Alle informatie over het installeren van dit OS en de basisconfiguratie ervan kun je vinden op http://www.clearfoundation.com/Software/overview.html

Hieronder ga ik er vanuit dat je een basisinstallatie hebt draaien en deze geconfigureerd hebt als gateway voor je netwerk.

Stap 2:Verbinding maken met de CLI van ClearOS
Om de benodigde wijzigingen aan te brengen moeten we eerst verbinding maken met de CLI (=Command Line Interface) van ClearOS. Dit kan standaard al via SSH, hiervoor kun je bijvoorbeeld gebruik maken van Putty. Dus download en open putty en verbind daarmee naar het ip adres van je ClearOS gateway, uiteraard kun je eventueel ook een andere SSH client gebruiken. Het IP adres van je gateway is hetzelfde adres als waarmee je in de webinterface kan komen. Zodra de verbinding tot stand is gebracht wordt gevraagd om een gebruikersnaam en wachtwoord. De gebruikersnaam is 'root' en het wachtwoord is het wachtwoord wat je tijdens de installtie hebt ingevuld en wat je ook gebruikt voor de webinterface.

Stap 3: Benodigdheden installeren
Om dadelijk udpxy te kunnen installeren moeten we eerst twee tootljes installeren die standaard nog niet in ClearOS zitten. Dat zijn 'make' en 'gcc' welke je als volgt kun installeren:


code:
1
yum install make


en

code:
1
yum install gcc



Voor beide wordt nog even een bevestiging gevraag waar je 'y' moet typen en de rest gaat vanzelf.

Stap 4: Udpxy installeren
Om Udpxy te installeren en vervolgens te zorgen dat deze telkens automatisch start moet je achtereenvolgens de volgende commando's uitvoeren:

IGMP configuratie op netwerkinterface aanpassen

code:
1
echo 'sysctl -w net.ipv4.conf.eth0.force_igmp_version=2'>>/etc/rc.d/rc.local


Udpxy downloaden

code:
1
wget http://sunet.dl.sourceforge.net/project/udpxy/udpxy/Chipmunk-1.0/udpxy.1.0-Chipmunk-16.tgz


Udpxy uitpakken

code:
1
tar -xvf udpxy.1.0-Chipmunk-16.tgz


Naar de juiste map gaan

code:
1
cd udpxy-1.0-Chipmunk-16


Compileren

code:
1
make


Udpxy naar de sbin map kopieren

code:
1
cp udpxy /sbin/


Zorg dat udpxy start tijdens het opstarten van ClearOS

code:
1
echo 'udpxy -p 7000 -a eth1 -m eth0' >>/etc/rc.d/rc.local



Nu is udpxy in principe geinstalleerd.

Stap 5:Firewall aanpassen
Om IGMP te accepteren moeten we nog een aapassing in de firewall doorvoeren welke ook telkens gedaan wordt bij opnieuw opstarten. Hiervoor voer je de volgende regel code uit:

code:
1
echo 'iptables -A INPUT -d 224.0.0.0/240.0.0.0 -j ACCEPT'>>/etc/rc.d/rc.firewall.local


De configuratie is nu klaar, om te zorgen dat alles goed gaat draaien is het handig om even ClearOS te rebooten. Dit doe je eenvouding met het reboot commando:

code:
1
reboot



Wanneer de reboot voltooid is en zou je in principe de udpxy status moeten kunnen bekijken via http://gateway_ip:7000/status. Waarin je gateway ip uiteraard vervangt voor je eigen gateway ip. Als je die pagina kan zien is de installtie geslaagd, zo niet dan heb je ergens wat fout gedaan.

Stap 6: Multicast streams openen
De proxy draait nu, tijd om de stream te openen wat bijvoorbeeld kan met VLC. Wat wel belangrijk is om te weten is dat je de URL van de streams aan moet passen en wel op de volgende manier: Je vervangt 'udp://@' voor 'http://gateway_ip/udp/' waar je gateway_ip uiteraard weer vervangt voor je eigen gateway ip. Dus bijvoorbeeld:
Stream url

code:
1
udp://@224.1.3.3:12114



wordt

code:
1
http://gateway_ip:7000/udp/224.1.3.3:12114



Als het goed is kun je nu kijken, veel plezier!

Reacties


Door Tweakers user DJSmiley, maandag 6 september 2010 22:57

Leuke (nuttige) beschrijving voor gebruikers die iptv hebben. Heb dit zelf ook meermalen draaiend gehad (alleen dan onder centos maar goed, veel scheelt dat niet)

- Doordat de stream unicast is, kun je, binnen hetzelfde netwerk als je internet, tv kijken, ook over Wifi. (bij Multicast wil een wifi link nog wel eens op zn bek gaan)
- Standaard heb je max 3 connecties, wil je meer dan moet je dit als parameter opgeven binnen udpxy. ( -c <nr> parameter, 3 is standaard)
- Met een portforwarding ben je niet beperkt tot je interne netwerk.. als je upload voldoende is kun je ook je streams openen vanaf kantoor/school/<whatever> (wel zou ik dan firewall rules maken om te voorkomen dat iedereen het kan)

Dmv Tversity kun je de output ook streamen: Ik kan op die manier met mn Asus oplay de streams bekijken, je kan url gewoon als bron toevoegen in tversity.

Een Popcorn hour kan direct streamen: maak hiervoor een html file aan op de interne hdd/usb stick of whatever

<A HREF="http://gateway:port/udp/224.1.3.3:12114" vod>Kijk stream 224.1.3.3</A>
enz.

Als je een beetje slimme hardware hebt kun je dit ook op dedicated boxjes draaien: udpxy kan op sommige routers oa draaien.

[Reactie gewijzigd op maandag 6 september 2010 23:05]


Door Tweakers user ik222, maandag 6 september 2010 23:23

@DJSmiley: Dat van die portforwarding lijkt mij expliciet niet de bedoeling aangezien je dan als een soort gateway dient :P In ieder geval raad ik dat sterk af aangezien het in feite zelfs illegaal wordt dan aangezien je signaal opnieuw gaat verspreiden.

Die aantal connecties parameter is interessant, dat had ik namelijk nog niet gezien in de documentatie van udpxy :)

Overigens ClearOS is gebasseerd op centos dus als je in de CLI zit is het exact hetzelfde zelfs ;)

[Reactie gewijzigd op maandag 6 september 2010 23:30]


Door Tweakers user himlims_, dinsdag 7 september 2010 17:04

wat verschilt multicast met bij. MPD?

Reageren is niet meer mogelijk