Tugipiletid tulevad, öeldes, et rakendus näitab üht aadressi, samal ajal kui server logis teise, ja siis küsitakse, kumb neist valetab. Kumbki ei valeta; need on kaks vaatlust kahest erinevast asjast. Liidesele seotud aadress, soklile seotud aadress ja kaugteenuse nähtud lähteaadress vastavad kolmele eraldi küsimusele. VPN lisab telefonile võrgukonteksti ja ei suru neid kolme kokku üheks seadmeüleseks numbriks. Lugege piletilt väljade nimesid enne, kui loete aadresse.

Mida pilet tavaliselt kirjeldab

Kujutage ette Wi-Fi-võrgus olevat telefoni, mille tunnel on üleval. Wi-Fi-liidesel on kohtvõrgu aadress, tunneliliidesel on määratud sisemine aadress, ja tunnelist väljuv päring jõuab avalikku teenusesse sellest allikast, mis tee peal toimuva teisenduse üle elab. Rakendus, mis prindib sisemise aadressi, ja server, mis logib teisendatud allika, raporteerivad mõlemad täpselt, ja need kaks väärtust ei lange kunagi kokku.

Kolm vaatlust erinevad selle poolest, mida need tõestada suudavad, mitte ainult selle poolest, mida need kirjeldavad.

ObservationWhat it describesWhat it cannot prove
An address on a local interfaceOne configured attachment: Wi-Fi, cellular or a tunnelThe source a remote site receives
A socket's local endpointThe binding used by that one connectionThe address after translation further along
The peer address at a serviceWhat arrived at that observation pointAny other interface on the phone

Hoidke seda tabelit selle koodi kõrval, mis need väärtused piletile täidab, sest suurem osa segadusest on siin veergude segiajamine, mitte võrgu tõrge.

Millele sokli kutse vastata suudab ja millele mitte

API tasandil teatab getsockname kohaliku lõpp-punkti, mis on praegu seotud kindla sokliga. Ühendatud sokli puhul on see allikas, mille tuum selle ühenduse jaoks valis, mis on juba täpsem kui ükskõik milline liideste loend. See ei ole avaliku aadressi otsing, ja selle kutsumine sidumata soklil ei ütle teile peaaegu midagi. Mida iganes see tagastab, võidakse hiljem teel ümber kirjutada, seega on teenuse enda vaatlus ainus autoriteetne allikas selle kohta, mida teenus vastu võttis.

Apple'i platvormidel on liideste poolel eraldi pind: tunneli seaded loetlevad tunneliliidesele määratud aadressid. Nende lugemine ütleb teile, kuidas tunnel konfigureeriti, ja ei ütle, millist teed konkreetne päring läks, sest marsruutimine ja rakendusepõhised reeglid otsustavad selle iga ühenduse kohta.

Jagatud tunnel teeb vahe nähtavaks. Üks päring võib tunnelist väljuda, samal ajal kui järgmine, mis on suunatud teise sihtkohta või aadressiperekonda, ei välju, seega kaks tulemust samast rakendusest sekundite vahega võivad olla ausad ja erinevad.

Valige vaatlus, mis küsimusega sobib

Valige teadlikult, selle asemel et kõike mõõta. Selle jaoks, mida backend näeb, logige allikas backendis, ja kui ees on pöördpuhverserver, lugege kliendi aadress edasisaatmise päisest, mille teie juurutus tegelikult seadistab, mitte millestki, mille klient saatis.

Kas tunnel on konfigureeritud, selle kohta lugege liidest. Kas selle rakenduse liiklus seda kasutas, selle kohta saatke liiklust sellest rakendusest sihtkohta, mida kontrollite, ja võrrelge allikat mõlemas otsas.

Rakendusepõhised reeglid väärivad omaette lauset. Brauseri tulemus on tõend selle brauseri kohta, ja hallatav rakendusepõhine tunnel võib panna kaks rakendust samas telefonis samal hetkel erinevatele teedele. Leviku kontrollimine tähendab liikluse saatmist kõnealusest rakendusest, kõnealuses aadressiperekonnas.

Liidese nimed ei ole detektor

Ärge kasutage liidese nime ka VPN-i kontrollina. Nimed ei ole avalik leping, ja telefonis võib olla mitu kinnituskohta, samal ajal kui ainult üks neist kannab teie päringut.

Nimetage väli vaatluse järgi, mida see hoiab. local_interface_address, socket_local_endpoint ja service_observed_source on kohmakad ja ühemõttelised, ja ühemõttelisus on see, mida soovite, kui väärtus jõuab nädal hiljem tugipiletile. Üks veerg nimega device IP kogub kõik kolm ja siis usaldatakse seda nii, nagu oleks see üks.

Hoidke identiteet aadressiveerust väljas

Jagatud VPN-väljapääs ei ole kasutajaidentiteet, ja privaatne aadress ei ole juurdepääsutõend. Mõlemad kirjeldavad teed, mitte inimest, ja kummagi kohtlemine autentimisena muudab marsruutimisõnnetuse volitamisotsuseks.

Kui keegi küsib, milline aadress telefonil on, on kasulik vastus küsimus selle kohta, milline ühendus ja milline vaatleja. getsockname määratlust tasub keskmise juhtumi jaoks tsiteerida, sest see lahendab sokli küsimuse, teesklamata, et lahendab ülejäänud kaks.

Seejärel kirjutage üles, millist kolmest teie toode tegelikult näitama peab, ja kustutage ülejäänud kaks liidesest.

Seotud artiklid