Lapa ielādējas caur VPN, bet zvans nekad nesavienojas: divas dažādas kļūdas vienā adreses joslā. Tunelis mainīja ceļu, ko izmanto pārlūks; tas nekļuva par signalizācijas pakalpojumu, STUN serveri vai releju, un tas neizlemj, kuru kandidātu pāri izvēlēsies ICE. Tieši katra komponenta veiktā darba atdalīšana neskaidro „WebRTC ir bloķēts“ pārvērš konkrētā kļūmē.

Četri uzdevumi, no kuriem tunelis skar tikai vienu

Lietojumprogramma apmainās ar sesijas informāciju kaut kādā signalizācijas kārtībā, un tas ir pirmais uzdevums. ICE vāc kandidātu adreses un pārbauda pārus, līdz viens darbojas, un tas ir otrais. STUN ļauj partnerim uzzināt, kā izskatās viņa trafiks no ārpuses, un TURN piešķir releju gadījumiem, kad nav tieša ceļa. Šīs četras lomas atšķiras, un VPN ietekmē adreses un filtrēšanu, ar ko tās saskaras, nevis nodrošina kādu no tām.

Tāpēc veiksmīga pieteikšanās neko neizsaka par mediju ceļu. Signalizācija parasti iet pa to pašu HTTPS, ko lapa jau izmanto, uz portu 443, bet mediji var ceļot pa UDP uz pavisam citu galamērķi.

Privāta adresācija padara jucekli lielāku. Tunela adrese partnerim ir noderīga tikai tad, ja tam ir paredzēts ceļš atpakaļ uz to; tas, ka adrese ir privāta, nav savstarpējas sasniedzamības pierādījums, un pārlūki to tā neuztver, kad atmet kandidātus, kurus nevar pārbaudīt. Kandidāts, kas jums šķiet lokāls, var būt nepārbaudāms no otras puses. Šo plaisu ir vērts izslēgt, pirms secināt, ka tunelis met medijus.

Salīdziniet VPN izeju ar TURN releju

Abi pārsūta paketes, tāpēc tos jauc, un salīdzinājuma tabula augstāk ir jālasa kolonnu pa kolonnai, nevis kā funkciju saraksts. Releja piešķiršana ir objekts katrai sesijai, ko izveido autentificēts pieprasījums; tunelis ir maršruts. Vienam ir akreditācijas dati, kas beidzas, otram ir partnera adrese, kas vai nu ir sasniedzama, vai nav.

ComponentWhat it contributesWhat it needs to workWhat it cannot do
VPN exitChanges the observed mapping and the route packets takeA working tunnel and a policy that permits the media transportAllocate a relay or supply signaling
STUN serverReports the mapped address a peer appears to useReachability from the client, on its configured transportCarry media when a direct path fails
TURN serverRelays media through an authenticated allocationValid credentials, an allowed transport and sufficient capacityFix a missing ICE policy or an unauthorized client
Signaling channelCarries offers, answers and candidate listsBoth peers reaching the same application endpointEstablish connectivity by itself

Portu numuri padara atšķirību konkrētu. TURN pēc noklusējuma klausās portā 3478 UDP un TCP vajadzībām un portā 5349 TLS vajadzībām, un tīkls, kas atļauj 443, bet atmet šos portus, liks neizdoties relejotiem zvaniem, kamēr pārlūkošana turpinās normāli. VPN porta maiņa neko no tā nekonfigurē, jo svarīgie porti pieder releja pakalpojumam, nevis tunelim.

Izlasi diagnostiku, tad pārbaudi zvanu

Pārlūki parāda nepieciešamo informāciju bez pakešu tveršanas. Atveriet sava pārlūka WebRTC diagnostikas lapu, veiciet zvanu un lasiet izvēlēto kandidātu pāri, nevis savākto sarakstu: kuri vietējie un attālie kandidātu tipi tika izvēlēti, pa kādu transportu un adrešu saimi, un vai ceļš ir tiešs vai relejots.

Divi lasījumi jāzina iepriekš. Ja izvēlētais pāris ir host-host privātās adresēs, mediji paliek ceļā, par ko var spriest; ja tas ir relejs-relejs, zvans patērē releja jaudu un ir atkarīgs no šī pakalpojuma pieejamības. Kļūme, kas apstājas pie „pārbauda“ bez izvēlēta pāra, nozīmē, ka kandidāti tika savākti, bet neviens neizturēja savienojamības pārbaudes.

Pēc tam salīdziniet tos pašus divus galapunktus tajā pašā zvanā, mainot tikai vienu apstiprinātu nosacījumu, un pieņemiet rezultātu pēc divvirzienu medijiem vai datiem, nevis pēc „savienots“ indikatora. Kandidātu vākšana izdodas daudzos gadījumos, kas nepārraida nevienu audio kadru. Atkārtojiet zvanu mainījuma otrā pusē un saglabājiet abus diagnostikas ierakstus, jo divu palaišanu salīdzināšana sniedz vairāk informācijas nekā jebkuras vienas lasīšana. Tie paši galapunkti, tas pats kodeks, viens mainīts mainīgais.

Lietojumprogramma, kas apzināti iestata savu ICE transporta politiku uz relay, pieprasa tikai releja kandidātus. Šis iestatījums neveido releju un nelabo trūkstošos akreditācijas datus; tas padara prasību skaidru, kas ir noderīgi, kad kāds vaino VPN politikā, kuru izvēlējās vietne.

Turiet privātuma apgalvojumu tik šauru, cik pierādījumi

Kandidātu atklāšana ir atkarīga no pārlūka un lietojumprogrammas politikas, ne tikai no tuneļa stāvokļa, un W3C partneru savienojuma specifikācija IP apstrādi uzskata par atsevišķu jautājumu. Tāpēc pieslēgts VPN ir vājš pamats solīt, ka zvans atklās tikai vienu izvēlētu adresi. Divi partneri aiz tā paša tuneļa var pat izvēlēties ceļu, kas nekad neatstāj hostu, un tas vienlaikus ir privātuma uzlabojums un savienojamības ierobežojums.

To, ko varat precīzi pateikt, ir šaurāk un noderīgāk: kurš kandidātu pāris tika izvēlēts, kurš transports to nesa un vai šis ceļš palika tuneļa iekšpusē. Pierakstiet šos trīs faktus strādājošam un neizdevušam zvanam, un atšķirība parasti nosauc komponentu, kas jālabo.

Kad savienojamība darbojas, atdaliet veiktspēju no sasniedzamības. Zudumi, aizture, rindas un MTU visi atrodas lejpus pareiza kandidātu pāra, un raustīga zvana uzskatīšana par savienojamības kļūmi aizsūta jūs atpakaļ uz kandidātu sarakstu bez iemesla.

Saistītie raksti