Emitovanje je radilo prije uključivanja VPN-a na ruteru i prestaje odmah nakon toga, dok obično pretraživanje na telefonu i dalje radi. Te dvije činjenice su spojive, jer emitovanje nije jedna veza. Telefon otkriva i kontroliše prijemnik preko lokalne mreže, a prijemnik zatim preuzima medije preko vlastite veze.

Dva puta koja otkazuju na različite načine

Put upravljanja je lokalni. Telefon pronalazi prijemnik pitajući lokalnu mrežu, a zatim otvara upravljačku vezu na adresu koju je saznao. Ako se prijemnik nikada ne pojavi na listi, korak otkrivanja je otkazao prije nego što su traženi bilo kakvi mediji.

Put medija nije nužno lokalni. Mnogi prijemnici sami preuzimaju tok, preko vlastite veze i sa vlastitim podacima za prijavu, pa ruta telefona ne opisuje rutu prijemnika. Telefon koji naizgled koristi jedan izlaz ne govori ništa o tome kuda ide promet televizora.

Ta podjela je razlog zašto kvar izgleda čudno. Tunel je promijenio tabelu rutiranja telefona, a nije promijenio tabelu televizora, pa se simptom koji se pojavi na jednoj strani para mora pratiti na toj strani. Praćenje pogrešnog uređaja uobičajen je razlog zašto se čini da popravka ništa ne radi.

Zašto otkrivanje prvo otkazuje

Otkrivanje obično ide preko link-local multicast prometa. mDNS šalje na 224.0.0.251 na UDP portu 5353, a SSDP šalje na 239.255.255.250 na UDP portu 1900. Oba su po dizajnu ograničena na jedan link, zbog čega ih ruter ne prosljeđuje između segmenata bez pomoći repetitora ili proxyja. Rutirani VPN ne proširuje multicast grupu, a ruta politike ne može učiniti da se grupa koja nikada nije napustila link pojavi na drugom.

Dakle prvi kvar nema nikakve veze sa šifrovanjem. Multicast telefona napušta interfejs na koji je poslan, prijemnik je u segmentu koji ga nikada ne vidi, a lista uređaja se vraća prazna. Prazna lista nije dokaz da je televizor izgubio pristup internetu.

Izolacija proizvodi identičan simptom bez ikakvog VPN-a. Gostujuće mreže i izolacija klijenata na pristupnim točkama namjerno sprečavaju uređaje da razgovaraju jedni s drugima, a uključivanje VPN-a na ruteru povrh izolovanog segmenta ništa u tome ne mijenja. Provjerite postavku izolacije prije nego provjerite tunel. To je jeftiniji odgovor i češći.

Raspored segmenata je druga polovina. Drugi ruter, mesh čvor u drugom režimu ili žičani segment iza drugog NAT-a sve postavljaju prijemnik tamo gdje promet otkrivanja sa telefona ne dopire.

Zašto zadana politika može progutati lokalni zahtjev

Ruter koji usmjerava sav promet u tunel postavlja zadanu rutu na interfejsu tunela. Ako prefiks lokalne mreže nije isključen iz te politike, paket upućen uređaju dva metra dalje sada odgovara zadanoj ruti, i ruter šalje upravljački zahtjev u tunel umjesto na svič.

StageWhat carries itHow a router VPN interferes
DiscoveryLink-local multicast on a single segmentNot extended across segments, and not repaired by a route
Control connectionUnicast to the receiver address on the LANA policy default can capture the LAN destination and tunnel it
Media fetchThe receiver's own connectionUnaffected by the phone's route, but affected by the TV's own policy
Account authorizationTokens held by the applicationCan fail for reasons unrelated to any route

Redoslijed pravila odlučuje ishod. Rutiranje po politici ocjenjuje pravila po prioritetu, pa se izuzetak za lokalni prefiks mora pojaviti prije pravila koje bira tabelu tunela. Dodavanje izuzetka poslije pravila tunela nema efekta, zbog čega ispravno podešena konfiguracija ipak može poslati lokalni promet na udaljeni izlaz.

Popravka je uska: dozvolite konkretne lokalne destinacije koje tok emitovanja treba, a ostalu izolaciju ostavite na miru. Uklanjanje izolacije klijenata kao prvi korak rješava simptom, ali odbacuje kontrolu koju je mreža trebala imati.

Brza provjera na telefonu utvrđuje koji od dva kvara imate. Ako ruta do prijemnika pokazuje na tunel, problem je u politici. Ako pokazuje na lokalnu mrežu, a otkrivanje i dalje ne uspijeva, problem je u multicast-u ili izolaciji, i nikakva promjena rute neće pomoći.

ip route get 192.168.1.50
ip rule show
avahi-browse -rt _googlecast._tcp

Testirajte korak koji se promijenio, ne zemlju

Zabilježena zapažanja vrijede više od ponovljenih eksperimenata. Zabilježite da li se prijemnik pojavljuje na listi uređaja, da li do njega stiže upravljački zahtjev i da li reprodukcija počinje kada se odabere tok. Svaki odgovor uklanja jedan korak iz sumnje.

Zatim testirajte svaki korak direktno umjesto da mijenjate izlazne lokacije. Promjena zemlje VPN-a testira put medija, a korake otkrivanja i upravljanja ostavlja netaknutim, pa može slučajno izgledati kao pomoć, a da vas ničemu ne nauči.

Na strani prijemnika provjerite njegovu vlastitu rutu i stanje računa. Televizor koji preuzima medije preko drugog izlaza nego telefon je normalan dizajn, a kvar tamo je pitanje mrežne politike prijemnika, a ne tunela telefona.

Zapišite rezultat kao jednu rečenicu o tome koji je korak otkazao i šta ga je promijenilo. Ta rečenica vrijedi više od nedjelju dana mijenjanja zemalja i preživljava sljedeće ažuriranje firmvera.

Emitovanje je dobar testni slučaj za opšte pravilo o tunelima. Kada se tunel doda mreži, prvo pitanje je koje destinacije nikada nisu smjele ući u njega. Drugo je koje je od njih politika ipak tiho prihvatila.

Povezani članci