Wanneer ’n WebRTC-toetsbladsy 172.20.4.15 druk, het dit geleer dat daar ’n plaaslike koppelvlak op daardie netwerk bestaan. Dit is ’n werklike onthulling, en dit is nie dieselfde bevinding as “media het deur die VPN-uitgang gegaan” nie. Kandidatontdekking en pakketroetering is aparte meganismes, en die meeste lekverslae smelt hulle in een oordeel saam. Watter een jy voor jou het, bepaal die oplossing.

Versameling gebeur voordat enigiets gestuur word

Die blaaier lys plaaslike koppelvlakke, stuur ’n bindversoek na ’n STUN-bediener en vra ’n TURN-bediener om ’n toewysing, en skryf dan die resultate as kandidatelyne in die sessiebeskrywing. Dit alles voltooi sonder ’n oproep, sonder media en sonder ’n eweknie. ’n Lys kandidate is dus ’n rekord van ontdekking, nie van vervoer nie.

Moderne blaaiers kan ’n host-kandidaat se letterlike adres met ’n mDNS-naam .local vervang, sodat die bladsy nie die private IP kan lees nie. Die plaaslike netwerk sien steeds die multicast-navrae wat daardie naam oplos, so die adres word vir die toepassing weggesteek eerder as van die draad verwyder.

Volgorde maak ook saak: ’n nuwe bladsylading versamel ’n nuwe stel, met ’n ander TURN-toewysing en moontlik ’n ander refleksiewe kartering. Twee lopies wat verskil, is nie noodwendig twee verskillende konfigurasies nie.

Drie kandidattipes, drie soorte bewyse

Elke lyn kom uit ’n ander waarneming. Elke tipe beantwoord ’n ander vraag, en die tabel skei hulle volgens wat hulle wel en nie kan vasstel nie.

CandidateDerived fromWhat it establishesWhat it cannot establish
HostAn interface on the deviceA local address exists in that networkThat the peer can reach it
Server-reflexiveA STUN binding responseHow a NAT mapped this sourceWhich exit the media will use
Peer-reflexiveA connectivity check that arrivedAn address seen by the far sideThat it was ever advertised
RelayA TURN allocationThe relay server accepted the sessionThat the relay carries the call

’n Relay-kandidaat word gereeld vir die gebruiker se internetadres aangesien. Dit behoort aan die TURN-bediener, en die teenwoordigheid daarvan wys dat ’n relay beskikbaar was, nie dat die blaaier dit gekies het nie. Dieselfde verwarring loop die ander kant toe met host-kandidate, waar ’n mDNS-naam die adres vir die bladsy wegsteek terwyl die netwerk steeds die navrae dra. Lees die tipe voordat jy die waarde lees.

Die gekose paar beantwoord die roeteringsvraag

ICE paar elke plaaslike kandidaat met elke afgeleë een, voer verbindingskontroles oor elkeen uit en nomineer ’n wenner. Daardie genomineerde paar, sigbaar in die blaaier se eie diagnostiek, dra die media. Al die res op die lys is ’n moontlikheid wat verloor het.

Die wenner vertel jou die vorm van die pad. Relay-tot-relay gaan deur die TURN-bediener, ’n host-paar bly op die plaaslike netwerk, en ’n server-refleksiewe paar gaan direk deur NAT. Dit is die feit wat ’n VPN-kontrole nodig het, en dit is ’n ander feit as die adreslys. Twee oproepe met identiese kandidatelyste kan verskillende pare gebruik.

Ongekose kandidate is steeds versamel, en versameling is netwerkverkeer wat die masjien verlaat. ’n Oproep wat uiteindelik die relay gebruik het, beteken nie dat niks onthul is terwyl die lys gebou is nie.

Beheermaatreëls pas by doelwitte, nie by ’n lekkaart nie

Die WebRTC-spesifikasie vir IP-hantering beskryf verskeie beleide: net die koppelvlak gebruik wat die standaardroete dra, alle koppelvlakke gebruik, en nie-geproksieerde UDP afskakel sodat verkeer deur ’n relay of instaanbediener moet gaan. Elkeen ruil verbinding en vertraging vir ’n ander soort blootstelling. Watter een ’n blaaier implementeer, en onder watter naam, verskil per platform en weergawe.

Kies die beleid volgens die doel. Om plaaslike adresse vir ’n bladsy weg te steek is een doel; om direkte eweknie-tot-eweknie-verkeer te verhoed is ’n ander; om elke pakket binne die tonnel te hou is ’n derde. Die eerste gaan meestal oor wat die toepassing leer, die tweede oor watter pad toegelaat word, en die derde moet ook by die platform- of VPN-grens afgedwing word.

Watter beheermaatreël jy ook al kies, verifieer albei helftes: laat die versamelingstoets loop en teken kandidattipes aan, en ondersoek dan die gekose paar tydens ’n werklike sessie. ’n Skoon adreslys met ’n direkte mediapad is steeds ’n pad wat jy nie bedoel het nie.

Verwante artikels