Rakendus on liidesega seotud? Selle VPN-teekond ei ole vaikimisi
Pistiku sidumine seadme, lähteaadressi või nimeruumiga muudab, milline marsruut kehtib. Testige rakenduse enda ühendust, mitte brauseri IP-kontrolli.
Üks rakendus masinas väljub VPN-i kaudu ja teine mitte, ning mõlemad kasutajad vannuvad, et ei muutnud midagi. Erinevus on sageli rakenduse enda sidumisotsus: seadmega seotud pistik, enne ühendust valitud lähteaadress või nimeruum, millel on oma marsruutimistabel. Igaüks neist muudab, milline tee kehtib, ja ükski ei ilmne brauseri üldises IP-kontrollis.
Kolm erinevat sidumist, kolm erinevat mõju
Seadmega sidumine ja lähteaadressiga sidumine on seotud toimingud, kuid tagajärjed erinevad. Seadmesidumine võib sundida liikluse väljuma ühest liidesest ja mööda minna selle pistiku tavalisest marsruudiotsingust. Lähteaadressi sidumine läbib siiski marsruudivaliku, kuid valitud lähtekoht võib vastata poliitikareeglile ja saata paketi mujale. See eristus tundub akadeemiline, kuni reegel marsruudib lähtekoha järgi. Siis otsustab see kõik.
Võrgu nimeruum on kolmas juhtum. Sellel on oma liidesed ja marsruutimistabel, seega sees olev rakendus ei saa hosti vaikimisi seadest üldse mõjutatud. Kui kõiki kolme kohelda ühe ja sama asjana, tekivad enesekindlad selgitused, mis ei pea esimesele testile vastu.
Tehke kindlaks, mida rakendus tegelikult seadistab
Lugege rakenduse võrgukonfiguratsiooni või dokumenteeritud käitumist enne marsruutide puudutamist. Kui see pakub liidese valikut, lähteaadressi välja või nimeruumi valikut, on see seade esimene, mida uurida. Kui mitte, võib sidumine olla sisemine ja nähtav ainult jälgimise või rakenduse enda diagnostika kaudu.
Linuxis on pistikuvalikutel nagu SO_BINDTODEVICE dokumenteeritud ulatus ja õiguste nõuded ning mitteprivilegeeritud protsess ei pruugi neid üldse seadistada saada. See piirang on kasulik vihje: kui valikut ei saa rakendada, ei ole rakendus tõenäoliselt erinevuse allikas.
Poliitikamarsruutimine loeb lähtekohta
Kui poliitikamarsruutimine on seadistatud, võib reegel valida tabeli paketi lähtekoha järgi. Seega võib lähteaadressi siduv pistik järgida reeglit, mida vaikimisi tee üldse ei puuduta, isegi kui ühtegi liidest pole otseselt nimetatud.
Korrake otsingut sama aadressiperekonna, lähtekoha ja nimeruumiga, mida rakendus kasutab. Üldine marsruudiotsing hosti nimeruumi kestast vastab teisele küsimusele ja see lahknevus on kõige tavalisem põhjus, miks töötav marsruut paistab katki.
Jagatud tunnel ja abiprotsessid
Rakendusepõhine jagatud tunnel lisab veel ühe kihi. Klient võib sobitada rakenduse paketti või protsessi ning abiline, kes avab oma pistiku, on eraldi subjekt. Käivitaja ja selle taustateenus võivad sama nähtava nime all luua erinevaid ühendusi.
Kontrollige, kas jagatud tunneli reegel katab protsessi, mis tegelikult ühendub. Kui rakendus seob end konkreetse liidesega ja VPN-klient sobitab paketi järgi, võivad kaks otsust lahkneda, ilma et kumbki oleks vale.
Testige rakenduse enda teekonda
Pärast iga muudatust käivitage rakendusest uus päring. Brauser, mis näitab soovitud väljundit, ei ole samaväärne tõend teise liidesega seotud programmi kohta ning vahemällu salvestatud ühendused võivad vana teed kasutada veel kaua pärast seade muutmist. Sulgege vana sessioon enne uue reegli hindamist. Muidu mõõdab test minevikku.
Linuxi pistikuviide dokumenteerib SO_BINDTODEVICE ja selle nõuded. Lugege esmalt rakenduse enda konfiguratsiooni, korrake otsingut samas kontekstis ja alles siis otsustage, kas muuta tuleb marsruuti või sidumist.