Страница се учитава преко VPN-а, али позив се никада не повезује: две различите грешке у истој адресној траци. Тунел је променио путању коју прегледач користи; није постао услуга сигнализације, STUN сервер или реле и не одлучује који ће пар кандидата ICE изабрати. Управо раздвајање посла који свака компонента обавља претвара нејасно „WebRTC је блокиран“ у конкретну грешку.

Четири посла, а тунел дотиче само један

Апликација размењује податке о сесији кроз некакав распоред сигнализације, и то је први посао. ICE прикупља адресе кандидата и тестира парове док један не проради, што је други. STUN омогућава партнеру да сазна како његов саобраћај изгледа споља, а TURN додељује реле за случајеве када не постоји директна путања. Те четири улоге су различите, а VPN утиче на адресе и филтрирање на које наилазе, уместо да било коју од њих пружа.

Зато успешна пријава не говори ништа о путањи медија. Сигнализација обично иде истим HTTPS-ом који страница већ користи, на порту 443, док медији могу путовати преко UDP-а до потпуно друге дестинације.

Приватно адресирање погоршава забуну. Адреса тунела је партнеру корисна само када он има предвиђену путању назад до ње; то што је приватна није доказ узајамне доступности и прегледачи то не третирају тако када одбацују кандидате који се не могу проверити. Кандидат који вама изгледа локално може бити непроверљив са друге стране. Ту празнину вреди искључити пре него што закључите да тунел испушта медије.

Упоредите VPN излаз са TURN релеом

Оба прослеђују пакете, због чега се мешају, а табелу поређења изнад вреди читати колону по колону, а не као списак функција. Додела релеа је објекат по сесији створен аутентификованим захтевом; тунел је рута. Једно има акредитиве које истичу, друго има адресу партнера која је или доступна или није.

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

Бројеви портова чине разлику конкретном. TURN подразумевано слуша на 3478 за UDP и TCP и на 5349 за TLS, а мрежа која дозвољава 443 али одбацује те портове неће успети у релеисаним позивима док прегледање наставља нормално. Промена порта VPN-а не конфигурише ништа од тога, јер важни портови припадају реле услузи, а не тунелу.

Прочитајте дијагностику, па тестирајте позив

Прегледачи излажу потребне информације без хватања пакета. Отворите дијагностичку страницу WebRTC за свој прегледач, обавите позив и читајте изабрани пар кандидата, а не прикупљену листу: који су типови локалних и удаљених кандидата изабрани, преко ког транспорта и породице адреса, и да ли је путања директна или релеисана.

Два читања вреди знати унапред. Ако је изабрани пар хост-до-хост на приватним адресама, медији остају на путањи о којој можете закључивати; ако је реле-до-реле, позив троши капацитет релеа и зависи од доступности те услуге. Грешка која се заустави на „проверава“ без изабраног пара значи да су кандидати прикупљени, али ниједан није прошао провере повезаности.

Затим упоредите иста два краја у истом позиву мењајући само један одобрени услов, и прихватите резултат на основу двосмерних медија или података, а не индикатора „повезано“. Прикупљање кандидата успева у многим случајевима који никада не пренесу ниједан кадар звука. Поновите позив на другој страни промене и сачувајте оба дијагностичка снимка, јер поређење два извршавања даје више информација од читања било ког појединачно. Исти крајеви, исти кодек, једна измењена променљива.

Апликација која намерно поставља своју ICE транспортну политику на relay тражи само реле кандидате. То подешавање не ствара реле и не поправља акредитиве који недостају; оно чини захтев експлицитним, што је корисно када неко окривљује VPN за политику коју је сајт изабрао.

Држите тврдњу о приватности уско колико и докази

Изложеност кандидата зависи од политике прегледача и апликације, не само од стања тунела, а спецификација W3C за везу између партнера третира руковање IP-ом као сопствену ствар. Због тога повезан VPN је слаба основа за обећање да позив открива само једну изабрану адресу. Два партнера иза истог тунела могу чак изабрати путању која никада не напушта хост, што је истовремено побољшање приватности и ограничење повезаности.

Оно што можете прецизно рећи је уже и корисније: који пар кандидата је изабран, који транспорт га је носио и да ли је та путања остала унутар тунела. Запишите те три чињенице за позив који ради и за онај који не успева, а разлика обично именује компоненту коју треба поправити.

Када повезаност проради, раздвојите перформансе од достижности. Губитак, кашњење, редови и MTU сви се налазе низводно од исправног пара кандидата, а третирање испрекиданог позива као грешке повезаности враћа вас на листу кандидата без разлога.

Повезани чланци