Olyan támogatási jegyek érkeznek, amelyek szerint az alkalmazás egy címet mutat, miközben a kiszolgáló egy másikat naplózott, majd megkérdezik, melyik hazudik. Egyik sem; ez két megfigyelés két különböző dologról. Egy interfészhez kötött cím, egy sockethez kötött cím és egy távoli szolgáltatás által látott forráscím három külön kérdésre válaszol. A VPN hálózati kontextust ad a telefonnak, és nem olvasztja egyetlen eszközszintű számmá ezt a hármat. A címek olvasása előtt olvassa el a jegy mezőneveit.

Mit ír le a jegy általában

Képzeljen el egy telefont Wi-Fi-n, felépített alagúttal. A Wi-Fi interfész egy LAN-címet tart, az alagút interfész egy kiosztott belső címet tart, és az alagúton kilépő kérés egy nyilvános szolgáltatáshoz érkezik arról a forrásról, amely túlél bármilyen útközbeni fordítást. Az alkalmazás, amely a belső címet nyomtatja, és a kiszolgáló, amely a lefordított forrást naplózza, mindkettő pontosan jelent, és ez a két érték soha nem fog egyezni.

A három megfigyelés abban különbözik, mit tud bizonyítani, nem csak abban, mit ír le.

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

Tartsa azt a táblázatot annak a kódnak a közelében, amely ezeket az értékeket jegybe tölti, mert az itteni zavar nagy része oszlopkeveredés, nem hálózati hiba.

Mire tud és mire nem tud válaszolni egy socket-hívás

API-szinten a getsockname a helyi végpontot jelenti, amely éppen egy adott sockethez van kötve. Csatlakozott socketnél ez az a forrás, amelyet a kernel ehhez a kapcsolathoz választott, ami már konkrétabb minden interfészlistánál. Ez nem nyilvános címkeresés, és egy nem kötött socketen hívni szinte semmit nem mond. Amit visszaad, az később még átírható az útvonalon, ezért csak a szolgáltatás saját megfigyelése mérvadó arról, mit kapott a szolgáltatás.

Apple platformokon az interfészek oldalának külön felülete van: az alagút beállításai felsorolják az alagút interfészének kiosztott címeket. Ezek olvasása megmondja, hogyan konfigurálták az alagutat, és nem mondja meg, melyik útvonalat járta egy adott kérés, mert az útválasztás és az alkalmazásonkénti szabályok döntenek erről minden kapcsolatnál.

Az osztott alagút láthatóvá teszi a különbséget. Az egyik kérés kiléphet az alagúton, míg a következő, más célra vagy más címcsaládra irányuló, nem, így ugyanazon alkalmazás két eredménye másodpercek különbséggel is lehet őszinte és eltérő.

Válassza azt a megfigyelést, amelyik illik a kérdéshez

Válasszon szándékosan, ahelyett hogy mindent mérne. Arra, amit a backend lát, naplózza a forrást a backendnél, és ahol reverse proxy áll elöl, a kliens címét abból a továbbító fejlécből olvassa, amelyet az üzembe helyezés valóban beállít, és ne abból, amit a kliens küldött.

Hogy az alagút konfigurálva van-e, azt az interfészből olvassa ki. Hogy ennek az alkalmazásnak a forgalma használta-e, azt úgy tudja meg, hogy forgalmat küld erről az alkalmazásról egy általa vezérelt célra, és összehasonlítja a forrást mindkét végén.

Az alkalmazásonkénti szabályok saját mondatot érdemelnek. A böngésző eredménye arról a böngészőről szóló bizonyíték, és egy kezelt, alkalmazásonkénti alagút két alkalmazást ugyanazon a telefonon különböző útvonalakra tehet ugyanabban a pillanatban. A lefedettség ellenőrzése azt jelenti, hogy a szóban forgó alkalmazásról küld forgalmat, a szóban forgó címcsaládban.

Az interfésznevek nem detektorok

Interface-nevet se használjon VPN-ellenőrzésként. A nevek nem nyilvános szerződések, és egy telefonon több csatlakozás is lehet, miközben csak az egyik viszi a kérését.

A mezőt arról a megfigyelésről nevezze el, amelyet tart. A local_interface_address, socket_local_endpoint és service_observed_source esetlenek és egyértelműek, és az egyértelműség az, amit akkor akar, amikor az érték egy héttel később támogatási jegybe kerül. Egyetlen device IP nevű oszlop gyűjti mindhármat, és utána úgy bíznak benne, mintha egy lenne.

Tartsa az identitást a címoszlopon kívül

A megosztott VPN-kijárat nem felhasználói identitás, és a magáncím nem hozzáférési hitelesítő adat. Mindkettő utat ír le, nem személyt, és bármelyiket hitelesítésként kezelni forgalomirányítási balesetet tesz engedélyezési döntéssé.

Amikor valaki azt kérdezi, milyen címe van a telefonnak, a hasznos válasz egy kérdés arról, melyik kapcsolat és melyik megfigyelő. A getsockname definíciója érdemes idézni a középső esetre, mert eldönti a socket kérdését anélkül, hogy úgy tenne, mintha a másik kettőt eldöntené.

Utána írja le, hogy a három közül melyiket kell valóban megjelenítenie a termékének, és törölje a másik kettőt a felületről.

Kapcsolódó cikkek