Klausimas skamba kaip viena patikra, o iš tikrųjų tai trys sprendimai. Kuriuo maršrutu eis binding request, kokį šaltinį branduolys parinks tam maršrutui ir ar kas nors kelyje tą šaltinį perrašys. Pakeiskite bet kurį iš trijų – ir adresas, kurį praneša STUN serveris, pasikeis kartu su juo. Todėl teiginys, kad VPN stovi maršrutizatoriuje, pats savaime beveik nieko nesako.

Sprendimas remiasi trimis faktais

Pirma, maršrutas: politikos taisyklės ir maršrutų lentelė nusprendžia, ar užklausa išeis per tunelį, ar per įprastą WAN, o pašalinta paskirties vieta renkasi antrąjį kelią net ir aktyvaus tunelio atveju. Antra, šaltinis: branduolys parenka šaltinį pasirinktam maršrutui, ir tas pasirinkimas priklauso nuo pageidaujamo maršruto šaltinio ir nuo bet kurios atitikusios taisyklės. Trečia, vertimas: NAT kelyje pakeičia pasirinktą šaltinį. Atspindėtas adresas yra visų trijų sandauga, o ne tunelio savybė.

Pakeiskite vieną iš trijų – ir atsakymas pasikeis, nors kiekvienas komponentas savo žurnale vis dar atrodo sveikas. Tai įprasta priežastis, kodėl ši diagnostika įstringa.

Užsirašykite tris faktus apie srautą, kurį testuojate, prieš pradėdami. Sąsajos, maršruto ir vertimo taisyklės pakanka rezultatui numatyti, ir būtent numatymas daro netikėtumą informatyvų. Jei vieno iš trijų negalite užpildyti, ta spraga yra tikrasis radinys.

Sekite vieną binding request keliu

STUN binding request prašo serverio pranešti stebėtą šaltinio transporto adresą. Atsakymas aprašo kelią, kuriuo ėjo užklausa, o ne sąsajų kliento kompiuteryje sąrašą. Dvi užklausos dviem keliais sąžiningai praneš du skirtingus adresus.

Path takenSource the reflector seesWhat it means
Tunnel to a public exit that translatesThe exit's public addressThe reflector learns nothing about the LAN
Tunnel to a private reflector, translated to the tunnel address, no later translationThat tunnel addressAn internal identifier is disclosed to that reflector
Excluded flow over the ordinary WANThe WAN addressThe tunnel was not used at all

Skaitai šią lentelę kaip sąlygų rinkinį, o ne kaip tiekėjų meniu. Vidurinė eilutė reikalauja, kad privatus atšvaitas būtų pasiekiamas pagal paties tunelio maršrutizavimą ir peer politiką; tai konfigūracijos faktas, kurį galite patikrinti, o ne kažkas, ką implikuoja paskyros lygis. Apatinė eilutė paprastai yra svarbi politikai, nes tas srautas turėjo likti tunelyje. Tarp jų yra įprastas atvejis, kai išėjimas verčia, o atšvaitas mato tik išėjimą.

Mazgo kandidatai ir serverio-refleksyvūs kandidatai kyla iš skirtingų mechanizmų, todėl kandidatų sąrašas nepasako, kuriuo keliu medija iš tikrųjų naudojosi. Skaitykite pasirinktą porą, o ne rinkimo žurnalą, kai norite sužinoti, kur nuėjo sesija.

Kuo maršrutizatoriaus tunelio adresas nėra

Maršrutizatoriui priskirtas tunelio adresas priklauso maršrutizatoriaus sąsajai. Naršyklė LAN mazge turi savo sąsajų adresus ir nemato maršrutizatoriaus tunelio sąsajos tiesiogiai. Jei su abiem elgiamasi kaip su keičiamais, gaunami užtikrinti neteisingi atsakymai apie tai, ką gali sužinoti tinklalapis.

Persiuntimas yra tai, kas juos sujungia. Užklausa pereina maršrutizatorių kaip maršrutizuotas srautas, o jos šaltinis yra tai, ką sukūrė maršrutizavimas ir vertimas.

Jei tunelio kelias išsaugo LAN šaltinį, privatus atšvaitas gali sužinoti tą LAN adresą, o tai yra tikras atskleidimas ir skiriasi nuo tunelio adreso. Jei kelias verčia į tunelio adresą, atšvaitas vietoj to sužino tunelio adresą. Abi baigtys suderinamos su ta pačia naršykle tame pačiame mazge, todėl stebėjimą reikia sieti su konkrečiu srautu. Paklauskite branduolio, kokį šaltinį jis naudotų, prieš kaltindami programą.

Atskleidimas prieš apėjimą: du radiniai, du taisymai

Atspindėtas tunelio adresas atskleidžia vidinį identifikatorių keliu, kurį leidote. Užklausa tiesiai per WAN apeina kelią, kurį norėjote reikalauti. Pirmasis yra informacijos klausimas, antrasis – vykdymo klausimas, ir jie taisomi skirtingose vietose. Suplakus juos į vieną žodį gaunamas taisymas, kuris nesprendžia nė vieno.

WebRTC padaro tai labiau matoma nepadarydamas to klaidingu, nes kandidato surinkimas nėra tas pats, kas jo pasirinkimas.

ip route get 203.0.113.7 from 192.0.2.25
ip rule show

Paleiskite maršruto užklausą kiekvienam leidžiamam atšvaito adresui su šaltiniu, kuris, jūsų nuomone, neša šį srautą, tada paleiskite ją dar kartą pašalintiems diapazonams, kad pamatytumėte, ką pasirenka atsarginis variantas. Palyginkite du atsakymus su politika, kurią užsirašėte. Kai jie skiriasi taip, kaip neketinote, radote taisymo tašką net neturėdami aiškinti naršyklės kandidatų sąrašo.

Susiję straipsniai