Het castknopje is verdwenen uit de app. Of de smart speaker doet het wel vanaf de ene telefoon en niet vanaf de andere. Of alles werkt, tot je een gastnetwerk of een IoT-VLAN hebt aangezet en het opeens over is.
Wat het niet is: een kapotte tv of speaker. Casten begint met zoeken, en zoeken gebeurt met mDNS (Apple, Google) of SSDP (DLNA, veel tv's). Dat zijn multicast-berichten binnen één netwerk. Werkt het streamen zelf niet terwijl het apparaat wel gevonden wordt, dan is het een bandbreedte- of firewallvraag en niet dit.
De snelle controles, op volgorde
- Zitten telefoon en tv in hetzelfde netwerk?
/ip dhcp-server lease print. Twee adressen uit twee reeksen is meteen het antwoord. Dit is de oorzaak in de meeste gevallen. - Zien ze elkaar op IP-niveau? Ping de tv vanaf de telefoon met een netwerktool, of vanaf de router
/ping 192.168.30.40. Geen antwoord terwijl het adres klopt, betekent dat er iets tussen zit: client-isolatie of de firewall. - Komen de zoekberichten aan?
/tool torch interface=bridge port=5353voor mDNS, ofport=1900voor SSDP. Een goed antwoord is een handvol kleine pakketten zodra je de app opent. Zie je niets, dan komen ze niet eens tot de router. - Wordt er iets weggegooid?
/ip firewall filter print statsen/ip firewall raw print stats. Zoek een drop-regel waarvan de teller oploopt op het moment dat je probeert te casten. - Staat IGMP snooping aan?
/interface bridge printen kijk naarigmp-snooping. Dat is geen fout, maar het is wel een verdachte: zie hieronder.
De gewone oorzaken, meest voorkomende eerst
De telefoon en het cast-apparaat staan in verschillende VLANs
Verreweg de meest voorkomende. Tv's, speakers en cameraatjes belanden vaak in een IoT-VLAN, en telefoons blijven op het gewone netwerk. Multicast wordt niet gerouteerd, dus de zoekberichten komen nooit aan de overkant. Een firewallregel erbij lost dit niet op: de berichten worden niet geblokkeerd, ze worden simpelweg niet doorgestuurd.
De praktische oplossing is de tv en de telefoon in hetzelfde netwerk zetten. Wil je ze per se gescheiden houden, dan heb je een mDNS-doorgeefdienst nodig op een machine in beide netwerken, en dat is iets buiten de router.
Client-isolatie staat aan op de SSID
Een gast-SSID met isolatie zorgt ervoor dat apparaten op diezelfde SSID elkaar niet zien. Hangen de telefoon en de speaker allebei aan het gastnetwerk, dan werkt casten daar dus ook niet. Dat is precies waar isolatie voor bedoeld is.
Een firewallregel die multicast op het LAN blokkeert
Dit is een valkuil uit veel handleidingen. De bogon-lijst bevat 224.0.0.0/4, en als je die als bestemming op álle interfaces blokkeert, sloop je mDNS (224.0.0.251), SSDP (239.255.255.250) en OSPF op je eigen netwerk. Geen AirPlay, geen Chromecast, geen printerdetectie, en geen enkele foutmelding die dat uitlegt.
IGMP snooping zonder querier
IGMP snooping stuurt multicast alleen naar poorten die erom gevraagd hebben. Dat is precies wat je wilt voor een tv-stream. Maar zonder querier in het netwerk kan de bridge de lidmaatschappen niet bijhouden en kan snooping verkeer wegfilteren dat wel nodig was. Werkt casten niet en staat snooping aan zonder dat je IPTV hebt, zet het dan uit en probeer opnieuw.
Twee netwerken met dezelfde naam
Een telefoon op de 5 GHz-SSID en een tv op een aparte 2,4 GHz-SSID die op een ander VLAN staat, lijkt op één netwerk en is het niet.
Wat de configurator hieraan doet
- De firewall die de tool schrijft zet de bogon-regel voor 224.0.0.0/4 als bestemming alleen op de WAN-kant. Dat is een bewuste afwijking van het voorbeeld in de handleiding, juist omdat diezelfde regel op alle interfaces AirPlay, Chromecast en printerdetectie op het LAN sloopt. Bogons zijn een internetprobleem, dus de regel hoort aan de internetkant.
- Client-isolatie staat per SSID in het onderdeel Wifi, en per SSID in het onderdeel CAPsMAN. Zet je het aan voor gasten, weet dan dat casten binnen dat netwerk daarmee ook weg is.
- Geïsoleerd per VLAN in het onderdeel VLANs doet hetzelfde op netwerkniveau: dat VLAN praat alleen met internet.
- Met Verkeer tussen VLANs op "matrix" in het onderdeel Firewall bepaal je per paar wie verbindingen mag opzetten. Dat helpt voor het streamen zelf nadat een apparaat handmatig is toegevoegd, niet voor het automatisch vinden.
- IGMP snooping is een vinkje op de bridge in het onderdeel Bridge & poorten, standaard uit. Het staat er voor IPTV; voor casten heb je het niet nodig.
- Op het netwerkbord kun je een tv, speaker of ander apparaat als client-node neerzetten met een VLAN erbij. De controle meldt het dan als de switch waar hij aan hangt dat VLAN niet draagt.
De eerlijke grens
Er is in de tool geen knop die multicast over een VLAN-grens tilt, omdat RouterOS die functie in het hoofdpakket niet heeft. Wie tv's en telefoons gescheiden wil houden én wil casten, kiest tussen die twee of zet er software bij. Verder bepaalt het apparaat zelf veel: sommige tv's zoeken alleen bij het opstarten, sommige apps vallen terug op een cloudverbinding als lokaal zoeken faalt, en een Chromecast die ooit aan een ander wifi-netwerk is gekoppeld blijft daarnaar zoeken tot je hem opnieuw instelt.
Verder lezen: Recept: IoT-netwerk, Firewall en VLANs.