Mediaserver::Serviio
Serviio Mediaserver voor ClearOS
Introductie
Serviio is een freesoftware zogeheten DNLA server, wat staat voor Digital Living Network Alliance.
Dit is een van de meest gangbare manieren om bestanden te delen met je thuisnetwerk.
Doordat Serviio hierover beschikt, is het mogelijk om video’s, foto’s en muziek van bijvoorbeeld uw computer naar andere apparaten te streamen. Serviio is makkelijk te installeren en het programma installeert zichzelf als ‘service’ op je systeem, zodat het iedere keer opstart als u uw computer aanzet.
Serviio streamt verschillende soorten mediabestanden, zoals video, muziek en foto’s, naar meerdere apparaten, zoals televisie, blu-ray-speler of computer
Het is een eenvoudig programma, met erg veel mogelijkheden. Serviio is beschikbaar voor Windows, Mac OS X en Linux.
Veel apparaten, zoals televisies, Playstation of Xbox en smartphones, beschikken tegenwoordig standaard over DNLA, waardoor u met Serviio hier makkelijk naartoe streamt vanaf een computer of thuisserver. Het koppelen van alle apparaten gebeurt via het (W)LAN thuisnetwerk.
Servio heeft de volgende kenmerken:
- gratis software om mediabestanden over internet te streamen
- beschikbaar voor Windows, Mac OS X en Linux
- draait op een NAS of server
- deel uw mappen en bestanden binnen dit programma
- klik op een bestand om dit direct af te spelen of te openen
- beschikt over transcoding
- werkt met uw wifi-verbinding of het vaste netwerk.
Serviio free v 2.2.1
Serviio versie 2.2 is sinds december 2021 beschikbaar voor ClearOS 7.
Serviio is gebaseerd op Java Technologie en draait daarom op de meeste platforms, inclusief Windows, Mac en Linux.
Serviio Mediaserver Installeren
- Serviio is beschikbaar in de ClearOS 7 repository en de ClearOS community Marketplace
- Na de installatie is er in het Webconfig menu een extra optie: Webconfig > Server > File > Serviio Media Server
Serviio Activeren
- Ga in Webconfig naar: Server > File
- Selecteer hier: Serviio Media Server
- Start Serviio Media Server
- Onderstaand scherm opent.
Lees tekst in groen kader zorgvuldig.
- Vóór het aanklikken van de link 'Go To Serviio Management Console' moeten eerst enkele instellingen op de ClearOS server gemaakt worden:
- Leestoegang tot de mediamappen voor iedereen
- Firewall configureren voor Serviio
Leestoegang Mappen met Media
Er wordt geadviseerd de Flexshare-mappen te gebruiken voor de media muziek, video en afbeeldingen.
Op mijn server maak ik geen gebruik van flexshares, de media zijn opgeslagen in de fileserver '/home/files'.
De Serviio Media Server App is geen geregistreerde gebruiker en kan als dusdanig dan ook niet toegevoegd worden aan de LANSHARE groep voor toegang tot de File Server 'samba' mappen.
Om te zorgen dat Serviio de mappen met media toch kan vinden moet voor de betreffende mappen leestoegang gegeven worden
aan iedereen.
# chmod 755 /home/files/muziek # chmod 755 /home/files/video # chmod 755 /home/files/afbeeldingen
Hierna kunnen in de Serviio Management Console de mappen muziek, video en afbeeldingen gevonden worden in '/home/files/'
Firewall instellingen
Zie voor Firewall instellingen ook Server::Firewall en in het bijzonder sectie 3. Firewall Custom
Lees Serviio > Support > Getting Started > Installation voor de te openen poorten voor Serviio Braadcast (UDP 1900) en Streaming (TCP 8895)
Toegang tot Serviio Management Console
Standaard krijgt elke gebruiker of app in het LAN thuisnetwerk toegang tot de Serviio Management Console en elke instelling wijzigen. WAN toegang is standaard geblokkeerd.
De Serviio Management Console gebruikt poort 23423 (http/non-SSL) of poort 23523 (https/SSL).
In de firewall zetten we alleen de https poort 23523 open, maar beperken we de toegang tot de Serviio Management Console tot de Beheerders-PC.
Filter Description: Serviio-Console
Filter Rule: $IPTABLES -I INPUT -p tcp --source 192.168.178.10 --destination 192.168.178.4 --dport 23523 -j ACCEPT
Dit levert in IP tables het volgende resultaat:
[root@mainserver ~]# iptables -L Chain INPUT (policy DROP) target prot opt source destination ... ACCEPT tcp -- ben-xps mainserver.makkink.eu tcp dpt:23523 ...
Toegang tot de tcp bestemmingspoort poort 23523 op de server (192.168.178.4) wordt alleen toegelaten voor de bron IP 192.168.178.10 (beheerderPC 'ben-xps').
Serviio Broadcast
De Simple Service Discovery Protocol (SSDP) poort 1900 wordt gebruikt voor het ontdekken van Plug & Play (UPnP) apparaten. Serviio luistert via deze poort naar devices die zoeken op het loale netwerk en antwoordt hier vervolgens op.
In 2014 is ontdekt dat de SSDP-poort 1900 gebruikt kan worden in 'amplication attacks'. Simpel gezegd wordt bij een 'amplification attack' een hoeveelheid data naar jouw SSDP-poort verzonden vanaf een gespoofd IP. Je VPS stuurt vervolgens een significant grotere hoeveelheid data terug naar het daadwerkelijke IP. Via deze weg kunnen kwaadwillenden dus jouw SSDP-poort misbruiken om een (D)DoS-aanval uit te voeren op het gespoofde IP-adres.
Het is daarom belangrijk dat deze poort alleen open staat op het locale netwerk (LAN).
Het in Webconfig aanmaken van een 'incoming firewall' voor udp 1900 werkt niet. Voor zover ik het begrijp is dit omdat dit 'incoming' filter ook incoming van buiten het netwerk toelaat. Dit is echter door ClearOS per default geblokkeerd.
Er moet een 'custom' filter aangemaakt worden die alleen devices in het lokale netwerk toelaat.
Filter Description: Serviio-Broadcast
Filter Rule: $IPTABLES -I INPUT -p udp --source 192.168.178.0/24 --dport 1900 -j ACCEPT
Dit levert in IP tables het volgende resultaat:
[root@mainserver ~]# iptables -L Chain INPUT (policy DROP) target prot opt source destination ... ACCEPT udp -- 192.168.178.0/24 anywhere udp dpt:ssdp ...
De SSDP poort staat hiermee open voor alle IP's in het lokale netwerk.
Serviio Streaming
Voor het reageren door Serviio op de SSDP informatieaanvragen van UPnP apparaten, wordt TCP poort 8895 van de server gebruikt. Deze poort wordt ook gebruikt voor het streamen van de media bestanden naar de UPnP apparaten.
Hiervoor is het voldoende in Webconfig een 'incoming' rule aan te maken.
Dit levert in IP tables het volgende resultaat:
[root@mainserver ~]# iptables -L Chain INPUT (policy DROP) target prot opt source destination ... ACCEPT tcp -- anywhere mainserver.makkink.eu tcp dpt:8895 ... Chain OUTPUT (policy DROP) target prot opt source destination ... ACCEPT tcp -- mainserver.makkink.eu anywhere tcp spt:8895 ...
Serviio Instellingen
Open Serviio Media Server vanuit Webconfig > Server > File > Serviio Media Server en klik op
of
Ga in browser naar https://mainserver:23523/console
Instellingen Status
Ga in console naar 'Status' en verifieer instellingen.
- Sta nieuwe apparten toe
- Gekoppeld IP adres: 'Autmatisch gedetecteerd' of IP handmatig invoeren
Gedeelde mappen toevoegen
Ga in console naar 'Verzameling > Gedeelde mappen' en selecteer '+Toevoegen'
Selecteer in 'Toevoegen' dialoog:
- Media type
- Weergave naam
- Vink aan: Haal beschrijvende metadata gegevens op
- Klik op 'Bladeren' voor het selecteren van de folder met de media
Selecteer de folder met de gewenste media, in dit geval: /home/files/video/series
Note:
Als een map met de gezochte media niet getoond wordt dan komt dit omdat niet de juiste rechten ingesteld zijn voor de gezochte map en/of het pad er naar toe.
Zie
voorgaande sectie Leestoegang Mappen met Media
Presentatie
De structuur van de mappen die je op je speler ziet kan aangepast worden. Kies de categorieën die je wil zien, alleen inhoud of uitgeschakeld.
De Serviio Mediaserver is nu beschikbaar op o.a. TV's in hetzelfde netwerk alsook bijvoorbeeld op Windows PC's met de DLNA Browser App.