Emitovanje se kvari na tri mjesta koja s kauča izgledaju isto. Telefon možda nikad ne vidi prijemnik, prijemnik se može pojaviti i zatim odbiti sesiju, ili sesija može početi i zapeti minutu kasnije. Tunel na telefonu mijenja svaki od tih puteva drugačije, a na jednom od njih ne mijenja ništa. Prvo imenujte fazu koja pada, pa odlučite da li je promjena politike uopće prava poluga.

Imenujte fazu koja pada prije nego promijenite politiku

Gledajte šta telefon radi odmah nakon dodira ikone za emitovanje. Prazna lista je rezultat otkrivanja, dodir koji prijavi grešku je rezultat kontrole, a sesija koja počne prije nego zapne je rezultat reprodukcije. Ta tri imaju različite vlasnike i obično samo prva dva uključuju postavke tunela na telefonu.

StageWhat the phone showsEvidence that separates it
DiscoveryNo receiver in the listAnother device on the same segment sees the receiver
ControlReceiver listed, session refusedPort answer versus permission prompt
PlaybackSession starts, then stallsThe receiver's own link, not the phone's

Zapišite fazu prije nego bilo šta promijenite. Popravka primijenjena na pogrešnu fazu čini sljedeći test nečitljivim, a većina priča o emitovanju dolazi upravo iz te zabune.

Otkrivanje je lokalni saobraćaj, a tunel ga skriva

Prijemnici se oglašavaju lokalnim najavama, a telefon ih pronalazi upitima na istoj vezi, pa sve što ukloni telefon s te veze uklanja i prijemnik s liste. Tunel koji svu komunikaciju usmjerava izvan LAN-a može sakriti te razmjene, a dozvola za lokalnu mrežu na nivou aplikacije može ih blokirati i kad ruta postoji. Gostujući Wi-Fi sa izolacijom klijenata daje istu praznu listu bez ikakvog VPN-a. Dokažite da dva uređaja dijele segment prije nego okrivite tunel.

avahi-browse -at | grep -i -E 'chromecast|googlecast'
dig +short @224.0.0.251 -p 5353 _googlecast._tcp.local PTR

Prva naredba navodi šta se oglašava u segmentu pomoćnog računara, a druga direktno pita multicast DNS grupu. Prijemnik koji nedostaje u oba neće se pojaviti ni u aplikaciji na telefonu, bez obzira na stanje tunela. Ako je prijemnik vidljiv s uređaja bez tunela, a nevidljiv s uređaja s uključenim tunelom, našli ste i fazu i uzrok zajedno.

Izuzeće za LAN drži tunel uključenim

Mnogi klijenti nude izuzeće za lokalnu mrežu koje ostavlja tunel aktivnim uz dozvolu lokalnih adresa. Koristite tu dokumentovanu postavku umjesto da isključujete kill switch ili cijeli firewall, jer oni mijenjaju mnogo više nego što emitovanju treba. Ako mreža namjerno razdvaja pametne uređaje, tražite od vlasnika konkretan saobraćaj otkrivanja, kontrole i povratka umjesto ravnog pristupa.

nc -vz 192.168.1.50 8009

Kontrolni test prema prijemniku razdvaja dozvolu od dostupnosti: port koji odgovara znači da put postoji, dok odbijanje znači da je telefonu dozvoljeno da otkrije uređaj i da ipak ne može razgovarati s njim. Portovi 8008 i 8009 su uobičajeni portovi za emitovanje, a aplikacija može koristiti druge, pa jedan odbijeni port shvatite kao nagovještaj, ne kao presudu. Izuzeće i dozvola aplikacije ostaju nezavisni, jer lokalni pristup ne stvara rutu, a dodavanje rute ne daje dozvolu. Kill switch takođe može ispustiti lokalni saobraćaj nakon ponovnog povezivanja, zato se otkrivanje mora ponovo testirati kad se tunel vrati.

Reprodukcija možda ne koristi vezu telefona

U sesiji koju vodi aplikacija telefon daje prijemniku adresu medija, a prijemnik je preuzima preko vlastite veze, pa promjena javne adrese telefona ne čini ništa za tok. Naslov ograničen računom ipak može pasti iz vlastitih razloga, a Google-ovi zahtjevi za emitovanje pokrivaju kompatibilnost aplikacije i uređaja, a ne mrežni put. Usmjeravanje samog televizora kroz tunel je zasebna konfiguracija s vlastitim pitanjima politike.

Dva znaka razlikuju režime. Emitovanje koje preživi zaključavanje ekrana telefona vodi aplikacija, jer prijemnik preuzima sam; preslikavanje koje stane kad se ekran pošiljaoca zaključa je neprekidan tok s telefona. Kad otkrivanje i kontrola uspiju, a reprodukcija zapne, gledajte umjesto toga Wi-Fi vezu prijemnika i njegov internet put, jer test brzine na telefonu opisuje telefon, a ne televizor.

Poništite izuzeće i ponovo testirajte

Svaka privremena promjena treba put nazad, a redoslijed je važan. Uklonite izuzeće za LAN, ponovo povežite tunel da klijent ponovo primijeni politiku, zatim ponovite korak otkrivanja i zabilježite da li prijemnik opet nestaje. Taj slijed govori da li je izuzeće radilo posao ili se u međuvremenu promijenilo nešto drugo.

# after removing the LAN exception, reconnect and confirm the tunnel is up
resolvectl status | grep -E 'DNS Servers|Default Route|Protocols'
avahi-browse -at | grep -i -E 'chromecast|googlecast'

Poslije toga provjerite tri faze odvojeno, jer uspjeh na jednoj ne govori ništa o ostalima. Zatim provjerite da nepovezane aplikacije na telefonu još slijede predviđenu rutu, jer lokalno izuzeće koje je tiho postalo potpuni obilazak gori je ishod od emitovanja kojem treba jedan dodatni dodir.

Povezani članci