Sivu latautuu VPN:n yli, mutta puhelu ei koskaan yhdisty: kaksi eri vikaa samassa osoitepalkissa. Tunneli muutti polun, jota selain käyttää; siitä ei tullut signalointipalvelua, STUN-palvelinta eikä välityspalvelinta, eikä se päätä, minkä ehdokasparin ICE valitsee. Juuri kunkin komponentin tehtävän erottaminen muuttaa epämääräisen “WebRTC on estetty” -lauseen konkreettiseksi viaksi.

Neljä tehtävää, joista tunneli koskettaa vain yhtä

Sovellus vaihtaa istuntotietoja jonkin signalointijärjestelyn kautta, ja se on ensimmäinen tehtävä. ICE kerää ehdokasosoitteita ja testaa pareja, kunnes yksi toimii, mikä on toinen. STUN antaa vertaiselle mahdollisuuden oppia, miltä sen liikenne näyttää ulkopuolelta, ja TURN varaa välityspalvelimen tapauksiin, joissa suoraa polkua ei ole. Nämä neljä roolia ovat erillisiä, ja VPN vaikuttaa osoitteisiin ja suodatukseen, joihin ne törmäävät, sen sijaan että tuottaisi jonkin niistä.

Siksi onnistunut kirjautuminen ei kerro mitään mediapolusta. Signalointi kulkee yleensä samaa HTTPS:ää pitkin, jota sivu jo käyttää, portissa 443, kun taas media voi matkustaa UDP:n yli täysin toiseen kohteeseen.

Yksityinen osoitteistus pahentaa sekaannusta. Tunneliosoite on vertaiselle hyödyllinen vain silloin, kun sillä on tarkoituksellinen paluupolku siihen; yksityisyys ei ole todiste molemminpuolisesta tavoitettavuudesta, eivätkä selaimet kohtele sitä sellaisena, kun ne hylkäävät ehdokkaita, joita ei voi tarkistaa. Ehdokas, joka näyttää sinulle paikalliselta, voi olla toiselta puolelta tarkistamaton. Tämä aukko kannattaa sulkea pois ennen kuin päättelet, että tunneli pudottaa mediaa.

Vertaa VPN-poistumapistettä TURN-välityspalvelimeen

Molemmat välittävät paketteja, minkä vuoksi ne sekoitetaan, ja yllä oleva vertailutaulukko kannattaa lukea sarake sarakkeelta eikä ominaisuusluettelona. Välityspalvelimen varaus on istuntokohtainen objekti, jonka todennettu pyyntö luo; tunneli on reitti. Toisella on vanhenevat tunnistetiedot, toisella vertaisosoite, joka joko on tavoitettavissa tai ei ole.

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

Porttinumerot tekevät eron konkreettiseksi. TURN kuuntelee oletuksena porttia 3478 UDP:lle ja TCP:lle ja porttia 5349 TLS:lle, ja verkko, joka sallii 443:n mutta pudottaa nämä portit, epäonnistuu välitetyissä puheluissa, kun taas selailu jatkuu normaalisti. VPN:n portin vaihtaminen ei määritä mitään tästä, koska tärkeät portit kuuluvat välityspalvelulle, eivät tunnelille.

Lue diagnostiikka ja testaa sitten puhelu

Selaimet näyttävät tarvittavat tiedot ilman pakettikaappausta. Avaa selaimesi WebRTC-diagnostiikkasivu, soita puhelu ja lue valittu ehdokaspari kerätyn luettelon sijaan: mitkä paikalliset ja etäehdokastyypit valittiin, minkä siirtotien ja osoiteperheen yli, ja onko polku suora vai välitetty.

Kaksi lukutapaa kannattaa tuntea etukäteen. Jos valittu pari on isäntä-isäntä yksityisissä osoitteissa, media pysyy polulla, josta voi päätellä; jos se on välitin-välitin, puhelu kuluttaa välityskapasiteettia ja riippuu kyseisen palvelun saatavuudesta. Vika, joka pysähtyy “tarkistetaan”-tilaan ilman valittua paria, tarkoittaa, että ehdokkaita kerättiin, mutta yksikään ei läpäissyt yhteydentarkistuksia.

Vertaa sitten samoja kahta päätepistettä samassa puhelussa muuttamalla vain yhtä hyväksyttyä ehtoa, ja hyväksy tulos kaksisuuntaisen median tai datan perusteella, älä “yhdistetty”-ilmaisimen perusteella. Ehdokkaiden kerääminen onnistuu monissa tapauksissa, jotka eivät kuljeta yhtään äänikehystä. Toista puhelu muutoksen toisella puolella ja säilytä molemmat diagnostiikkataltioinnit, koska kahden ajon vertailu kertoo enemmän kuin kumman tahansa lukeminen yksin. Samat päätepisteet, sama koodekki, yksi muutettu muuttuja.

Sovellus, joka asettaa ICE-siirtotien käytännön tarkoituksella relay-tilaan, pyytää vain välityspalvelimen ehdokkaita. Tämä asetus ei luo välityspalvelinta eikä korjaa puuttuvia tunnistetietoja; se tekee vaatimuksesta eksplisiittisen, mikä on hyödyllistä, kun joku syyttää VPN:ää käytännöstä, jonka sivusto valitsi.

Pidä yksityisyysväite yhtä kapeana kuin todisteet

Ehdokkaiden paljastuminen riippuu selaimen ja sovelluksen käytännöistä, ei vain tunnelin tilasta, ja W3C:n vertaisyhteyden määritelmä pitää IP:n käsittelyä omana asianaan. Yhdistetty VPN on siksi heikko perusta luvata, että puhelu paljastaa vain yhden valitun osoitteen. Kaksi vertaista saman tunnelin takana voivat jopa valita polun, joka ei koskaan poistu isännästä, mikä on samanaikaisesti yksityisyyden parannus ja yhteyden rajoitus.

Se, mitä voit sanoa täsmällisesti, on kapeampaa ja hyödyllisempää: mikä ehdokaspari valittiin, mikä siirtotie sen kuljetti ja pysyikö tämä polku tunnelin sisällä. Kirjaa nämä kolme tosiasiaa toimivasta ja epäonnistuvasta puhelusta, ja ero nimeää yleensä komponentin, joka pitää korjata.

Kun yhteys toimii, erota suorituskyky tavoitettavuudesta. Häviö, viive, jonotus ja MTU ovat kaikki oikean ehdokasparin alavirrassa, ja pätkivän puhelun kohteleminen yhteysvikana lähettää sinut syyttä takaisin ehdokasluetteloon.

Aiheeseen liittyvät artikkelit